Version 0.9.6
Essential maintenance and bug fixes, for the most part. Some key dependencies have changed, though this should be generally painless for you, and one or two regressions introduced by recent optimizations have been fixed.
This will be the last CNVkit version to run on Python 2.7. The next major release of pandas (0.25.0) will remove support for Python 2.7, and once that happens it will become increasingly difficult to install future versions of CNVkit on Python 2.7 -- so we're not going to try.
The segmentation method flasso
depends on the R package cghFLasso
, which is unmaintained and has been removed from CRAN. For now, segment -m flasso
is still supported if you already have cghFLasso
installed. But given the above, flasso
will be removed from the next CNVkit version in favor of the HMM-based methods.
Dependencies
- Raised minimum pandas version from 0.18.1 to 0.20.1, and support up to 0.24.2, resolving some warnings and an error in pandas 0.22+. (#413; thanks @chapmanb)
- The soft dependency on
hmmlearn
is replaced with an explicit dependency onpomegranate
for the HMM-based segmentation methods. This dependency will now be pulled in automatically when installing viapip
orconda
. - The R package
cghFLasso
has been removed from CRAN, and therefore is no longer a dependency of CNVkit and will not be installed automatically through the standardconda
installation method. (#419)
Commands
antitarget
:
- Be more specific in removing noncanonical chromosomes (e.g. alternate contigs, mitochondria) from the binned regions. This avoids skipping chromosomes of interest in some non-human genomes with non-numeric contig names, like yeast. (#388; credit for regexes to @brentp)
coverage
:
- With
--count-reads
, use query aligned length to handle soft-clipped reads properly. Now the results with and without this option should be similar. (#411; thanks @desnar)
segment
:
- For
-m flasso
, partition array by chromosome to avoid edge effects. (#409, #412; thanks @giladmishne) - Removed the deprecated option
--rlibpath
; use--rscript-path
instead. - HMM implementations have changed, and results may be different now. Note that the HMM methods are still provisional. A stable, supported version of these methods will be provided in the next CNVkit release.
Python API
do_scatter
now returns a figure (#408; thanks @jeremy9959)
Bug fixes
scatter
: Whole chromosomes can once again be specified with-c
. (In the previous release, a chromosome without coordinates would cause an IndexError.) (#393)import-rna
: Option --max-log2 can now be specified by users. (Previously, only the default value of +3.0 worked.)- VCF I/O (
skgenome.tabio
): Support GATK 4's VCF files that contain records with empty ALT alleles, substituting zero if ALT AD is missing. (#391; thanks @chapmanb) - Due to a certain versioning-dependent interaction between numpy, pandas, cython, and conda (details here), CNVkit may have printed spurious RuntimeWarning messages which could be safely ignored. The current release attempts to silence these messages if they occur. (#390).