Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
ea0f68b
Merge pull request #1356 from deeptools/develop
WardDeb Jan 20, 2025
b64cb66
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Jun 22, 2026
47f9fb1
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Jun 24, 2026
bcb6fce
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Jul 10, 2026
2e4aa6d
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Jul 17, 2026
bf414f1
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Jul 24, 2026
890bd26
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Jul 29, 2026
80b38fc
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
WardDeb Aug 5, 2026
1c79cb1
more edge cases
WardDeb Aug 5, 2026
46e66e1
ensure group boundaries in header are correct when regions are filtered
WardDeb Aug 6, 2026
b1f83bb
blacklist implementation for computematrix
WardDeb Aug 6, 2026
3043b1a
strip string designators from samplelabels
WardDeb Aug 6, 2026
08437ae
testfiles computematrix refpoint
WardDeb Aug 6, 2026
f7c52ad
metric aggregation increase precision
WardDeb Aug 6, 2026
de1e035
fix edgecases, formating, scale minor issues
WardDeb Aug 6, 2026
b93d1ac
finalize refpoint testing computematrix
WardDeb Aug 6, 2026
8a1626a
start mbs exhaustive testing
WardDeb Aug 6, 2026
c814996
comment out dead code
WardDeb Aug 6, 2026
de2ecd2
edgecase anchorpoints in exonmode
WardDeb Aug 7, 2026
6c796ec
default behavior in MBS python was sorting regions.
WardDeb Aug 9, 2026
eb5771f
scaleregions bugfix
WardDeb Aug 10, 2026
3b3ae1b
computematrix header scale regions in case of multiple regions - null
WardDeb Aug 10, 2026
fb02a0c
scale-regions bodylength filter satsub, drop total na row filter by d…
WardDeb Aug 10, 2026
1e08271
wip tests
WardDeb Aug 11, 2026
73e1311
floor bug scale-regions
WardDeb Aug 11, 2026
982e9d6
fix full nan in sorting
WardDeb Aug 11, 2026
e63182f
proper sum metric in paddedbins
WardDeb Aug 11, 2026
df8de95
and pad in cat ofcourse
WardDeb Aug 11, 2026
556854a
scale-regions testfiles full
WardDeb Aug 12, 2026
4c89f22
compiler warnings
WardDeb Aug 12, 2026
531a3d3
drop print mbs
WardDeb Aug 12, 2026
7cd6594
chromsizes consistency check over all files, not just first
WardDeb Aug 12, 2026
d52a29f
drop chunksize in mbs2
WardDeb Aug 12, 2026
0784149
fix --region in mbs BED
WardDeb Aug 12, 2026
02b6cef
sf output capital fix
WardDeb Aug 12, 2026
35b76fa
fix extend/center in mbs bed
WardDeb Aug 12, 2026
7660347
accomodate distance between bins
WardDeb Aug 12, 2026
2ec331c
mbs exhaustive testing done
WardDeb Aug 12, 2026
c1225e9
replicate extend/center in longer cases too
WardDeb Aug 12, 2026
c12bc09
Merge branch '4.0.0' into exhaustive_testing
WardDeb Aug 12, 2026
368a2b1
deal with unmapped offset/extend issue
WardDeb Aug 12, 2026
38f9efb
and replace actual planemo bw file
WardDeb Aug 12, 2026
28461e1
lock
WardDeb Aug 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified galaxy/wrapper/test-data/bamCoverage_result6.bw
Binary file not shown.
6,175 changes: 6,175 additions & 0 deletions pixi.lock

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions pydeeptools/deeptools/bamCoverage2.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,14 +143,12 @@ def main(args=None):
if not args.normalizeUsing:
args.normalizeUsing = 'None'
if not args.Offset:
# no offset is encoded as 0,0
args.Offset = [0, 0]
# in rust, no offset is encoded as 0,0
# in python code 1, -1 corresponds to no offset.
elif len(args.Offset) == 1:
# a single offset value is encoded as (value, 0); 0 is otherwise never
args.Offset = [args.Offset[0], 0]
else:
if args.Offset[1] == -1:
args.Offset[1] = 0
args.Offset = [args.Offset[0], args.Offset[1]]

if not args.extendReads:
Expand Down
3 changes: 2 additions & 1 deletion pydeeptools/deeptools/computeGCBias.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import time

from pathlib import Path
import multiprocessing
import numpy as np
import argparse
Expand Down Expand Up @@ -102,7 +103,7 @@ def getRequiredArgs():
help='BED file containing genomic regions for which '
'extra sampling is required because they are '
'underrepresented in the genome.',
type=parserCommon.readableFile,
type=Path,
metavar='BED file')

plot = parser.add_argument_group('Diagnostic plot options')
Expand Down
4 changes: 2 additions & 2 deletions pydeeptools/deeptools/computeMatrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -425,5 +425,5 @@ def main(args=None):
hm.save_matrix_values(args.outFileNameMatrix)

if args.outFileSortedRegions:
with open(args.outFileSortedRegions, 'w') as f:
hm.save_BED(f)
with open(args.outFileSortedRegions, "w") as fh:
hm.save_BED(fh)
7 changes: 5 additions & 2 deletions pydeeptools/deeptools/computeMatrix2.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,7 @@ def computeMatrixOptArgs(case=["scale-regions", "reference-point"][0]):
"-bl",
help="A BED file containing regions that should be excluded from all analyses. Currently this works by rejecting genomic chunks that happen to overlap an entry. Consequently, for BAM files, if a read partially overlaps a blacklisted region or a fragment spans over it, then the read/fragment might still be considered.",
metavar="BED file",
default='none',
required=False,
)

Expand Down Expand Up @@ -447,6 +448,8 @@ def process_args(args=None):
)
if not args.samplesLabel:
args.samplesLabel = []
else:
args.samplesLabel = [i.strip('"').strip("'") for i in args.samplesLabel]
if not args.sortUsingSamples:
args.sortUsingSamples = []

Expand All @@ -461,7 +464,6 @@ def main(args=None):

args = process_args(args)
signal.signal(signal.SIGINT, signal.SIG_DFL)

sorted_regions_file = args.outFileSortedRegions

r_computematrix(
Expand All @@ -476,7 +478,7 @@ def main(args=None):
args.regionBodyLength,
args.binSize,
args.missingDataAsZero,
args.keepExons, # --metagene or not.
args.keepExons,
args.transcriptID,
args.exonID,
args.transcript_id_designator,
Expand All @@ -485,6 +487,7 @@ def main(args=None):
args.skipZeros,
args.minThreshold,
args.maxThreshold,
args.blackListFileName,
args.averageTypeBins,
args.sortRegions,
args.sortUsing,
Expand Down
3 changes: 2 additions & 1 deletion pydeeptools/deeptools/correctGCBias.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import time
import subprocess
import sys
from pathlib import Path

import py2bit
import pysam
Expand Down Expand Up @@ -91,7 +92,7 @@ def getRequiredArgs():
'computeGCBias containing '
'the observed and expected read frequencies per GC-'
'content.',
type=parserCommon.readableFile,
type=Path,
metavar='FILE',
required=True)

Expand Down
9 changes: 0 additions & 9 deletions pydeeptools/deeptools/multiBamSummary2.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,15 +153,6 @@ def bamcorrelate_args(case="bins"):
"after removing the path and extension.",
)

optional.add_argument(
"--genomeChunkSize",
type=int,
default=None,
help="Manually specify the size of the genome provided to each processor. "
"The default value of None specifies that this is determined by read "
"density of the BAM file.",
)

if case == "bins":
optional.add_argument(
"--binSize",
Expand Down
4 changes: 2 additions & 2 deletions pydeeptools/deeptools/parserCommon.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os
from importlib.metadata import version
import multiprocessing

from pathlib import Path

def check_float_0_1(value):
v = float(value)
Expand Down Expand Up @@ -436,7 +436,7 @@ def heatmapperMatrixArgs(args=None):
required = parser.add_argument_group('Required arguments')
required.add_argument('--matrixFile', '-m',
help='Matrix file from the computeMatrix tool.',
type=readableFile,
type=Path,
)

required.add_argument('--outFileName', '-out', '-o',
Expand Down
4 changes: 2 additions & 2 deletions pydeeptools/deeptools/plotHeatmap.py
Original file line number Diff line number Diff line change
Expand Up @@ -701,8 +701,8 @@ def main(args=None):
hm.save_matrix(args.outFileNameMatrix)

if args.outFileSortedRegions:
with open(args.outFileSortedRegions, 'w') as f:
hm.save_BED(f)
with open(args.outFileSortedRegions, "w") as fh:
hm.save_BED(fh)

if not args.label_rotation:
label_rotation=45.0
Expand Down
12 changes: 6 additions & 6 deletions pydeeptools/deeptools/plotProfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from math import ceil
from deeptools import matplotlib_defaults
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from matplotlib.font_manager import FontProperties
from matplotlib import colors as pltcolors
import matplotlib.gridspec as gridspec

Expand Down Expand Up @@ -76,14 +76,14 @@ def process_args(args=None):
args.plotHeight = 0.5
elif args.plotHeight > 100:
args.plotHeight = 100

if not args.label_rotation:
args.label_rotation=45.0
else:
args.label_rotation= args.label_rotation

if args.ggplot:
plt.style.use('ggplot')
plt.style.use('ggplot')

return args

Expand Down Expand Up @@ -628,8 +628,8 @@ def main(args=None):
averagetype=args.averageType)

if args.outFileSortedRegions:
with open(args.outFileSortedRegions, 'w') as f:
hm.save_BED(f)
with open(args.outFileSortedRegions, "w") as fh:
hm.save_BED(fh)

prof = Profile(hm, args.outFileName,
plot_title=args.plotTitle,
Expand Down
Loading
Loading