Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
1edb0a4
colormapping module [cm.py] removed
Nov 27, 2024
18e9e7c
removed cm.py
Nov 27, 2024
1eb21b7
removed colormapping module [cm.py]
Nov 27, 2024
0381405
removed colormapping module [cm.py]
Nov 27, 2024
5de630e
removed colormapping module [cm.py]
Nov 27, 2024
c24e0ba
removed colormapping module [cm.py]
Nov 27, 2024
aff7e7a
removed colormapping module [cm.py]
Nov 27, 2024
a6a35b7
removed colormapping module [cm.py]
Nov 27, 2024
2f57f13
enabled color options to display all the colors
Nov 27, 2024
d59f85f
updating plotly and matplotplib
Jan 22, 2025
61d1f30
updating plotting (removed plotly and code clean-up)
Jan 22, 2025
7222691
Merge branch '4.0.0' of github.com:deeptools/deepTools into 4.0.0
Jan 31, 2025
121de42
cm.py removed
Jan 31, 2025
a9ea6bc
cm.py removal
Jan 31, 2025
fe4686e
deps update (remove plotly, upgrades)
Feb 26, 2025
0ff93d9
removing plotly
Feb 26, 2025
86ff1e1
adding new options, removing plotly
Feb 27, 2025
8eb30f5
adding debug steps
Feb 27, 2025
59fef08
updating PCA plotting
Feb 27, 2025
e977578
pca updates
Feb 28, 2025
371bf5c
removing plotly and updates on correlation plots
Feb 28, 2025
a63e449
updating plotting
Feb 28, 2025
dff9d80
updating scree plot
Mar 7, 2025
e6d28f1
Corrected visual aesthetics, removed the label extensions like .filte…
Feb 18, 2025
35ac8e2
updated heatmap, profile and enrichment plot
Mar 18, 2025
38c3d2c
changing deps version to minimal for python 3.9
Mar 20, 2025
752478d
removing plotly
Mar 21, 2025
215f06a
remove numpy ignore warnings
Mar 21, 2025
cbf3707
removing plotly, using ggplot style
Mar 21, 2025
48df9ec
updating test plot
Mar 21, 2025
05e597d
updating test plot
Mar 21, 2025
8adeaf0
modified the plot index: enabled for single sample
Mar 24, 2025
fa91875
modified the plot index: enabled for single sample
Mar 24, 2025
c34c70c
x lables: retained only sample names
Mar 24, 2025
62f9eb3
test: plotHeatmap, plotEnrichment, plotProfile
Mar 24, 2025
aff1435
Merge branch '4.0.0_viz' of github.com:deeptools/deepTools into 4.0.0…
Mar 24, 2025
4a665fe
changes: plotHeatmap, plotProfile, plotEnrichment
Mar 24, 2025
41e1dd1
ggplot args
Mar 24, 2025
bb9756a
ggplot args
Mar 24, 2025
736d124
ggplot args
Mar 24, 2025
ae10610
ggplot args
Mar 24, 2025
ad11ac0
removing plotly option (deprecated)
Mar 28, 2025
dff9257
adding ggplot flag
Mar 28, 2025
042410e
using ggplot theme as parameter
Mar 28, 2025
c35e297
plotPCA unit test
Mar 28, 2025
c78632f
setting ggplot as optional param
Mar 28, 2025
5489956
unit test for plotFingerprint
Mar 28, 2025
a2553c1
setting ggplot as an optional param
Mar 28, 2025
164bf3e
updated plot
Mar 28, 2025
85df741
setting ggplot as an optional param
Mar 28, 2025
e80c670
updated plot
Mar 28, 2025
0aba595
Merge branch '4.0.0_viz' of github.com:deeptools/deepTools into 4.0.0…
Mar 28, 2025
643d900
updating test plot
Mar 28, 2025
ec82c0a
updating test plot
Mar 28, 2025
1e48b9c
updating test plot
Mar 28, 2025
36a43bf
test data for plotPCA
Mar 28, 2025
0c3c370
increased tolerance in image comparison
Mar 28, 2025
026ea8b
fixing typo
Mar 28, 2025
f1717e6
testing only the plot
Mar 28, 2025
35a22ce
method update
Mar 28, 2025
3deb1f6
docs updates for viz
Mar 28, 2025
358b31c
removed plotly link
Mar 28, 2025
13a07ac
fixing labels for plotFingerprint test
Mar 31, 2025
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
1 change: 0 additions & 1 deletion docs/content/advanced_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ Some of the features of deepTools are not self-explanatory. Below, we provide li
* :doc:`feature/unscaled_regions`
* :doc:`feature/read_offsets`
* :doc:`feature/plotFingerprint_QC_metrics`
* :doc:`feature/plotly`
* :doc:`feature/effectiveGenomeSize`
27 changes: 27 additions & 0 deletions docs/content/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
Changes in deepTools4.0
=======================

Changes:

* Plots in general:
- Removed Plotly for all graphics.
- Optional ggplot theme (--ggplot).
- Using standard Matplotlib color scheme.

* plotHeatmap and plotProfile:
- Adjusted the legend position to be outside the plot area, preventing overlap with the subplots.
- Split and wrapped longer sample names to avoid overlap with other labels.
- Eliminated overlapping x and y-axis ticks for improved readability.
- Removed the file extensions from input files when using them as labels in the plots.

* plotEnrichment:
- Added spacing between bars in bar plots for improved visual clarity.
- Retained only sample names, when provided with the complete file path and name.

* plotPCA:
- Using scikit-learn for computing PCA.
- New option to add labels for each point (--addLabels).
- Expander for colors and markers, for example ``--colors red:3 blue:3`` is expanded as ``[red, red, red, blue, blue, blue]``.
- Scree plot is showing lines for individual and accumulated variation.
- Points are by default rainbow colored circles.

Changes in deepTools2.0
========================

Expand Down
55 changes: 18 additions & 37 deletions pydeeptools/deeptools/bamPEFragmentSize.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,13 @@
matplotlib.use('Agg')
matplotlib.rcParams['pdf.fonttype'] = 42
matplotlib.rcParams['svg.fonttype'] = 'none'
from deeptools import cm # noqa: F401
import matplotlib.pyplot as plt

import plotly.offline as py
import plotly.graph_objs as go

# own tools
from deeptools.parserCommon import writableFile
from deeptools.getFragmentAndReadSize import get_read_and_fragment_length
from importlib.metadata import version


def parse_arguments():
parser = argparse.ArgumentParser(
description='This tool calculates the fragment sizes for read pairs given a BAM file from paired-end sequencing.'
Expand Down Expand Up @@ -51,8 +46,11 @@ def parse_arguments():
'ending. The available options are: png, '
'eps, pdf, svg and plotly.',
default=None,
choices=['png', 'pdf', 'svg', 'eps', 'plotly'])

choices=['png', 'pdf', 'svg', 'eps'])
parser.add_argument('--ggplot',
help='Use ggplot theme for figures',
action='store_true')

parser.add_argument('--numberOfProcessors', '-p',
help='Number of processors to use. The default is '
'to use 1. (Default: %(default)s)',
Expand Down Expand Up @@ -311,6 +309,9 @@ def main(args=None):
if args.table is not None:
printTable(args, fraglengths, readlengths)

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

if args.histogram:
if args.samplesLabel:
if len(args.bamfiles) != len(args.samplesLabel):
Expand All @@ -331,38 +332,18 @@ def main(args=None):
else:
maxVal = d['mean'] * 2

if args.plotFileFormat == 'plotly':
trace = go.Histogram(x=d['lengths'],
histnorm='probability',
opacity=0.5,
name=labels[i],
nbinsx=100,
xbins=dict(start=d['min'], end=maxVal))
data.append(trace)
else:
plt.bar(d['lengths'][1][:-1], height=d['lengths'][0],
width=d['lengths'][1][1:] - d['lengths'][1][:-1],
align='edge', log=args.logScale,
alpha=0.5, label=labels[i])
plt.bar(d['lengths'][1][:-1], height=d['lengths'][0],
width=d['lengths'][1][1:] - d['lengths'][1][:-1],
align='edge', log=args.logScale,
alpha=0.5, label=labels[i])
i += 1

if args.plotFileFormat == 'plotly':
fig = go.Figure()
fig.add_traces(data)
fig['layout']['yaxis1'].update(title='Frequency')
fig['layout']['xaxis1'].update(title='Fragment Length')
fig['layout'].update(title=args.plotTitle)
fig['layout'].update(showlegend=True)
if args.logScale:
fig['layout']['yaxis1'].update(type='log')
py.plot(fig, filename=args.histogram, auto_open=False)
else:
plt.xlabel('Fragment Length')
plt.ylabel('Frequency')
plt.legend(loc='upper right')
plt.title(args.plotTitle)
plt.savefig(args.histogram, bbox_inches=0, format=args.plotFileFormat)
plt.close()
plt.xlabel('Fragment Length')
plt.ylabel('Frequency')
plt.legend(loc='upper right')
plt.title(args.plotTitle)
plt.savefig(args.histogram, bbox_inches=0, format=args.plotFileFormat)
plt.close()


if __name__ == "__main__":
Expand Down
Loading
Loading