Changes in version 1.18.1 ------------------------- BUGFIXES o Fix for crash with CNVkit input when log-ratio contained highly negative outliers o Fixed a bug in preprocessIntervals/IntervalFile.R when input contained overlapping and stranded intervals o Fix for crash when GC-correction is attempted on empty coverage (for example off-target region with off-target reads) Changes in version 1.18.0 ------------------------- SIGNIFICANT USER-VISIBLE CHANGES o callAlterations: columns C and seg.mean now provide the values of the segment listed in seg.id. This changes the behaviour in cases where the gene contains breakpoints and thus multiple segments overlap (#112) BUGFIXES o Fix for bug that can result in crash when candidates were provided in runAbsoluteCN and test.purity, max.ploidy and/or min.ploidy were set to non-default values Changes in version 1.16.0 ------------------------- NEW FEATURES o Flag segments in poor quality regions o predictSomatic now provides log-likelihood of allelic balance (ALLELIC.IMBALANCE column) for each variant o Added readLogRatioFile function to read GATK4 DenoiseReadCounts output files containing log2 tumor/normal ratios o Added readSegmentationFile function to read GATK4 ModelSegment output files containing segmented log2 tumor/normal ratios o Added callAmplificationsInLowPurity to call gene-level amplifications in samples < 10% purity o Dx.R now reports chromosomal instability scores (available also via callCIN function) o Dx.R supports deconstructSigs 1.9.0 and COSMIC signatures v3. To run both v2 and v3, simply add --signature_databases signatures.exome.cosmic.v3.may2019:signatures.cosmic to Dx.R SIGNIFICANT USER-VISIBLE CHANGES o Made filterTargets and createTargetWeights defunct o setMappingBiasVcf now returns a data.frame o Best practices vignette now HTML-based o Renamed normal.panel.vcf.file in setMappingBiasVcf to mapping.bias.file; in 1.18, setMappingBiasVcf will not accept a VCF anymore but requires a precomputed mapping bias RDS file. o calculateIntervalWeights now directly called by createNormalDatabase and information included in the normalDB RDS object. This function is thus deprecated. o Column gene.mean in callAlterations output now weighted by interval weights when available o Changed default of min.target.width in preprocessIntervals from 10 to 100 (#73) o replaced write.table with data.table::fwrite to automatically support producing gzipped output (requires data.table 1.12.4, #106) o Coverage.R now gzips BAM file coverage (requires data.table 1.12.4, #106) o Output coverage files now code FALSE as 0 and TRUE as 1 o PureCN.R now bgzips and tabix indexes VCFs when --vcf is provided BUGFIXES o Fix for bug in CCF calculation resulting in NAs (happens in high coverage samples, early mutations with > 1 allele copy number) o Fix for a bug in preprocessIntervals when small targets (< min.target.width) were present o Fix for a bug in callMutationBurden when VCF contained indels (#82) o Die with helpful error message when snp.blacklist import failed o Check input segmentation files for missing values resulting in crash o Fixed a crash in Varscan2 produced VCFs when ALT field missed ref counts (#109) Changes in version 1.14.0 ------------------------- NEW FEATURES o support for copynumber package and its multisample segmentation o beta support for PSCBS weighting o support for gene symbol filtering in FilterCallableLoci.R (e.g. --exclude "^HLA") o added segmentationHclust function that clusters provided segmentation using log2-ratio and B-allele frequencies o min.target.width and small.targets in preprocessIntervals to automatically deal with too small targets o calculate confidence intervals for cellular fractions o throw additional warning when sample is flagged as NON-ABERRANT and pick the diploid solution with lowest purity as best SIGNIFICANT USER-VISIBLE CHANGES o significant runtime improvements o callLOH now reports all segments, even if there are no informative SNPs since some users were not aware that segments are missing from this output. Use keep.no.snp.segments = FALSE to restore old behaviour. o more detailed output of callLOH o renamed num.snps.segment to num.snps in callAlterations output BUGFIXES o fixed crash in PureCN.R when gene symbols are missing from interval file o fixed crash in runAbsoluteCN with matched normals and high test.purity minimum (#74) Changes in version 1.12.0 ------------------------- NEW FEATURES o normalDB does not need input normal coverage files anymore after creation (so the resulting normalDB.rds file can be moved) o base quality filtering can be turned off by setting min.base.quality to 0 or NULL o possible to change the POP_AF info field name o possible to change POP_AF cutoff to set a high germline prior o possible to change min.cosmic.cnt and max.homozygous.loss in PureCN.R o set number of cores in PureCN.R (thanks Brad) SIGNIFICANT USER-VISIBLE CHANGES o renamed reptimingbinsize to reptimingwidth in IntervalFile.R, added this feature to preprocessIntervals o clarified "targets" vs. "intervals"; whenever something affects both on-target and off-target, it is now called "intervals". When only targets, e.g. in annotateTargets, "targets" was kept. o made gc.gene.file defunct o new default for min.cosmic.cnt = 6 (instead of 4) BUGFIXES o catch various input problems and provide better error messages instead of crashing o stranded input BED files do not cause problems anymore o fixed a bug when only a single local optimum was tested (happens only when users copy the examples that restrict the search speach to avoid long runtimes) o added missing QC flag to predictSomatic VCF annotation Changes in version 1.10.0 ------------------------- SIGNIFICANT USER-VISIBLE CHANGES o New normal database format o Runtime performance improvements (skip unlikely local optima, support for BiocParallel in runAbsoluteCN, pre-calculation of mapping bias) o Support for replication timing scores in coverage normalization o More accurate confidence intervals in callMutationBurden o More accurate copy numbers for high-level amplifications o Very low or high coverage samples are now by default dropped in normal database creation (less than 25% or more than 4 times the median sample coverage) o Improved support for third-party upstream tools like GATK4 (experimental) o More checks for wrong or sub-optimal input and providing suggestions for fixing those issues o Gibbs sampling of log tumor/normal coverage error rate o Better imputation of mapping bias (instead of smoothing over neighboring variants in the sample, smooth over neighboring SNPs in the pool of normals - only available when pre-calculated) o Experimental support for indels o Code cleanups (switch to testthat, removed several obsolete and minor features) API CHANGES o renamed gc.gene.file to interval.file since it now provides more than GC-content and gene symbols o plotAbs ids changed to id (this function now only plots a single purity/ploidy solution) o changed default of runAbsoluteCN max.logr.sdev to 0.6 (from 0.75) o createTargetWeights does not require tumor coverages anymore o calculateGCContentByInterval was renamed to preprocessIntervals o renamed plot.gc.bias to plot.bias in correctCoverageBias since it now also includes replication timing o added calculateMappingBiasVcf to pre-compute mapping bias from a panel of normal VCF, thus avoiding time loading and parsing of huge VCFs o max.homozygous.loss now defines the maximum fraction of a chromosome lost, not the whole genome, to avoid wrong maximum likelihood solutions with completely deleted chromosome arms Changes in version 1.8.0 ------------------------ NEW FEATURES o Support for off-target reads in copy number normalization and segmentation o Added mutation burden calculation o More robust mapping bias estimation o Added support for CNVkit coverage files (*.cnn, *.cnr) o IntervalFile.R can annotate targets with gene symbols and automatically convert chromosome naming styles o Better artifact filtering by using normalDB more efficiently o Support for mappability scores o Coverage calculation can now include duplicates o calculateBamCoverageByInterval now provides fragment counts and duplication rates o findBestNormal pooling now fragment count based, not coverage based o Experimental support for GATK4 o predictSomatic now reports posterior probabilites of minor segment copy numbers, flags segments if copy numbers are unreliable o Targets can be annotated with multiple gene symbols (comma separated) o Code cleanups (switch to GRanges where possible, switch to optparse in command line tools) API CHANGES o Due to novel optimizations of provided bait intervals, we highly recommend to regenerate the interval files and normal databases and recalculate all coverages from BAM files o New functions: annotateTargets, callMutationBurden o Defunct functions: createSNPBlacklist, getDiploid, autoCurateResults, readCoverageGatk o min.normals defaults to 2 (changed from 4) in setMappingBiasVcf o normalDB.min.coverage defaults to 0.25 (changed from 0.2) in filterTargets o log.ratio.calibration defaults to 0.1 (from 0.25) in runAbsoluteCN; now relative to purity, not log-ratio noise o Removed gc.data from filterTargets since gc_bias is now added to tumor coverage o dropped purecn.output from correctCoverageBias (no two-pass anymore) o Coverage.R argument --gatkcoverage renamed to --coverage o Dropped GC-normalization functionality in NormalDB, since this is now conveniently done in Coverage.R o Renamed PureCN.R --outdir argument to --out. Can now specify a file prefix as in GATK. Filenames are thus not forced to sample id anymore. If --out is a directory, it will behave like before and will use out/sampleid_suffix as filename.