Skip to content

2.20.0

Compare
Choose a tag to compare
@lbergelson lbergelson released this 26 Jul 21:25
· 167 commits to master since this release
1d4a316

This release includes significant new features and numerous bug fixes. We recommend that users should upgrade to this version.

Compatibility Notes:

There are a few minor incompatibilities between this and 2.19.0. Most users should have no problems upgrading.
Incompatible changes:

  • There continue to be major changes to the unstable htsjdk.samtools.cram package.
  • BCFVersion became final invalidating any subclasses.
  • There were several changes to methods in the class CRAMBAIIndexer

New features:

Support Reading VCF4.3

Htsjdk can now read version 4.3 vcfs produced by other software. It can still only produce version 4.2. (#1381, #1359)

Write Compressed References:

You can now write indexes fasta.gz files with FastaReferenceWriterBuilder (#1340)

IntervalList improvements:

  • There's a new IntervalListCodec which lets you parse .interval_list files using tribble (#1327)
  • Improved performance of some interval operations when operating on large IntervalLists (#1356, #1384)

Developer documentation improvements:

  • We added a Code of Conduct to explicitly state our goals of being a friendly, safe, and professional project where we hope anyone will feel comfortable contributing. (#1390)
  • Added style guides for Intellij and Eclipse. Running automated style checking of newly submitted or edited code is encouraged.(#1386, #1391)
  • Added a description of how to interpret the version number and what it means for compatibility (#1392)
  • Updating issue and PR templates. (#1393)
  • We now run Spotbugs as part of our build to identify and reject certain classes of bugs automatically. This is still new and we may continue to experiment with which rules to apply. (#1330, #1331)

Other Improvements:

Complete change list:

1d4a316 Make VariantContextBuilder safer (#1344)
45cfc08 Handle PEDIGREE header lines differently for vcf4.2 vs vcf4.3. (#1401)
c5ed6b7 Insertions accumulating in AbstractLocusIterator bugfix (#903)
edb8c60 Optimize AbstractBAMFileIndex.query() when querying sequentially (#1397)
9aa81ed Add documentation for VariantContext.getStart() regarding telomeric events (#1369)
83da7e7 Make Validation error emit the validation type that was violated (#1395)
3a35b89 CRAM queryAlignmentStart/queryMate fix. (#1164)
765728e Moved file extensions constants to their own class (#1382)
16e9cca Output missing vcf fields as a single . (#1389)
387de12 Adding a code of conduct document for htsjdk. (#1390)
ea1db70 adding README section about style guides (#1391)
a58f432 Describing what our version number means (#1392)
faf3d11 Updating issue and PR templates (#1393)
37ea940 Tolerate mixed case NaNs and Infinities in VCF (#1364)
f68108d Add style guide for IDE's (#1386)
b0decef Substitution matrix refactoring and tests (#1374)
a61e233 Add a function to calculate the value of the OA tag (#1354)
f13d075 Make VariantContextWriterBuilder warn when indexing-on-the-fly is enabled for streams (#1328)
b804a47 VCF codec should handle multiple missing GL fields (#1372)
58199e6 Prevent integer overflow in Interval countBases method. (#1384)
adea7d1 Remove requirement that zero length reads need color space or flow (#1360)
6df21e5 Update readme with info about reading vcf 4.3 (#1381)
d5ac863 Support VCF v4.3 (read only). (#1359)
1e3f1fa Adding a few more semi-colons in shell in travis config. (#1378)
2b83a9f Fix to ensure we only publish snapshots compiled with openjdk-8. (#1376)
1a275e1 Added fasta.gz write support to FastaReferenceWriterBuilder (#1340)
4ae8508 Moved loading of sequence dictionary into an overideable method (#1362)
64e98d6 Removed redundant readability test in unrollPaths method (#1355)
e2c0fdd Support writing a CRAI index from CRAMContainerStreamWriter (#1351)
4747d08 Change SAMTextHeaderCodec to no longer accumulate the entire text of … (#1361)
3b0dd60 SubstitutionMatrix class cleanup - part 1. (#1366)
5f0e045 Small CRAM refactor: common ExternalEncoding Abstract Base Class (#1346)
ae49710 Make interval operations scale better (#1356)
7ce3636 Added name of offending record to error message in SamPairUtil (#1358)
0b9fe0d Remove CramCompressionRecord.tagIds (#1345)
4f62add Allow BCFCodec subclasses to provide custom version compatibility. (#1352)
335f2c1 Improve exception message for unset VCF output type (#1357)
5442f78 CRAM: revert #1326 and fix tests and comments (#1341)
1ece54c Add interval list codec (#1327)
aa89809 Remove multiple versions of Slice/Container getCRAIEntries() (#1329)
9f5d86e Progress Logger prints read names when iterating in queryname order (#1302)
16fecfc Change SortingCollection log statements to DEBUG (#1334)
a82d8ba Test ContainerIO.calculateSliceOffsetsAndSizes() and fix the slice size calculation (#1326)
7925166 Fix or ignore remaining SpotBugs issues (#1331)
f9361ac Fix issues in tests identified by Spotbugs (#1330)
5dcfd73 Fix signing task in build.gradle (#1325)
2b5f3bc Reject BCF files when minor version doesn't match the current implementation. (#1324)