GithubHelp home page GithubHelp logo

xiaotaowang / hiclift Goto Github PK

View Code? Open in Web Editor NEW
63.0 3.0 4.0 31.22 MB

A fast and efficient tool for converting chromatin interaction data between genome assemblies

License: Other

Python 100.00%
3d-genome hi-c liftover

hiclift's Introduction

HiCLift

With the continuous effort to improve the quality of human reference genome and the generation of more and more personal genomes, the conversion of genomic coordinates between genome assemblies is critical in many integrative and comparative studies. While tools have been developed for such task for linear genome signals such as ChIP-Seq, no tool exists to convert genome assemblies for chromatin interaction data, despite the importance of three-dimensional (3D) genome organization in gene regulation and disease. Here, we present HiCLift (previously known as pairLiftOver), a fast and efficient tool that can convert the genomic coordinates of chromatin contacts such as Hi-C and Micro-C from one assembly to another, including the latest T2T genome. Comparing with the strategy of directly re-mapping raw reads to a different genome, HiCLift runs on average 42 times faster (hours vs. days), while outputs nearly identical contact matrices. More importantly, as HiCLift does not need to re-map the raw reads, it can directly convert human patient sample data, where the raw sequencing reads are sometimes hard to acquire or not available.

Citation

Wang, X., Yue, F. HiCLift: A fast and efficient tool for converting chromatin interaction data between genome assemblies. Bioinformatics. 2023.

Installation

HiCLift and all the dependencies can be installed through either mamba or pip:

$ conda config --append channels defaults
$ conda config --append channels bioconda
$ conda config --append channels conda-forge
$ mamba create -n HiCLift cooler pairtools kerneltree cxx-compiler
$ mamba activate HiCLift
$ pip install HiCLift hic-straw

Overview

The inputs to HiCLift include two parts. The first part is a file containing the chromatin contacts information. This file can be either a pairs file (4DN pairs or HiC-Pro allValidPairs) with each row representing a pair of interacting genomic loci in base-pair resolution, or a matrix file (.cool or .hic), which stores interaction frequencies between genomic intervals of fixed size. The second part is a UCSC chain file, which describes pairwise alignment that allows gaps in both assemblies simultaneously. Internally, HiCLift represents a chain file as IntervalTrees, with one tree per chromosome, to efficiently search for a specific genomic position in a chain file and locate the matched position in the target genome. The converted chromatin contacts will be reported in either a sorted 4DN pairs file, which can be directly used to generate contact matrix in various formats, or a matrix file in .cool or .hic formats.

./images/fig1.svg.png

Usage

Open a terminal, type HiCLift -h for help information.

Here is an example command which uses a 4DN pairs file in hg19 coordinates as input, and outputs an mcool file with chromatin contacts in hg38 coordinates:

$ HiCLift --input test.hg19.pairs.gz --input-format pairs --out-pre test-hg38 \
--output-format cool --out-chromsizes hg38.chrom.sizes --in-assembly hg19 --out-assembly hg38 \
--logFile HiCLift.log

HiCLift can also serve as a tool to perform a pure data format conversion. For example, the following command transforms a contact matrix from the .cool format to the .hic format, without the coordinate liftover. Note that the values of --in-assembly and --out-assembly need to be the same to turn on this function:

$ HiCLift --input Rao2014-K562-MboI-allreps-filtered.5kb.cool --input-format cooler \
--out-pre K562-format-conversion-test --output-format hic --out-chromsizes hg19.chrom.sizes \
--in-assembly hg19 --out-assembly hg19 --memory 40G

Performance

Using large Hi-C datasets of different species as a benchmark, we show that compared with the strategy directly re-mapping raw reads to a different genome, HiCLift runs on average 42 times faster, while outputs nearly identical contact matrices.

./images/accuracy.png

hiclift's People

Contributors

xiaotaowang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hiclift's Issues

custom chromosome

Hi, your tool is very nice and works smoothly using standard genomes (I'm converting juicer hic files from hg19 to hg38).
But I have custom experiments with an extra chromosome, which clearly must not be changed during h19 to hg38 conversion.
I have an error because I guess the software is not able to manage this.
Is there a workaround to this? Maybe with a small modification of the code?
Ivan

No reads mapped and juicer error

Hi,

I'd like to leftover a validPairs file from hg38 to hg19.

My input file looks like:

NS500488:301:H5MVMBGX2:2:13305:24468:17278 1 10174 + 22 50808109 - NA NA NA 39 32
NS500488:301:H5MVMBGX2:3:12606:10597:6993 1 17495 + 6 329447 + NA NA NA 48 60
NS500488:301:H5MVMBGX2:1:23306:13232:13066 1 121087 - 7 3651149 + NA NA NA 44 60

The chromosome sizes file looks like:
chr1 249250621
chr2 243199373
chr3 198022430

My command is:

pairLiftOver --input MES_validPairs.txt.gz --input-format hic-pro --out-pre MES_lifted --output-format hic --out-chromsizes hg19.chrom.sizes --in-assembly hg38 --out-assembly hg19 --memory 40G

But I get the error:

numexpr.utils INFO @ 08/23/22 19:38:55: Note: detected 96 virtual cores but NumExpr set to maximum of 64, check "NUMEXPR_MAX_THREADS" environment variable.
numexpr.utils INFO @ 08/23/22 19:38:55: Note: NumExpr detected 96 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
numexpr.utils INFO @ 08/23/22 19:38:56: NumExpr defaulting to 8 threads.
pairLiftOver.utilities INFO @ 08/23/22 19:38:56: Writing headers ...
pairLiftOver.utilities INFO @ 08/23/22 19:39:00: Converting, sorting, and compressing ...
pairLiftOver.utilities INFO @ 08/23/22 19:43:45: 0 / 87,365,210 pairs were uniquely mapped to hg19
pairLiftOver.utilities INFO @ 08/23/22 19:43:45: Generate contact matrices using juicer at 2500000,1000000,500000,250000,100000,50000,25000,10000,5000 ...
WARN [2022-08-23T19:43:46,919] [Globals.java:138] [main] Development mode is enabled
Not including fragment map
Start preprocess
Writing header
Writing body
java.lang.RuntimeException: No reads in Hi-C contact matrices. This could be because the MAPQ filter is set too high (-q) or because all reads map to the same fragment.
at juicebox.tools.utils.original.Preprocessor$MatrixZoomDataPP.mergeAndWriteBlocks(Preprocessor.java:1762)
at juicebox.tools.utils.original.Preprocessor$MatrixZoomDataPP.access$000(Preprocessor.java:1531)
at juicebox.tools.utils.original.Preprocessor.writeMatrix(Preprocessor.java:944)
at juicebox.tools.utils.original.Preprocessor.writeBody(Preprocessor.java:661)
at juicebox.tools.utils.original.Preprocessor.preprocess(Preprocessor.java:419)
at juicebox.tools.clt.old.PreProcessing.run(PreProcessing.java:122)
at juicebox.tools.HiCTools.main(HiCTools.java:96)
Traceback (most recent call last):
File "/hpc/packages/minerva-centos7/py_packages/3.7/bin/pairLiftOver", line 137, in
run()
File "/hpc/packages/minerva-centos7/py_packages/3.7/bin/pairLiftOver", line 133, in run
high_res = args.high_res
File "/hpc/packages/minerva-centos7/py_packages/3.7/lib/python3.7/site-packages/pairLiftOver/utilities.py", line 174, in liftover
subprocess.check_call(' '.join(command), shell=True)
File "/hpc/packages/minerva-centos7/python/3.7.3/lib/python3.7/subprocess.py", line 347, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'java -Xmx40g -jar /hpc/packages/minerva-centos7/py_packages/3.7/lib/python3.7/site-packages/pairLiftOver/data/juicer_tools_1.11.09_jcuda.0.8.jar pre -r 2500000,1000000,500000,250000,100000,50000,25000,10000,5000 /hiC/.pairliftover/MES_lifted.pairs.gz MES_lifted.hic hg19.chrom.sizes' returned non-zero exit status 56.

Any idea what is causing it and how to solve it?
Thank you,

AttributeError: module 'numpy' has no attribute 'object'

Hi Dr. Wang,
I tried to convert a hg19 .hic into hg38 .hic by command line below and faced an error:

pairLiftOver --input /RPE-1_HiC/GSE71831_RPE1-WT.hic --input-format juicer --out-pre test-hg38 --output-format hic --out-chromsizes hg38.chrom.sizes --in-assembly hg19 --out-assembly hg38 --logFile pairLiftOver.log --memory 14G

Here is the log:

# ARGUMENT LIST:
# Input path = /RPE-1_HiC/GSE71831_RPE1-WT.hic
# Input format = juicer
# Output prefix = test-hg38
# Output format = hic
# Chromosome Sizes of the output assembly = hg38.chrom.sizes
# Generate contact maps at 11 resolutions = False
# Input assembly = hg19
# Output assembly = hg38
# Chain file = None
# Temporary Dir = .pairliftover
# Allocated memory = 14G
# Number of Processes = 8
# Log file name = /RPE-1_HiC/pairLiftOver.log
/home/txpn/anaconda3/envs/pairliftover/lib/python3.9/site-packages/cooler/util.py:690: FutureWarning: In the future `np.object` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.
  columns, dtype=None, index_columns=None, index_names=None, default_dtype=np.object
Traceback (most recent call last):
  File "/home/txpn/anaconda3/envs/pairliftover/bin/pairLiftOver", line 137, in <module>
    run()
  File "/home/txpn/anaconda3/envs/pairliftover/bin/pairLiftOver", line 101, in run
    from pairLiftOver.utilities import liftover
  File "/home/txpn/anaconda3/envs/pairliftover/lib/python3.9/site-packages/pairLiftOver/utilities.py", line 1, in <module>
    import subprocess, sys, os, io, logging, cooler, pairLiftOver
  File "/home/txpn/anaconda3/envs/pairliftover/lib/python3.9/site-packages/cooler/__init__.py", line 14, in <module>
    from .api import Cooler, annotate
  File "/home/txpn/anaconda3/envs/pairliftover/lib/python3.9/site-packages/cooler/api.py", line 22, in <module>
    from .util import parse_cooler_uri, parse_region, open_hdf5, closing_hdf5
  File "/home/txpn/anaconda3/envs/pairliftover/lib/python3.9/site-packages/cooler/util.py", line 690, in <module>
    columns, dtype=None, index_columns=None, index_names=None, default_dtype=np.object
  File "/home/txpn/anaconda3/envs/pairliftover/lib/python3.9/site-packages/numpy/__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'object'

Thanks in advance for developing the tool and looking forward for more discussion.

Sincerely,
Timothy

bgzip: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Dear Developer,

Thanks for providing us with such a brilliant tool. But when I run HiCLift with the command:
HiCLift --input ENCFF004YZQ.hic --input-format juicer --out-pre ENCFF004YZQ --output-format cool --out-chromsizes hg19.chrom.sizes --in-assembly hg38 --out-assembly hg19 --logFile HiCLift.log --memory 500G --nproc 50 --high-res
It gives me the error:
bgzip: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
I actually have libcrypto.so.1.0.0 under the folder /usr/bin/lib/x86_64-linux-gnu, could you please help me to solve the problem? Do I need change or specify the path where HiCLift search for libcrypto?

Another problem is that when I run HiCLift with 50 cores I get the message:
Note: NumExpr detected 64 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
It seems that the program cannot run in 50 cores due to an unspecified argument NUMEXPR_MAX_THREADS, unfortunately, I have no idea how to specify it.

Thank you so much for your patience and kind help!

Best

Output as .cool format instead of .mcool

Hi,

Thank you very much for the development of this tool. I am facing an issue regarding the output format.

Here is the cmd line which I used:

HiCLift --input $file.cool --input-format cooler --out-pre test --output-format cool --out-chromsizes mm10_2.sizes --in-assembly mm9 --out-assembly mm10

I would like to know how could you got a .cool format instead of .mcool.

And also, I am not familiar with the argument --high-res, would you please develop a little bit?!

Thank you for your help and time,

Best regards,

Mathilde

ValueError: invalid literal for int() with base 10: 'chrX'

Hi, XiaoTao I am doing the validPairs liftOver by this wonderful tool. However, I encounterd an issue when I liftOver from rheMac10 which is the reference genome of rhesus Monkey to Hg38 genome. Here I paste my code up.

pairLiftOver --input merge.allValidPairs.gz --input-format pairs \
 --out-pre rheMac10tohg38_merge --output-format pairs --out-chromsizes hg38.chrom.sizes \
 --in-assembly rheMac10 --out-assembly hg38 \
 --chain-file rheMac10ToHg38.over.chain.gz --memory 40G --nproc 20 

The error it thrown is

root                      INFO    @ 11/29/22 10:17:38: 
# ARGUMENT LIST:
# Input path = merge.allValidPairs.gz
# Input format = pairs
# Output prefix = rheMac10tohg38_H3K27ac_merge
# Output format = pairs
# Chromosome Sizes of the output assembly = hg38.chrom.sizes
# Generate contact maps at 11 resolutions = False
# Input assembly = rheMac10
# Output assembly = hg38
# Chain file = rheMac10ToHg38.over.chain.gz
# Temporary Dir = .pairliftover
# Allocated memory = 40G
# Number of Processes = 20
# Log file name = pairLiftOver.log
pairLiftOver.utilities    INFO    @ 11/29/22 10:17:54: Writing headers ...
pairLiftOver.utilities    INFO    @ 11/29/22 10:18:44: Converting, sorting, and compressing ...
Traceback (most recent call last):
  File "/gpfs/home/anaconda3/envs/pairliftover/bin/pairLiftOver", line 137, in <module>
    run()
  File "/gpfs/home/anaconda3/envs/pairliftover/bin/pairLiftOver", line 123, in run
    liftover(
  File "/gpfs/home/anaconda3/envs/pairliftover/lib/python3.9/site-packages/pairLiftOver/utilities.py", line 187, in liftover
    total_count, mapped_count = _pairs_write(stdin_wrapper,
  File "/gpfs/home/anaconda3/envs/pairliftover/lib/python3.9/site-packages/pairLiftOver/io.py", line 246, in _pairs_write
    p1_, p2_ = int(p1_), int(p2_)
ValueError: invalid literal for int() with base 10: 'chrX'

And the log file

# ARGUMENT LIST:
# Input path = merge.allValidPairs.gz
# Input format = pairs
# Output prefix = rheMac10tohg38_merge
# Output format = pairs
# Chromosome Sizes of the output assembly = hg38.chrom.sizes
# Generate contact maps at 11 resolutions = False
# Input assembly = rheMac10
# Output assembly = hg38
# Chain file = rheMac10ToHg38.over.chain.gz
# Temporary Dir = .pairliftover
# Allocated memory = 40G
# Number of Processes = 20
# Log file name = pairLiftOver.log
pairLiftOver.utilities    INFO    @ 11/29/22 10:17:54: Writing headers ...
pairLiftOver.utilities    INFO    @ 11/29/22 10:18:44: Converting, sorting, and compressing ...

Really need help! Looking forward for your reply sincerely.

应用到其他基因组

王老师您好:
有没有可能讲pairliftover工具应用到其他基因组上,让这个工具变成一个更通用的工具,而不仅仅是应用在hg19上?
祝好!
鹏飞

Only used for cool format to pairs format transformation

Hi, I have implemented the transformation from cool format to pairs format using the following command.

for i in LW
do 
for res in 5000 10000 40000
do
pairLiftOver --input ${i}.balance.mcool::/resolutions/${res}  --input-format cooler  --out-pre ${i}_${res} --output-format pairs --out-chromsizes ~/22.genome/susScr11_xy/pig11.1_from_star_chrom.sizes --chain-file  pig_chain.txt --in-assembly ~/22.genome/susScr11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa --out-assembly ~/22.genome/susScr11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa --logFile pairLiftOver.log
done
done

with a fake --chain-file pig_chain.txt ,like this.

head pig_chain.txt 
chain	274330532	chr1	274330532	+	0	274330532	chr1	274330532	+	0	274330532	1
274330532
chain	151935994	chr2	151935994	+	0	151935994	chr2	151935994	+	0	151935994	2
151935994
chain	132848913	chr3	132848913	+	0	132848913	chr3	132848913	+	0	132848913	3
132848913
chain	130910915	chr4	130910915	+	0	130910915	chr4	130910915	+	0	130910915	4
130910915
chain	104526007	chr5	104526007	+	0	104526007	chr5	104526007	+	0	104526007	5
104526007
...

and the pairLiftOver.log

root                      INFO    @ 02/22/22 19:15:28: 
# ARGUMENT LIST:
# Input path = LW.balance.mcool::/resolutions/40000
# Input format = cooler
# Output prefix = LW
# Output format = pairs
# Chromosome Sizes of the output assembly = /public/home/luzhang/22.genome/susScr11_xy/pig11.1_from_star_chrom.sizes
# Generate contact maps at 11 resolutions = False
# Input assembly = /public/home/luzhang/22.genome/susScr11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa
# Output assembly = /public/home/luzhang/22.genome/susScr11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa
# Chain file = pig_chain.txt
# Temporary Dir = .pairliftover
# Allocated memory = 8G
# Number of Processes = 8
# Log file name = pairLiftOver.log
pairLiftOver.utilities    INFO    @ 02/22/22 19:15:40: Writing headers ...
pairLiftOver.utilities    INFO    @ 02/22/22 19:15:40: Converting, sorting, and compressing ...
pairLiftOver.utilities    INFO    @ 02/22/22 19:48:17: 124,244,699 / 124,268,605 pairs were uniquely mapped to /public/home/luzhang/22.genome/susScr
11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa
pairLiftOver.utilities    INFO    @ 02/22/22 19:48:17: Done
root                      INFO    @ 02/22/22 19:55:54: 

the result like this

## pairs format v1.0.0
#shape: upper triangle
#genome_assembly: /public/home/luzhang/22.genome/susScr11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa
#chromsize: chr1 274330532
#chromsize: chr2 151935994
#chromsize: chr3 132848913
#chromsize: chr4 130910915
#chromsize: chr5 104526007
#chromsize: chr6 170843587
#chromsize: chr7 121844099
#chromsize: chr8 138966237
#chromsize: chr9 139512083
#chromsize: chr10 69359453
#chromsize: chr11 79169978
#chromsize: chr12 61602749
#chromsize: chr13 208334590
#chromsize: chr14 141755446
#chromsize: chr15 140412725
#chromsize: chr16 79944280
#chromsize: chr17 63494081
#chromsize: chr18 55982971
#chromsize: chrX 125939595
#chromsize: chrY 43547828
#chromsize: chrMT 16613
#columns: readID chrom1 pos1 chrom2 pos2 strand1 strand2
#pairLiftOver: coordinates transformed from /public/home/luzhang/22.genome/susScr11_xy/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa
.       chr1    3       chr1    104689810       .       .
.       chr1    8       chr1    524475  .       .
.       chr1    14      chr1    3198    .       .
.       chr1    34      chr1    64317   .       .
.       chr1    59      chr1    16490   .       .
.       chr1    90      chr1    6702    .       .
.       chr1    92      chr1    23338   .       .
.       chr1    106     chr1    3909613 .       .
.       chr1    125     chr1    8836    .       .
.       chr1    151     chr1    12468   .       .
...

Am I right? would you consider adding a simple function to make it work?

How to draw a beautiful HIC map

Hello, Professor Wang, thank you for providing so much useful software. I tried a lot of software, such as fanc,hicexplorer, but did not draw the hic map I wanted. I was so lucky to see this beautiful HIC map in you. But I didn't find out how you drew it, whether I missed what it was.
How do you draw a beautiful HIC map? Which script is used

fig1 svg
p4jkei4a

LiftOver between different species?

Dear Professor Wang,

I would like to express my appreciation for your invaluable contribution in developing the tool, which has significantly facilitated my research endeavors. While utilizing the tool, I have encountered a particular concern pertaining to the liftOver process. Specifically, I have observed that the liftOver operation exhibits a notably high success rate when performed between different assemblies within the same species. However, when applying liftOver to genomic data from distinct species, such as the comparison between Human (hs1) and Mouse (mm10), the success rate appears to decrease substantially.

In light of this observation, I am inquiring whether there are strategies or modifications that can be implemented to enhance the success rate of liftOver, particularly when it is employed for cross-species genomic comparisons. One potential suggestion is the introduction of a parameter, such as "Minimum ratio of bases that must remap," with a user-configurable value, e.g., 0.1. This parameter could potentially optimize the liftOver process when working across species boundaries.

I eagerly await your response and insights on this matter.

Sincerely,

Gemma

File inter.hic cannot be opened

Hello! I'm attempting to convert the format from Hi-C (Juicer output) to Cooler using HiCLift:
HiCLift --input inter_30.hic --input-format juicer --out-pre CN-10 --output-format cooler --out-chromsizes sizes.genome --in-assembly hg38 --out-assembly hg38 --memory 40G .
However, I encountered the following error: File doesn't have the given chr_chr map 137_270
File inter_30.hic cannot be opened for reading

This are the chromosome names in my inter.hic file:
NC_000001.11
NT_187361.1 ,
NT_187362.1
NT_187363.1

How can I solve this ?

File doesn't have the given chr_chr map

Hi.

When I use the following command to convert a hg19 .hic file to a hg38 .cool file:

HiCLift --input $INPUT --input-format juicer \
--out-pre $OUT_PREFIX --output-format cool \
--out-chromsizes $REF \
--in-assembly hg19 \
--out-assembly hg38 \
--chain-file $CHAIN

I got the following screen output:

File doesn't have the given chr_chr map 1_25
File doesn't have the given chr_chr map 2_25
File doesn't have the given chr_chr map 3_25
File doesn't have the given chr_chr map 4_25

What's the meaning of File doesn't have the given chr_chr map?
Does it mean there is something wrong with my input file?

Thanks

HiCLift from cool to hic - invalid literal for int() error

Dear XiaoTao,
I am trying to convert from cool to hic.
Command used : HiCLift --input hiC/GSE116862_50k_sum.cool --input-format cooler --out-pre GSE116862_sum --output-format hic --in-assembly hg19 --out-assembly hg19 --out-chromsizes hiC/hg19.chrom.sizes

But I encounter the following error:

root INFO @ 02/11/24 21:12:12:

ARGUMENT LIST:

Input path = hiC/GSE116862_50k_sum.cool

Input format = cooler

Output prefix = GSE116862_sum

Output format = hic

Chromosome Sizes of the output assembly = hiC/hg19.chrom.sizes

Generate contact maps at 11 resolutions = False

Input assembly = hg19

Output assembly = hg19

Chain file = None

Temporary Dir = .HiCLift

Allocated memory = 8G

Number of Processes = 8

Log file name = HiCLift.log

root INFO @ 02/11/24 21:12:13: Trying to perform a pure format conversion without liftover ...
HiCLift.utilities INFO @ 02/11/24 21:12:13: Writing headers ...
HiCLift.utilities INFO @ 02/11/24 21:12:13: Dumping contact pairs from hiC/GSE116862_50k_sum.cool ...
Traceback (most recent call last):
File "/work/anaconda3/envs/HiCLift/bin/HiCLift", line 137, in
run()
File "/work/anaconda3/envs/HiCLift/bin/HiCLift", line 110, in run
liftover(
File "/work/anaconda3/envs/HiCLift/lib/python3.9/site-packages/HiCLift/utilities.py", line 178, in liftover
total_count, mapped_count = pixel_to_reads(stdin_wrapper,
File "/work/anaconda3/envs/HiCLift/lib/python3.9/site-packages/HiCLift/io.py", line 190, in pixel_to_reads
s1
, s2
, e1_, e2_, v = int(s1_), int(s2_), int(e1_), int(e2_), int(v)
ValueError: invalid literal for int() with base 10: '212.724'

Thanks for the tool.

Error when running pairLiftOver

Hi, when I run pairLiftOver I keep on getting the error: TypeError: expected str, bytes or os.PathLike object, not NoneType

The code I am running is as follows:
pairLiftOver --input <path to .hic file> --input-format juicer --output-format hic --high-res --out-chromsizes < path to chrom sizes file> --in-assembly hg38 --out-assembly hg19 --chain-file <path to chain file>

Do you have any idea why I might be getting this error? Thank you!

subprocess.CalledProcessError: Command 'pairix /home/zjin/neat1/13.TAD_boundary_pile_up/mcool/.HiCLift/c2c12.pairs.gz' returned non-zero exit status 127.

Hi!
I am facing an issuea bout the output format.
when i use the pairs ,it's ok.
image
but when i use the hic ,It shows an error like subprocess.CalledProcessError: Command 'pairix /home/zjin/neat1/13.TAD_boundary_pile_up/mcool/.pairliftover/c2c12.pairs.gz' returned non-zero exit status 127
(peakachu) HiCLift --input test.mm10.100kb.cool --input-format cooler --out-pre c2c12 --output-format hic --out-chromsizes ./new_mm10_gsize_NoMTY --in-assembly mm21 --out-assembly mm21 --memory 40G
root INFO @ 05/05/23 14:41:29:

ARGUMENT LIST:

Input path = test.mm10.100kb.cool

Input format = cooler

Output prefix = c2c12

Output format = hic

Chromosome Sizes of the output assembly = ./new_mm10_gsize_NoMTY

Generate contact maps at 11 resolutions = False

Input assembly = mm21

Output assembly = mm21

Chain file = None

Temporary Dir = .HiCLift

Allocated memory = 40G

Number of Processes = 8

Log file name = HiCLift.log

root INFO @ 05/05/23 14:41:39: Trying to perform a pure format conversion without liftover ...
HiCLift.utilities INFO @ 05/05/23 14:41:39: Writing headers ...
HiCLift.utilities INFO @ 05/05/23 14:41:39: Dumping contact pairs from test.mm10.100kb.cool ...
/bin/sh: pairix: command not found
Traceback (most recent call last):
File "/home/zjin/anaconda3/envs/peakachu/bin/HiCLift", line 137, in
run()
File "/home/zjin/anaconda3/envs/peakachu/bin/HiCLift", line 110, in run
liftover(
File "/home/zjin/anaconda3/envs/peakachu/lib/python3.8/site-packages/HiCLift/utilities.py", line 213, in liftover
subprocess.check_call(' '.join(command), shell=True)
File "/home/zjin/anaconda3/envs/peakachu/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'pairix /home/zjin/neat1/13.TAD_boundary_pile_up/mcool/.HiCLift/c2c12.pairs.gz' returned non-zero exit status 127.
How should I solve this problem?Thank you for your help and time,

error occured when install hic-straw

Hi,
for some reason, I have to reinstall pairLiftOver. And meet the error like this.
conda create -n tmp_pairliftover cooler pairtools kerneltree

conda activate tmp_pairliftover

pip install pairLiftOver hic-straw

Collecting pairLiftOver
  Using cached pairLiftOver-0.2.1-py3-none-any.whl (27.8 MB)
Collecting hic-straw
  Using cached hic-straw-1.3.1.tar.gz (18 kB)
  Preparing metadata (setup.py) ... done
Collecting pybind11>=2.4
  Using cached pybind11-2.10.1-py3-none-any.whl (216 kB)
Building wheels for collected packages: hic-straw
  Building wheel for hic-straw (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [151 lines of output]
      /public/home/luzhang/miniconda3/envs/tmp_pairliftover/lib/python3.9/site-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
        warnings.warn(
      running bdist_wheel
      running build
      running build_ext
      creating tmp
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c /tmp/tmptd2jpyrt.cpp -o tmp/tmptd2jpyrt.o -std=c++14
      gcc: error: unrecognized command line option ‘-std=c++14’
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c /tmp/tmpa_6i3pmp.cpp -o tmp/tmpa_6i3pmp.o -std=c++11
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c /tmp/tmpr0wktmip.cpp -o tmp/tmpr0wktmip.o -fvisibility=hidden
      building 'hicstraw' extension
      creating build
      creating build/temp.linux-x86_64-cpython-39
      creating build/temp.linux-x86_64-cpython-39/src
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/tmp/pip-install-9vcbitof/hic-straw_448ceb0f986045b7bca6d29f1fc5545a/.eggs/pybind11-2.10.1-py3.9.egg/pybind11/include -I/tmp/pip-install-9vcbitof/hic-straw_448ceb0f986045b7bca6d29f1fc5545a/.eggs/pybind11-2.10.1-py3.9.egg/pybind11/include -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c src/straw.cpp -o build/temp.linux-x86_64-cpython-39/src/straw.o -DVERSION_INFO=\"1.3.1\" -std=c++11 -fvisibility=hidden
      src/straw.cpp: In function ‘bool readFooterURL(CURL*, int64_t, int32_t, int32_t, int32_t, const string&, const string&, const string&, int32_t, int64_t&, indexEntry&, indexEntry&, std::vector<double>&)’:
      src/straw.cpp:464:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int64_t nBytes = readInt64FromFile(fin);
                       ^
      src/straw.cpp:467:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int32_t nBytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp:481:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, bufferSize0);
               ^
      In file included from src/straw.cpp:38:0:
      src/straw.h:60:8: note: ‘memstream& memstream::operator=(memstream&&)’ is implicitly deleted because the default definition would be ill-formed:
       struct memstream : virtual membuf, std::istream {
              ^
      src/straw.h:60:8: error: use of deleted function ‘membuf& membuf::operator=(membuf&&)’
      src/straw.h:54:8: note: ‘membuf& membuf::operator=(membuf&&)’ is implicitly deleted because the default definition would be ill-formed:
       struct membuf : std::streambuf {
              ^
      In file included from /usr/include/c++/4.8.2/ios:43:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/streambuf:810:7: error: ‘std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’ is private
             operator=(const basic_streambuf& __sb)
             ^
      In file included from src/straw.cpp:38:0:
      src/straw.h:54:8: error: within this context
       struct membuf : std::streambuf {
              ^
      src/straw.h:60:8: error: use of deleted function ‘std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)’
       struct memstream : virtual membuf, std::istream {
              ^
      In file included from /usr/include/c++/4.8.2/iostream:40:0,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/istream:58:11: note: ‘std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
           class basic_istream : virtual public basic_ios<_CharT, _Traits>
                 ^
      /usr/include/c++/4.8.2/istream:58:11: error: use of deleted function ‘std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)’
      In file included from /usr/include/c++/4.8.2/ios:44:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/bits/basic_ios.h:66:11: note: ‘std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)’ is implicitly deleted because the default definition would be ill-formed:
           class basic_ios : public ios_base
                 ^
      In file included from /usr/include/c++/4.8.2/ios:42:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/bits/ios_base.h:789:5: error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private
           operator=(const ios_base&);
           ^
      In file included from /usr/include/c++/4.8.2/ios:44:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/bits/basic_ios.h:66:11: error: within this context
           class basic_ios : public ios_base
                 ^
      src/straw.cpp:489:17: warning: unused variable ‘sizeinbytes’ [-Wunused-variable]
               int32_t sizeinbytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp:509:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, 100);
               ^
      src/straw.cpp:517:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 1000);
                   ^
      src/straw.cpp:542:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 100);
                   ^
      src/straw.cpp:559:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, 100);
               ^
      src/straw.cpp:565:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 1000);
                   ^
      src/straw.cpp:590:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 100);
                   ^
      src/straw.cpp:606:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, 100);
               ^
      src/straw.cpp:615:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, bufferSize2);
               ^
      src/straw.cpp: In function ‘bool readFooter(std::istream&, int64_t, int32_t, int32_t, int32_t, const string&, const string&, const string&, int32_t, int64_t&, indexEntry&, indexEntry&, std::vector<double>&)’:
      src/straw.cpp:663:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int64_t nBytes = readInt64FromFile(fin);
                       ^
      src/straw.cpp:665:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int32_t nBytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp:678:17: warning: unused variable ‘sizeinbytes’ [-Wunused-variable]
               int32_t sizeinbytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp: In function ‘std::map<int, indexEntry> readMatrixHttp(CURL*, int64_t, const string&, int32_t, float&, int32_t&, int32_t&)’:
      src/straw.cpp:881:13: warning: unused variable ‘c1’ [-Wunused-variable]
           int32_t c1 = readInt32FromFile(bufin);
                   ^
      src/straw.cpp:882:13: warning: unused variable ‘c2’ [-Wunused-variable]
           int32_t c2 = readInt32FromFile(bufin);
                   ^
      src/straw.cpp: In function ‘std::map<int, indexEntry> readMatrix(std::istream&, int64_t, const string&, int32_t, float&, int32_t&, int32_t&)’:
      src/straw.cpp:909:13: warning: unused variable ‘c1’ [-Wunused-variable]
           int32_t c1 = readInt32FromFile(fin);
                   ^
      src/straw.cpp:910:13: warning: unused variable ‘c2’ [-Wunused-variable]
           int32_t c2 = readInt32FromFile(fin);
                   ^
      src/straw.cpp: At global scope:
      src/straw.cpp:1304:37: warning: ‘getNormVector’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
           auto getNormVector(int32_t index) {
                                           ^
      src/straw.cpp:1316:28: warning: ‘getExpectedValues’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
           auto getExpectedValues() {
                                  ^
      src/straw.cpp:1381:79: warning: ‘getRecordsAsMatrix’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
           auto getRecordsAsMatrix(int64_t gx0, int64_t gx1, int64_t gy0, int64_t gy1) {
                                                                                     ^
      src/straw.cpp: In member function ‘std::vector<chromosome> HiCFile::getChromosomes()’:
      src/straw.cpp:1536:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
               for(int32_t i = 0; i < chromosomeMap.size(); i++){
                                                         ^
      src/straw.cpp: At global scope:
      src/straw.cpp:1597:78: warning: ‘strawAsMatrix’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
                          const string &chr2loc, const string &unit, int32_t binsize) {
                                                                                    ^
      src/straw.cpp: In function ‘int64_t getNumRecordsForFile(const string&, int32_t, bool)’:
      src/straw.cpp:1631:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
           for(int32_t i = 0; i < chromosomes.size(); i++){
                                                   ^
      src/straw.cpp:1633:63: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
               for(int32_t j = i + indexOffset; j < chromosomes.size(); j++){
                                                                     ^
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for hic-straw
  Running setup.py clean for hic-straw
Failed to build hic-straw
Installing collected packages: pairLiftOver, pybind11, hic-straw
  Running setup.py install for hic-straw ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for hic-straw did not run successfully.
  │ exit code: 1
  ╰─> [150 lines of output]
      running install
      /public/home/luzhang/miniconda3/envs/tmp_pairliftover/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_ext
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c /tmp/tmp8e9sw1w8.cpp -o tmp/tmp8e9sw1w8.o -std=c++14
      gcc: error: unrecognized command line option ‘-std=c++14’
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c /tmp/tmpqf5u9the.cpp -o tmp/tmpqf5u9the.o -std=c++11
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c /tmp/tmp_lwlscij.cpp -o tmp/tmp_lwlscij.o -fvisibility=hidden
      building 'hicstraw' extension
      creating build
      creating build/temp.linux-x86_64-cpython-39
      creating build/temp.linux-x86_64-cpython-39/src
      gcc -pthread -B /public/home/luzhang/miniconda3/envs/tmp_pairliftover/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -O2 -isystem /public/home/luzhang/miniconda3/envs/tmp_pairliftover/include -fPIC -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/lib/python3.9/site-packages/pybind11/include -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/lib/python3.9/site-packages/pybind11/include -I/public/home/luzhang/miniconda3/envs/tmp_pairliftover/include/python3.9 -c src/straw.cpp -o build/temp.linux-x86_64-cpython-39/src/straw.o -DVERSION_INFO=\"1.3.1\" -std=c++11 -fvisibility=hidden
      src/straw.cpp: In function ‘bool readFooterURL(CURL*, int64_t, int32_t, int32_t, int32_t, const string&, const string&, const string&, int32_t, int64_t&, indexEntry&, indexEntry&, std::vector<double>&)’:
      src/straw.cpp:464:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int64_t nBytes = readInt64FromFile(fin);
                       ^
      src/straw.cpp:467:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int32_t nBytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp:481:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, bufferSize0);
               ^
      In file included from src/straw.cpp:38:0:
      src/straw.h:60:8: note: ‘memstream& memstream::operator=(memstream&&)’ is implicitly deleted because the default definition would be ill-formed:
       struct memstream : virtual membuf, std::istream {
              ^
      src/straw.h:60:8: error: use of deleted function ‘membuf& membuf::operator=(membuf&&)’
      src/straw.h:54:8: note: ‘membuf& membuf::operator=(membuf&&)’ is implicitly deleted because the default definition would be ill-formed:
       struct membuf : std::streambuf {
              ^
      In file included from /usr/include/c++/4.8.2/ios:43:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/streambuf:810:7: error: ‘std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’ is private
             operator=(const basic_streambuf& __sb)
             ^
      In file included from src/straw.cpp:38:0:
      src/straw.h:54:8: error: within this context
       struct membuf : std::streambuf {
              ^
      src/straw.h:60:8: error: use of deleted function ‘std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)’
       struct memstream : virtual membuf, std::istream {
              ^
      In file included from /usr/include/c++/4.8.2/iostream:40:0,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/istream:58:11: note: ‘std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
           class basic_istream : virtual public basic_ios<_CharT, _Traits>
                 ^
      /usr/include/c++/4.8.2/istream:58:11: error: use of deleted function ‘std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)’
      In file included from /usr/include/c++/4.8.2/ios:44:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/bits/basic_ios.h:66:11: note: ‘std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)’ is implicitly deleted because the default definition would be ill-formed:
           class basic_ios : public ios_base
                 ^
      In file included from /usr/include/c++/4.8.2/ios:42:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/bits/ios_base.h:789:5: error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private
           operator=(const ios_base&);
           ^
      In file included from /usr/include/c++/4.8.2/ios:44:0,
                       from /usr/include/c++/4.8.2/ostream:38,
                       from /usr/include/c++/4.8.2/iostream:39,
                       from src/straw.cpp:25:
      /usr/include/c++/4.8.2/bits/basic_ios.h:66:11: error: within this context
           class basic_ios : public ios_base
                 ^
      src/straw.cpp:489:17: warning: unused variable ‘sizeinbytes’ [-Wunused-variable]
               int32_t sizeinbytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp:509:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, 100);
               ^
      src/straw.cpp:517:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 1000);
                   ^
      src/straw.cpp:542:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 100);
                   ^
      src/straw.cpp:559:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, 100);
               ^
      src/straw.cpp:565:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 1000);
                   ^
      src/straw.cpp:590:13: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
               fin = memstream(buffer, 100);
                   ^
      src/straw.cpp:606:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, 100);
               ^
      src/straw.cpp:615:9: error: use of deleted function ‘memstream& memstream::operator=(memstream&&)’
           fin = memstream(buffer, bufferSize2);
               ^
      src/straw.cpp: In function ‘bool readFooter(std::istream&, int64_t, int32_t, int32_t, int32_t, const string&, const string&, const string&, int32_t, int64_t&, indexEntry&, indexEntry&, std::vector<double>&)’:
      src/straw.cpp:663:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int64_t nBytes = readInt64FromFile(fin);
                       ^
      src/straw.cpp:665:17: warning: unused variable ‘nBytes’ [-Wunused-variable]
               int32_t nBytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp:678:17: warning: unused variable ‘sizeinbytes’ [-Wunused-variable]
               int32_t sizeinbytes = readInt32FromFile(fin);
                       ^
      src/straw.cpp: In function ‘std::map<int, indexEntry> readMatrixHttp(CURL*, int64_t, const string&, int32_t, float&, int32_t&, int32_t&)’:
      src/straw.cpp:881:13: warning: unused variable ‘c1’ [-Wunused-variable]
           int32_t c1 = readInt32FromFile(bufin);
                   ^
      src/straw.cpp:882:13: warning: unused variable ‘c2’ [-Wunused-variable]
           int32_t c2 = readInt32FromFile(bufin);
                   ^
      src/straw.cpp: In function ‘std::map<int, indexEntry> readMatrix(std::istream&, int64_t, const string&, int32_t, float&, int32_t&, int32_t&)’:
      src/straw.cpp:909:13: warning: unused variable ‘c1’ [-Wunused-variable]
           int32_t c1 = readInt32FromFile(fin);
                   ^
      src/straw.cpp:910:13: warning: unused variable ‘c2’ [-Wunused-variable]
           int32_t c2 = readInt32FromFile(fin);
                   ^
      src/straw.cpp: At global scope:
      src/straw.cpp:1304:37: warning: ‘getNormVector’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
           auto getNormVector(int32_t index) {
                                           ^
      src/straw.cpp:1316:28: warning: ‘getExpectedValues’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
           auto getExpectedValues() {
                                  ^
      src/straw.cpp:1381:79: warning: ‘getRecordsAsMatrix’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
           auto getRecordsAsMatrix(int64_t gx0, int64_t gx1, int64_t gy0, int64_t gy1) {
                                                                                     ^
      src/straw.cpp: In member function ‘std::vector<chromosome> HiCFile::getChromosomes()’:
      src/straw.cpp:1536:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
               for(int32_t i = 0; i < chromosomeMap.size(); i++){
                                                         ^
      src/straw.cpp: At global scope:
      src/straw.cpp:1597:78: warning: ‘strawAsMatrix’ function uses ‘auto’ type specifier without trailing return type [enabled by default]
                          const string &chr2loc, const string &unit, int32_t binsize) {
                                                                                    ^
      src/straw.cpp: In function ‘int64_t getNumRecordsForFile(const string&, int32_t, bool)’:
      src/straw.cpp:1631:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
           for(int32_t i = 0; i < chromosomes.size(); i++){
                                                   ^
      src/straw.cpp:1633:63: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
               for(int32_t j = i + indexOffset; j < chromosomes.size(); j++){
                                                                     ^
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> hic-straw

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Python 3.9.13
pairliftover 0.2.1

Thanks for your help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.