Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
- Fixed the
computeMatrix reference-point --referencePoint centerwas used. This caused an error previously. (issue #727)
- RPGC normalization and the
bamCoverageare no longer mutually exclusive.
- Increased the default plot width in plotPCA (issue #738)
bamCoverageis now compatible with
--centerReadswas silently ignored if
--Offsetwas specified). (issue #693)
bamComparenow have an
--exactScalingoption. Instead of using a random sample of alignment to compute the scaling factor, this causes all reads in the file to be used. This is significantly slower, but helpful in situations where reads that should be excluded clump together on the genome (i.e., when sampling based on location is likely to be inaccurate).
plotCorrelation --whatToPlot scatterplotnow has
--yRangeoptions rather than just
--maxRange. (issue #709)
computeMatrixOperationscan now be used to change sample and group names.
computeMatrixOperationscan now filter rows by minimum and/or maximum value.
--minThresholdare now more consistently honoured. (#702)
- Fixed region handling when using files on deepBlue (#700)
bamComparewill now result in a fatal error, rather than a simple warning and the settings being changed under the hood. (#718)
- Related to the last point, setting
--normalizeUsingto anything other than
Nonewill result in an error unless
--scaleFactorsMethod Noneis also used. This is to prevent people from accidentally getting unintended normalization.
- bamPEFragmentSize no longer exploids its memory use with multiple large BAM/CRAM files (#720). Many other tools will also benefit from this change.
- Fixed an issue regarding under sampling alignments in some cases with computing scaling factors. This was issue #690. The resolution isn't perfect, it's hard to know how many reads really need to be sampled for things like RNA-seq.
computeMatrixnow has a
--verboseoption. Setting this will drastically increase the verbosity of the messages sent to the screen. Only do this for debugging.
--quietwill disable this completely (as well as all other messages printed to screen).
- Fixed handling of
plotHeatmap. This now works properly for
--referencePoint TES, where in the latter case the dashed line is drawn at the region start. The documentation has been updated to mention this. (issue #671)
- The reference point label specified by
computeMatrix reference-pointis now respected by plotHeatmap and plotProfile. So if you used
computeMatrix reference-point --referencePointLabel centerthen 'center' will now appear as the tick label in your heatmaps and profiles automatically. (issues #606 and #683)
- Enabled using regions with a
.in the chromosome name in the Galaxy wrappers (issue #692)
- Fixed the
--perGroupoption in plotProfile and plotHeatmap when multiple groups were being used. In version 3.0.0, this would typically cause an error and deepTools to crash. (issue #673)
- Fixed a few issues with the Galaxy wrappers. Thanks to Ralf Gilsbach, Claudia Keller, and @bgruening (e.g., issue #678)
options if a scatter plot is produced.--log1p
plots the natural log of the values (plus 1).--maxRange` sets the maximum X and Y axis ranges. If they would normally be below this value then they are left unchanged. (issue #536)
- The PCA plot now includes "% of var. explained" in the top axis labels. (issue #547)
plotHeatmapnow have a
--labelRotationoption that can rotate the X-axis labels. This is one of the more common requests for customization. For further customization, please modify your .matplotlibrc file or save as a PDF and modify further in Illustrator or a similar program. (issue #537)
--ignoreDuplicatesalgorithm has been updated to better handle paired-end reads. (issue #524)
- Added the
estimateReadFilteringtool to estimate how many reads would be filtered from a BAM file or files if a variety of desired filtering criterion are applied (issue #518).
- Rewrote the bigWig creation functions so there are no longer steps involving creating a single large bedGraph and then sorting it. That was a hold-over from previous versions that used UCSC tools. This was issue #546. This also means that there are no longer any required external programs (previously, only
plotPCAcan now be run on the transposed matrix, as is typically done with RNAseq data (e.g., with deepTools). Further, matplotlib is now no longer used for computing the PCA, but rather an SVD is performed and the results directly used. The options
--ntopwere also added. The former computes the PCA of the transposed matrix and the latter specifies how many of the most variable rows in the matrix to use. By default, the 1000 most variable features are used. In the (now optional) plot, the
--PCsoption can now be used to specify which principal components to plot. Finally, the unbiased standard deviation is used in the out, as is done by
prcomp()in R. This was issue #496.
- Symbol colors for
plotPCAcan now be specified. (issue #560)
plotFingerprintalways returns the synthetic JSD, even if no
--JSDsampleis specified. (issue #564)
plotEnrichmentwill only read in annotation files a single time rather than in each thread. This prevents terrible performance when using many tens of millions of BED/GTF regions at the expense of a slight memory increase. (issue #530)
- Fixed a small bug generally affecting
plotFingerprintwhere BAM files without an index were processed as bigWig files, resulting in a confusing error message (issue #574). Thanks to Sitanshu Gakkhar for poiting this out!
--outRawFragmentLengthsoptions. The former option will output the read/fragment metrics to a file in tabular format (in addition to the previous information written to the screen). The latter option will write the raw read/fragment counts to a tsv file. The format of the file is a line with "#bamPEFragmentSize", followed by a header line of "Size\tOccurences\tSample", which should facilitate processing in things like R. (issue #572)
bamPEFragmentSizewill now plot the read length distribution for single-end BAM files. Note that if you mix single and paired-end files that the resulting plots may be difficult to interpret.
- The various plot commands do not actually have to plot anything, instead they can optionally only print their raw metrics or other text output. This is mostly useful with large numbers of input files, since the resulting plots can become quickly crowded. (issue #5719
- Expanded the metrics output by
bamPEFragmentSizesuch that it now fully replaces Picard CollectInsertSizeMetrics (issue #577).
- "plotly" is now available as an output image format for all tools. Note that this is not really an image format, but rather an interactive webpage that you can open in your browser. The resulting webpages can be VERY large (especially for
plotHeatmap), so please keep that in mind. Further, plotly does not currently have the capabilities to support all of deepTools' features, so note that some options will be ignored. For privacy reasons, all plotly files are saved locally and not uploaded to the public plot.ly site. You can click on the "Export to plot.ly" link on the bottom right of plotly output if you would like to modify the resulting files.
bamCoverageno longer prints
normalization: depthbe default, but rather a more accurate message indicating that the scaling is performed according to the percentage of alignments kept after filtering. This was originally added in #366 (issue #590).
- The output of
plotFingerprint --outRawCountsnow has a header line to facilitate identification by MultiQC.
plotPCAnow has a
--log2option, which log2 transforms the data before computing the PCA. Note that 0.01 is added to all values to 0 doesn't become -infinity.
computeGCBiasno longer requires a fragment length for paired-end datasets. This was apparently always meant to be the case anyway. (issue #595)
computeMatrixOperations sortcan now properly perform filtering of individual regions, as was originally intended (issue #594)
plotCoverage --outRawCountsnow has another line it its header, which is meant to aid MultiQC.
- There is no longer a configuration file. The default number of threads for all tools is 1. See issue #613.
bamComparehave rewritten normalization functions. They have both added CPM and BPM normalization and, importantly, filtering is now done before computing scaling factors. A few of the options associated with this (e.g.,
--normalizeUsingRPKM) have been replaced with the
--normalizeUsingoption. This behavior represents a break from that seen in earlier versions but should be easier to follow and more in line with what users expect is happening. The syntax for normalization has been reworked multiple times (see #629).
- Fixed issue #631
computeMatrixnow repeats labels for each column in a plot. This is convenient if you later want to merge reference-point and scale-regions runs and still have correct tick marks and labels in plotHeatmap/plotProfile (issue #614). Note that the output of computeMatrix and computeMatrixOperations can not be used with older versions of deepTools (but output from previous versions can still be used).
plotHeatmap --sortRegionsnow has a
keepoption. This is identical to
--sortRegions no, but may be clearer (issue #621)
plotCorrelation --outFileCorMatrixnow produce files with a single comment line (i.e., '#plotPCA --outFileNameData' and '#plotCorrelation --outFileCorMatrix'). These can then be more easily parsed by programs like MultiQC.
- All functions that accept file labels (e.g., via a
--samplesLabeloption) now also have a
--smartLabelsoption. This will result in labels comprised of the file name, after stripping any path and the file extension. (issue #627)
-ooption can now be universally used to indicate the file to save a tool's primary output. Previously, some tools use
-o, some used
-outand still others used things like
-freq. This caused annoyance due to having to always remember the appropriate switch. Hopefully standardizing to
-owill alleviate this. (issue #640)
- Using a --blackListFileName with overlapping regions will typically now cause the various deepTools programs to stop. This is to ensure that resulting scale factors are correct (issue #649)
bamCoverageis a bit more efficient with small BAM files now due to underlying algorithmic changes. Relatedely, bamCoverage will skip some unnecessary estimation steps if you are not filtering reads, further speeding processing a bit. (issue #662)
- Added support for CRAM files. This requires pysam > 0.13.0 (issue #619).