github broadinstitute/picard 2.9.3
on GitHub

Bug fixes

  • Fix a bug in GenotypeConcordance present for larger callsets, specifically an issue with VCF context with different REF alleles for deletions or symbolic alleles that represent spanning deletions (#810). Writing output VCF that merges two overlapping variants with different allele representations previously gave an error but the tool now handles these merges correctly.
  • Fix a bug in TargetMetricsCollector.Coverage that impacts CollectHsMetrics, CollectTargetedMetrics, and CollectTargetedPcrMetrics at very high coverage (#820). The bug occurs at extremely high coverage, e.g. >20M reads per target region. At such rare high coverage the tool overflows and gives obviously incorrect results. This behavior is now fixed so the tool handles high coverage targets correctly.

New features

  • Add new tool AccumulateVariantCallingMetrics to merge a collection of variant calling metrics into a single file (#809). The tool is meant to combine metrics collected over different genomic intervals for the same cohort, e.g. when metrics collection is parallelized into scattered shards.
  • IntervalListTools has a new OVERLAPS parameter for the ACTION argument (#830). This new parameter finds intervals in the two given intervals lists that overlap with each other. This is in contrast to the INTERSECT action that finds the unique and sorted intervals of all of the intervals in the two given intervals lists.
  • CollectIlluminaLaneMetrics now takes the LENIENT parameter for the standard VALIDATION_STRINGENCY argument to run when missing prephasing and phasing metrics (#812). Otherwise, with VALIDATION_STRINGENCY set to STRICT, without the metrics the tool errors. Without the metrics and with VALIDATION_STRINGENCY set to LENIENT, the tool uses zero for both the phasing and prephasing values and gives a warning. Phasing refers to the fraction of molecules that lag or are ahead of the read cycle and the absence of such metrics can be indicative of imaging problems or data corruption.
  • Picard has started testing to support OpenJDK8, in addition to OracleJDK8, for Java (#816). OpenJDK allows for automated and distributable Docker image builds (see this script for example). OracleJDK requires prior personal consent to use in Docker images (see here) and thus each build must be personalized.
  • ValidateSamFile returns informative error codes (#822) to cover a wider spectra of errors, e.g. for pipelining environments. Now tool gives -1 for execution failure, 0 for successful run, 1 for presence of warnings but no errors, 2 for presence of both errors and warnings, and 3 for presence of errors but no warnings.
  • Clarify tool documentation for CrosscheckReadGroupFingerprints and CheckFingerprint HAPLOTYPE_MAP argument (#811). Now includes a link to a new detailed description of the file format at
  • Update CollectRnaSeqMetrics documentation regarding the REFFLAT file. Documentation now removes a broken link, provides a link to an example REFFLAT file and shows example lines from the file (#804, #806).

For developers

  • Picard now uses htsjdk v2.10.1 (#823, #821).
  • Adding OpenJDK to Travis build, and add trusty dist to allow openjdk8 (#816). The Travis build already had OracleJDK. Both OpenJDK and OracleJDK are version 8.
  • Added new data provider, IlluminaDataProvider, to handle cbcl files, which are NovaSeq’s per cycle base call files (#823).
  • Add copyright notice for Picard use of copy-righted Illumina adapter sequences (#824, #828).
3 years ago