You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Scree plot is showing lines for individual and accumulated variation.
26
27
- Points are by default rainbow colored circles.
27
28
28
-
Changes in deepTools2.0
29
-
========================
29
+
Core
30
+
----
30
31
31
-
.. contents::
32
-
:local:
33
-
34
-
Major changes
35
-
-------------
36
-
37
-
.. note:: The major changes encompass features for **increased efficiency**, **new sequencing data types**, and **additional plots**, particularly for QC.
38
-
39
-
Moreover, deepTools modules can now be used by other python programs.
40
-
The :ref:`api` is part of the new documentation.
41
-
42
-
Accommodating additional data types
43
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44
-
45
-
* correlation and comparisons can now be calculated for **bigWig files** (in addition to BAM files) using ``multiBigwigSummary`` and ``bigwigCompare``
46
-
47
-
* **RNA-seq:** split-reads are now natively supported
32
+
* bamCoverage
33
+
- --no_collapse flag to not merge bins with equal coverage values together.
48
34
49
-
* **MNase-seq:** using the new option ``--MNase`` in ``bamCoverage``, one can now compute read coverage only taking the 2 central base pairs of each mapped fragment into account.
50
-
51
-
Structural updates
52
-
^^^^^^^^^^^^^^^^^^^
53
-
54
-
* All modules have comprehensive and automatic tests that evaluate proper functioning after any modification of the code.
55
-
* Virtualization for stability: we now provide a ``docker`` image and enable the easy deployment of deepTools via the Galaxy ``toolshed``.
56
-
* Our documentation is now version-aware thanks to readthedocs and ``sphinx``.
57
-
* The API is public and documented.
58
-
59
-
Renamed tools
60
-
^^^^^^^^^^^^^
61
-
62
-
* **heatmapper** to :doc:`tools/plotHeatmap`
63
-
* **profiler** to :doc:`tools/plotProfile`
64
-
* **bamCorrelate** to :doc:`tools/multiBamSummary`
65
-
* **bigwigCorrelate** to :doc:`tools/multiBigwigSummary`
66
-
* **bamFingerprint** to :doc:`tools/plotFingerprint`
67
-
68
-
69
-
Increased efficiency
70
-
^^^^^^^^^^^^^^^^^^^^
71
-
72
-
* We dramatically improved the **speed** of bigwig related tools (:doc:`tools/multiBigwigSummary` and ``computeMatrix``) by using the new `pyBigWig module <https://github.com/dpryan79/pyBigWig>`_.
73
-
74
-
* It is now possible to generate one composite heatmap and/or meta-gene image based on **multiple bigwig files** in one go (see :doc:`tools/computeMatrix`, :doc:`tools/plotHeatmap`, and :doc:`tools/plotProfile` for examples)
75
-
76
-
* ``computeMatrix`` now also accepts multiple input BED files. Each is treated as a group within a sample and is plotted independently.
77
-
78
-
* We added **additional filtering options for handling BAM files**, decreasing the need for prior filtering using tools other than deepTools: The ``--samFlagInclude`` and ``--samFlagExclude`` parameters can, for example, be used to only include (or exclude) forward reads in an analysis.
79
-
80
-
* We separated the generation of read count tables from the calculation of pairwise correlations that was previously handled by ``bamCorrelate``. Now, read counts are calculated first using ``multiBamSummary`` or ``multiBigWigCoverage`` and the resulting output file can be used for calculating and plotting pairwise correlations using ``plotCorrelation`` or for doing a principal component analysis using ``plotPCA``.
81
-
82
-
New features and tools
83
-
^^^^^^^^^^^^^^^^^^^^^^
84
-
85
-
* Correlation analyses are no longer limited to BAM files -- bigwig files are possible, too! (see :doc:`tools/multiBigwigSummary`)
86
-
87
-
* Correlation coefficients can now be computed even if the data contains NaNs.
88
-
89
-
* Added **new quality control** tools:
90
-
- use :doc:`tools/plotCoverage` to plot the coverage over base pairs
91
-
- use :doc:`tools/plotPCA` for principal component analysis
92
-
- :doc:`tools/bamPEFragmentSize` can be used to calculate the average fragment size for paired-end read data
93
-
94
-
* Added the possibility for **hierarchical clustering**, besides *k*-means to ``plotProfile`` and ``plotHeatmap``
95
-
96
-
* ``plotProfile`` has many more options to make compelling summary plots
97
-
98
-
99
-
Minor changes
100
-
-------------
101
-
102
-
Changed parameters names and settings
103
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
104
-
105
-
* ``computeMatrix`` can now read files with DOS newline characters.
106
-
* ``--missingDataAsZero`` was renamed to ``--skipNonCoveredRegions`` for clarity in ``bamCoverage`` and ``bamCompare``.
107
-
* Read extension was made optional and we removed the need to specify a default fragment length for most of the tools: ``--fragmentLength`` was thus replaced by the new optional parameter ``--extendReads``.
108
-
* Added option ``--skipChromosomes`` to ``multiBigwigSummary``, which can be used to, for example, skip all 'random' chromosomes.
109
-
* Added the option for adding titles to QC plots.
110
-
111
-
Bug fixes
112
-
^^^^^^^^^
113
-
114
-
* Resolved an error introduced by ``numpy version 1.10`` in ``computeMatrix``.
115
-
* Improved plotting features for ``plotProfile`` when using as plot type: 'overlapped_lines' and 'heatmap'
116
-
* Fixed problem with BED intervals in ``multiBigwigSummary`` and ``multiBamSummary`` that returned wrongly labeled raw counts.
117
-
* ``multiBigwigSummary`` now also considers chromosomes as identical when the names between samples differ by 'chr' prefix, e.g. chr1 vs. 1.
118
-
* Fixed problem with wrongly labeled proper read pairs in a BAM file. We now have additional checks to determine if a read pair is a proper pair: the reads must face each other and are not allowed to be farther apart than 4x the mean fragment length.
119
-
* For ``bamCoverage`` and ``bamCompare``, the behavior of ``scaleFactor`` was updated such that now, if given in combination with the normalization options (``--normalizeTo1x`` or ``--normalizeUsingRPKM``), the given scaling factor will be multiplied with the factor computed by the respective normalization method.
120
-
121
-
35
+
* computeMatrix
36
+
- --sortRegions 'no' option no longer exists
37
+
- Sorting ascend / descend no longer has subsorting by position.
38
+
- --quiet / -q option no longer exists.
39
+
- bed files in computeMatrix no longer support '#' to define groups.
40
+
- 'chromosome matching' i.e. chr1 <-> 1, chrMT <-> MT is no longer performed.
41
+
42
+
* normalization
43
+
- Exactscaling is no longer an option, it's always performed.
44
+
45
+
* alignmentSieve
46
+
- options label, smartLabels, genomeChunkLength are removed.
47
+
- ignoreDuplicates is removed, and (if wanted) should be set by the SamFlagExclude setting.
Copy file name to clipboardExpand all lines: pydeeptools/deeptools/bamCompare2.py
+19-29Lines changed: 19 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -135,6 +135,11 @@ def getOptionalArgs():
135
135
'This is determined BEFORE any applicable pseudocount '
136
136
'is added.',
137
137
action='store_true')
138
+
optional.add_argument('--no_collapse',
139
+
help='By default adjacent bins that have the same value are collapsed. This reduces the size of the output file (drastically).'
140
+
'If you like to opt out of this behavior, you can set this flag.',
141
+
default=True,
142
+
action='store_false')
138
143
139
144
returnparser
140
145
@@ -252,6 +257,15 @@ def main(args=None):
252
257
args.samFlagExclude=0
253
258
ifnotargs.region:
254
259
args.region='None'
260
+
ifnotargs.extendReads:
261
+
args.extendReads=False
262
+
args.extendReadsLen=0
263
+
elifisinstance(args.extendReads, bool):
264
+
args.extendReadsLen=0
265
+
args.extendReads=True
266
+
elifisinstance(args.extendReads, int):
267
+
args.extendReadsLen=args.extendReads
268
+
args.extendReads=True
255
269
ifnotargs.blackListFileName:
256
270
args.blackListFileName='None'
257
271
else:
@@ -272,8 +286,10 @@ def main(args=None):
272
286
args.scaleFactorsMethod, # scaling method
273
287
args.operation,
274
288
args.pseudocount,
289
+
args.extendReads,
290
+
args.extendReadsLen,
291
+
args.centerReads,
275
292
args.blackListFileName,
276
-
args.ignoreDuplicates,
277
293
args.minMappingQuality,
278
294
args.samFlagInclude,
279
295
args.samFlagExclude,
@@ -283,32 +299,6 @@ def main(args=None):
283
299
args.ignoreForNormalization,
284
300
args.binSize, # bin size
285
301
args.region, # regions
286
-
True# verbose
302
+
args.verbose, # verbose
303
+
args.no_collapse, # collapse the ofile or not.
287
304
)
288
-
289
-
# #if args.normalizeUsing == "RPGC":
290
-
# # sys.exit("RPGC normalization (--normalizeUsing RPGC) is not supported with bamCompare!")
291
-
# #if args.normalizeUsing == 'None':
292
-
# args.normalizeUsing = None # For the sake of sanity
293
-
# if args.scaleFactorsMethod != 'None' and args.normalizeUsing:
294
-
# sys.exit("`--normalizeUsing {}` is only valid if you also use `--scaleFactorsMethod None`! To prevent erroneous output, I will quit now.\n".format(args.normalizeUsing))
0 commit comments