Skip to content

Releases: deeptools/deepTools

3.0.0 (Naughty Narren)

12 Feb 14:38
Compare
Choose a tag to compare
  • plotCorrelationnow has--log1pand--maxRangeoptions if a scatter plot is produced.--log1pplots 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)
  • plotProfile and plotHeatmap now have a --labelRotation option 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)
  • The --ignoreDuplicates algorithm has been updated to better handle paired-end reads. (issue #524)
  • Added the estimateReadFiltering tool 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 sort was required).
  • plotPCA can 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 --transpose and --ntop were 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 --PCs option 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 plotPCA can now be specified. (issue #560)
  • plotFingerprint always returns the synthetic JSD, even if no --JSDsample is specified. (issue #564)
  • plotEnrichment will 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 plotFingerprint where 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!
  • bamPEFragmentSize now has --table and --outRawFragmentLengths options. 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)
  • bamPEFragmentSize will 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 bamPEFragmentSize such 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.
  • bamCoverage no longer prints normalization: depth be 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 --outRawCounts now has a header line to facilitate identification by MultiQC.
  • plotPCA now has a --log2 option, which log2 transforms the data before computing the PCA. Note that 0.01 is added to all values to 0 doesn't become -infinity.
  • computeGCBias no longer requires a fragment length for paired-end datasets. This was apparently always meant to be the case anyway. (issue #595)
  • computeMatrixOperations sort can now properly perform filtering of individual regions, as was originally intended (issue #594)
  • plotCoverage --outRawCounts now 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.
  • bamCoverage and bamCompare have 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 --normalizeUsing option. 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
  • computeMatrix now 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 --sortRegions now has a keep option. This is identical to --sortRegions no, but may be clearer (issue #621)
  • plotPCA --outFileNameData and plotCorrelation --outFileCorMatrix now 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 --samplesLabel option) now also have a --smartLabels option. This will result in labels comprised of the file name, after stripping any path and the file extension. (issue #627)
  • The -o option can now be universally used to indicate the file to save a tool's primary output. Previously, some tools use -o, some used -out and still others used things like -hist or -freq. This caused annoyance due to having to always remember the appropriate switch. Hopefully standardizing to -o will 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)
  • bamCoverage is 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).

2.5.7

05 Feb 07:31
Compare
Choose a tag to compare
  • Fixed an embarrassingly trivial bug related to the 2.5.5 release, where the work stderr. was omitted.

2.5.6

28 Jan 23:33
Compare
Choose a tag to compare
  • Fix an obscure bug, wherein npz files created by deepTools in python 2 cause an error when later used by deepTools in python 3.

2.5.5

25 Jan 07:45
Compare
Choose a tag to compare
  • Updated blacklist handling such that an error is thrown on overlapping regions.

2.5.4

03 Nov 08:39
Compare
Choose a tag to compare
  • Fixed issue #612, which only occurs when unaligned reads have a position assigned to them.
  • Ticks in the profile plot at the top of the output of plotHeatmap should now always line up properly. (issue #616)

2.5.3

24 Jul 09:34
Compare
Choose a tag to compare
  • Fixed a bug in plotEnrichment, the --keepExons option with a BED12 file would cause an error. (issue #559)
  • bamCoverage now doesn't cause and error to be thrown by sort in there are "/spaces in quoted path/". (issue #558)

2.5.2

10 Jul 14:18
Compare
Choose a tag to compare
  • Fixed a bug in bamCoverage that can cause crashes when python3 is used.
  • Fixed a bug in the multiBigwigSummary Galaxy wrapper.
  • A more reasonable exit code (not 0) is now returned if there's a mismatch in the label and file number.
  • plotFingerprint no longer tries to use illegal line designators (issue #538)
  • Various documentation fixes

2.5.1

14 May 21:28
Compare
Choose a tag to compare
  • Added universal new line support to deeptoolsintervals (issue #506).
  • Fixed a few issues with correctGCBias under python 3.5 (thanks to @drakeeee)
  • Setting --minThreshold 0.0 or --maxThreshold 0.0 now works properly. Previously, setting either of these to 0 was ignored. (issue #516)
  • You can now specify the plot width and height in plotPCA and plotCorrelation (heatmap only) with the --plotWidth and --plotHeight parameters. (issue #507)
  • plotCoverage no longer clips the top off of plots. Further, you can now set the plot width and height with --plotWidth and --plotHeight. (issue #508)
  • In bamCoverage, specifying --filterRNAstrand no longer results in --extendReads being ignored. (issue #520)
  • plotFingerprint and plotEnrichment no longer require producing a plot, which is useful if you only need QC metrics and are using a LOT of samples (such that matplotlib would crash anyway). This hasn't been implemented in Galaxy, but can if people would like it. (issues #519 and #526)
  • computeMatrix now accepts a --samplesLabel option, which is useful in those cases when you aren't immediately running plotHeatmap and don't have terribly descriptive file names (issue #523)
  • If you use plotFingerprint with the --JSDsample option and forget to list that file under --bamfiles it will be added automatically and the file name added to the labels if needed (issue #527)
  • Various Galaxy wrapper fixes

2.5.0.1

02 Apr 13:23
Compare
Choose a tag to compare

This only exists to fix a broken file on pypi. It is otherwise identical to the 2.5.0 release.

2.5.0

31 Mar 09:07
Compare
Choose a tag to compare
  • Fix a bug where using regions with the same name in multiple BED files in computeMatrix caused downstream problems in plotHeatmap/plotProfile (issue #477).
  • If computeMatrix/plotHeatmap/plotProfile is asked to sort the output matrix, it now does so by ignoring NaN values. Previously, any row with an NaN was placed at the top of the output (issue #447).
  • Fixed issue #471
  • Various Galaxy wrapper fixes
  • There is now a --rowCenter option in plotPCA, which can be used to make each row of the matrix used in the PCA to have a mean of 0. This can be useful in cases where there's extreme region-based depth variation that is shared between all samples. This was issue #477.
  • The --Offset option is now available in plotEnrichment. This was issue #481.
  • The maximum coverage allowed while calculating the Jensen-Shannon distance in plotFingerprint has been increased to 2 million and an informational message containing the number of bins above this value is printed to the standard output.
  • bamCoverage now respects the --scaleFactor argument even if not other normalization is performed (issue #482).
  • The --minFragmentLength and --maxFragmentLength options now respect single-end reads. For SE reads, these parameters refer to the number of aligned bases (i.e., splicing is ignored). This was issue #489.
  • --yMin and --yMax can now be lists of values in plotHeatmap. This was issue #487. Note that the plots are not perfectly aligned if you do this.