Skip to content

Commit

Permalink
update cLoops2 pre for .pair input
Browse files Browse the repository at this point in the history
  • Loading branch information
YaqiangCao committed Oct 16, 2023
1 parent bfaf4a2 commit de6cc73
Show file tree
Hide file tree
Showing 11 changed files with 1,687 additions and 1,638 deletions.
20 changes: 15 additions & 5 deletions build/lib/cLoops2/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
2020-07-30: DiffLoop object to washU, UCSC, Juicebox added.
2020-11-08: improving parseBedpe, to get the unique PETs from each txt file by parallel.
2021-08-20: adding parsePairs, pairs defined as https://pairtools.readthedocs.io/en/latest/formats.html#pairs
2023-10-16: updated dparsePairs in case there is no 8th columns
"""

__author__ = "CAO Yaqiang"
Expand Down Expand Up @@ -191,11 +192,20 @@ def parsePairs(fs, fout, logger, cs=[], cut=0,mcut=-1, cis=False,cpu=1):
if line.startswith("#"):
continue
line = line.split("\n")[0].split("\t")
if line[7] not in [ "UU", "MR","MU","RU","UR" ]:
continue
try:
pet = Pair(line)
except:
if len(line) == 8:
if line[7] not in [ "UU", "MR","MU","RU","UR" ]:
continue
try:
pet = Pair(line)
except:
continue
elif len(line) == 7:
try:
pet = Pair(line)
except:
continue
else:
print("Missing information for record as .pair file: %s"%"\t".join(line))
continue
#filtering unwanted PETs in chroms
if len(cs) > 0 and (not (pet.chromA in cs and pet.chromB in cs)):
Expand Down
5 changes: 3 additions & 2 deletions build/scripts-3.6/tracPre2.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/home/caoy7/anaconda2/envs/cLoops2/bin/python
#--coding:utf-8--
"""
tracPre.py
tracPre2.py
Pre-processing code for Hi-Trac data, implemented with cLoops2, from fastq to bedpe files and qc report.
2020-02-27: finished and well tested.
2020-06-30: add linker filter, new stat, and changing mapping to end-to-end
Expand Down Expand Up @@ -357,10 +357,11 @@ def main():
Batch converting from bam to bedpe.
"""
#prepare everything
global logger
op = help()
date = time.strftime(' %Y-%m-%d', time.localtime(time.time()))
logger = getLogger(fn=op.output + "/" + date.strip() + "_" + os.path.basename(__file__) + ".log")

op = help()
for t in ["bowtie2", "samtools", "bamToBed"]:
if not isTool(t):
logger.error("%s not exits! Please install through conda." % t)
Expand Down
3,253 changes: 1,627 additions & 1,626 deletions cLoops2.egg-info/PKG-INFO

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions cLoops2.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,111 +44,137 @@ cLoops2.egg-info/dependency_links.txt
cLoops2.egg-info/entry_points.txt
cLoops2.egg-info/requires.txt
cLoops2.egg-info/top_level.txt
cLoops2/__pycache__/__init__.cpython-310.pyc
cLoops2/__pycache__/__init__.cpython-35.pyc
cLoops2/__pycache__/__init__.cpython-36.pyc
cLoops2/__pycache__/__init__.cpython-37.pyc
cLoops2/__pycache__/__init__.cpython-38.pyc
cLoops2/__pycache__/__init__.cpython-39.pyc
cLoops2/__pycache__/agg.cpython-310.pyc
cLoops2/__pycache__/agg.cpython-36.pyc
cLoops2/__pycache__/agg.cpython-37.pyc
cLoops2/__pycache__/agg.cpython-38.pyc
cLoops2/__pycache__/agg.cpython-39.pyc
cLoops2/__pycache__/analyzeLoops.cpython-36.pyc
cLoops2/__pycache__/analyzeLoops.cpython-37.pyc
cLoops2/__pycache__/ano.cpython-310.pyc
cLoops2/__pycache__/ano.cpython-36.pyc
cLoops2/__pycache__/ano.cpython-37.pyc
cLoops2/__pycache__/ano.cpython-38.pyc
cLoops2/__pycache__/ano.cpython-39.pyc
cLoops2/__pycache__/blockDBSCAN.cpython-310.pyc
cLoops2/__pycache__/blockDBSCAN.cpython-36.pyc
cLoops2/__pycache__/blockDBSCAN.cpython-37.pyc
cLoops2/__pycache__/blockDBSCAN.cpython-38.pyc
cLoops2/__pycache__/blockDBSCAN.cpython-39.pyc
cLoops2/__pycache__/cDBSCAN2.cpython-36.pyc
cLoops2/__pycache__/cLoops2.cpython-310.pyc
cLoops2/__pycache__/cLoops2.cpython-35.pyc
cLoops2/__pycache__/cLoops2.cpython-36.pyc
cLoops2/__pycache__/cLoops2.cpython-37.pyc
cLoops2/__pycache__/cLoops2.cpython-38.pyc
cLoops2/__pycache__/cLoops2.cpython-39.pyc
cLoops2/__pycache__/callCisLoops.cpython-310.pyc
cLoops2/__pycache__/callCisLoops.cpython-36.pyc
cLoops2/__pycache__/callCisLoops.cpython-37.pyc
cLoops2/__pycache__/callCisLoops.cpython-38.pyc
cLoops2/__pycache__/callCisLoops.cpython-39.pyc
cLoops2/__pycache__/callDiffLoops.cpython-310.pyc
cLoops2/__pycache__/callDiffLoops.cpython-36.pyc
cLoops2/__pycache__/callDiffLoops.cpython-37.pyc
cLoops2/__pycache__/callDiffLoops.cpython-38.pyc
cLoops2/__pycache__/callDiffLoops.cpython-39.pyc
cLoops2/__pycache__/callDomains.cpython-310.pyc
cLoops2/__pycache__/callDomains.cpython-36.pyc
cLoops2/__pycache__/callDomains.cpython-37.pyc
cLoops2/__pycache__/callDomains.cpython-38.pyc
cLoops2/__pycache__/callDomains.cpython-39.pyc
cLoops2/__pycache__/callPeaks.cpython-310.pyc
cLoops2/__pycache__/callPeaks.cpython-36.pyc
cLoops2/__pycache__/callPeaks.cpython-37.pyc
cLoops2/__pycache__/callPeaks.cpython-38.pyc
cLoops2/__pycache__/callPeaks.cpython-39.pyc
cLoops2/__pycache__/callTransLoops.cpython-310.pyc
cLoops2/__pycache__/callTransLoops.cpython-36.pyc
cLoops2/__pycache__/callTransLoops.cpython-37.pyc
cLoops2/__pycache__/callTransLoops.cpython-38.pyc
cLoops2/__pycache__/callTransLoops.cpython-39.pyc
cLoops2/__pycache__/cmat.cpython-310.pyc
cLoops2/__pycache__/cmat.cpython-36.pyc
cLoops2/__pycache__/cmat.cpython-37.pyc
cLoops2/__pycache__/cmat.cpython-38.pyc
cLoops2/__pycache__/cmat.cpython-39.pyc
cLoops2/__pycache__/ds.cpython-310.pyc
cLoops2/__pycache__/ds.cpython-36.pyc
cLoops2/__pycache__/ds.cpython-37.pyc
cLoops2/__pycache__/ds.cpython-38.pyc
cLoops2/__pycache__/ds.cpython-39.pyc
cLoops2/__pycache__/dump.cpython-310.pyc
cLoops2/__pycache__/dump.cpython-36.pyc
cLoops2/__pycache__/dump.cpython-37.pyc
cLoops2/__pycache__/dump.cpython-38.pyc
cLoops2/__pycache__/dump.cpython-39.pyc
cLoops2/__pycache__/est.cpython-310.pyc
cLoops2/__pycache__/est.cpython-36.pyc
cLoops2/__pycache__/est.cpython-37.pyc
cLoops2/__pycache__/est.cpython-38.pyc
cLoops2/__pycache__/est.cpython-39.pyc
cLoops2/__pycache__/estDis.cpython-310.pyc
cLoops2/__pycache__/estDis.cpython-36.pyc
cLoops2/__pycache__/estDis.cpython-37.pyc
cLoops2/__pycache__/estDis.cpython-38.pyc
cLoops2/__pycache__/estDis.cpython-39.pyc
cLoops2/__pycache__/estSim.cpython-310.pyc
cLoops2/__pycache__/estSim.cpython-36.pyc
cLoops2/__pycache__/estSim.cpython-37.pyc
cLoops2/__pycache__/estSim.cpython-38.pyc
cLoops2/__pycache__/estSim.cpython-39.pyc
cLoops2/__pycache__/filter.cpython-310.pyc
cLoops2/__pycache__/filter.cpython-36.pyc
cLoops2/__pycache__/filter.cpython-37.pyc
cLoops2/__pycache__/filter.cpython-38.pyc
cLoops2/__pycache__/filter.cpython-39.pyc
cLoops2/__pycache__/findTargets.cpython-310.pyc
cLoops2/__pycache__/findTargets.cpython-36.pyc
cLoops2/__pycache__/findTargets.cpython-37.pyc
cLoops2/__pycache__/findTargets.cpython-38.pyc
cLoops2/__pycache__/findTargets.cpython-39.pyc
cLoops2/__pycache__/geo.cpython-310.pyc
cLoops2/__pycache__/geo.cpython-36.pyc
cLoops2/__pycache__/geo.cpython-37.pyc
cLoops2/__pycache__/geo.cpython-38.pyc
cLoops2/__pycache__/geo.cpython-39.pyc
cLoops2/__pycache__/io.cpython-310.pyc
cLoops2/__pycache__/io.cpython-36.pyc
cLoops2/__pycache__/io.cpython-37.pyc
cLoops2/__pycache__/io.cpython-38.pyc
cLoops2/__pycache__/io.cpython-39.pyc
cLoops2/__pycache__/montage.cpython-310.pyc
cLoops2/__pycache__/montage.cpython-36.pyc
cLoops2/__pycache__/montage.cpython-37.pyc
cLoops2/__pycache__/montage.cpython-38.pyc
cLoops2/__pycache__/montage.cpython-39.pyc
cLoops2/__pycache__/plot.cpython-310.pyc
cLoops2/__pycache__/plot.cpython-36.pyc
cLoops2/__pycache__/plot.cpython-37.pyc
cLoops2/__pycache__/plot.cpython-38.pyc
cLoops2/__pycache__/plot.cpython-39.pyc
cLoops2/__pycache__/qc.cpython-310.pyc
cLoops2/__pycache__/qc.cpython-36.pyc
cLoops2/__pycache__/qc.cpython-37.pyc
cLoops2/__pycache__/qc.cpython-38.pyc
cLoops2/__pycache__/qc.cpython-39.pyc
cLoops2/__pycache__/quant.cpython-310.pyc
cLoops2/__pycache__/quant.cpython-36.pyc
cLoops2/__pycache__/quant.cpython-37.pyc
cLoops2/__pycache__/quant.cpython-38.pyc
cLoops2/__pycache__/quant.cpython-39.pyc
cLoops2/__pycache__/settings.cpython-310.pyc
cLoops2/__pycache__/settings.cpython-36.pyc
cLoops2/__pycache__/settings.cpython-37.pyc
cLoops2/__pycache__/settings.cpython-38.pyc
cLoops2/__pycache__/settings.cpython-39.pyc
cLoops2/__pycache__/utils.cpython-310.pyc
cLoops2/__pycache__/utils.cpython-36.pyc
cLoops2/__pycache__/utils.cpython-37.pyc
cLoops2/__pycache__/utils.cpython-38.pyc
Expand Down
1 change: 1 addition & 0 deletions cLoops2.egg-info/entry_points.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[console_scripts]
cLoops2 = cLoops2.cLoops2:main

Binary file modified cLoops2/__pycache__/cLoops2.cpython-36.pyc
Binary file not shown.
Binary file modified cLoops2/__pycache__/ds.cpython-36.pyc
Binary file not shown.
Binary file modified cLoops2/__pycache__/io.cpython-36.pyc
Binary file not shown.
20 changes: 15 additions & 5 deletions cLoops2/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
2020-07-30: DiffLoop object to washU, UCSC, Juicebox added.
2020-11-08: improving parseBedpe, to get the unique PETs from each txt file by parallel.
2021-08-20: adding parsePairs, pairs defined as https://pairtools.readthedocs.io/en/latest/formats.html#pairs
2023-10-16: updated dparsePairs in case there is no 8th columns
"""

__author__ = "CAO Yaqiang"
Expand Down Expand Up @@ -191,11 +192,20 @@ def parsePairs(fs, fout, logger, cs=[], cut=0,mcut=-1, cis=False,cpu=1):
if line.startswith("#"):
continue
line = line.split("\n")[0].split("\t")
if line[7] not in [ "UU", "MR","MU","RU","UR" ]:
continue
try:
pet = Pair(line)
except:
if len(line) == 8:
if line[7] not in [ "UU", "MR","MU","RU","UR" ]:
continue
try:
pet = Pair(line)
except:
continue
elif len(line) == 7:
try:
pet = Pair(line)
except:
continue
else:
print("Missing information for record as .pair file: %s"%"\t".join(line))
continue
#filtering unwanted PETs in chroms
if len(cs) > 0 and (not (pet.chromA in cs and pet.chromB in cs)):
Expand Down
Binary file modified dist/cLoops2-0.0.5-py3.6.egg
Binary file not shown.
Binary file added scripts/.tracPre2.py.swp
Binary file not shown.

0 comments on commit de6cc73

Please sign in to comment.