Staden Io_lib v1.14.9
jkbonfield
released this
10 Feb 12:32
·
271 commits
to master
since this release
Version 1.14.9 (9th February 2017)
Updates:
- BAM: Added CRC checking. Bizarrely this was absent here and in most
other BAM implementations too. Pure BAM decode of an uncompressed
BAM is around 9% slower and compressed BAM to compressed BAM is
almost identical. The most significant hit is reading uncompressed
BAM (and doing nothing else) which is 120% slower as CRC dominates.
Options are available to disable the CRC checking incase this is an
issue (scramble -!). - CRAM: Now supports bgziped fasta references.
- CRAM/SAM: Headers are now kept in the same basic type order while
transcoding. (Eg all @pg before all @sq, or vice versa, depending on
input ordering.) - CRAM: Compression level 1 is now faster but larger. (The old -1 and
-2 were too similar.) - CRAM: Improved compression efficiency in some files, when switching
from sorted to unsorted data. - CRAM: Various speedups relating to memory handling,
multi-threaded performance and the rANS codec. - CRAM: Block CRC checks are now only done when the block is used,
speeding up multi-threading and tools that do not decode all blocks
(eg flagstat). - Scramble -g and -G options to generate and reuse bgzip indices when
reading and writing BAM files. - Scramble -q option to omit updating the @pg header records.
- Experimental cram_filter tool has been added, to rapidly produce
cram subsets. - Migrated code base to git. Use github for primary repository.
Bug fixes:
- BAM: Fixed the bin value calculation for placed but unmapped reads.
- CRAM: Fixed file descriptor leak in refs_load_fai().
- CRAM: Fixed a crash in MD5 calculation for sequences beyond the
reference end. - CRAM: Bug fixes when encoding malformed @sq records.
- CRAM: Fixed a rare renormalisation bug in rANS codec.
- Fixed tests so make -j worked.
- Removed ancient, broken and unused popen() code.