Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Commit [r3627] Maximize Restore History

Merged in the cram_refactor branch.

This consists of a major overhaul of the way cram data series are
managed.

- The C structs are now more array based, preferring ->block[DS_XX]
instead of ->XX_blk and similar.

- Many more block types wil be external by default now. It
auto-selects CORE vs external based on size.

- Selection of compression algorithm for external blocks is more
advanced. Every external block has a metrics array element. This
now tracks more than 2 types of compression and it culls candidate
methods if they repeatedly are unpromising.

The upshot is the hard-coded selection of which method to use for
which block is (mostly) removed in favour of auto detection.

- CRAM now has the option to ignore certain types of fields when
decoding. Combined with more external blocks this permits faster
decoding for tools like scram_flagstat, potentially 2-3x faster.

- Auxiliary tags now get split up into multiple external blocks based
on data type. We still aggregate many together, but tag strings,
integers, sequences and quality strings now get their own blocks.

jkbonfield 2014-04-10

changed /io_lib/trunk
changed /io_lib/trunk/configure.in
changed /io_lib/trunk/io_lib/bam.c
changed /io_lib/trunk/io_lib/cram_codecs.c
changed /io_lib/trunk/io_lib/cram_codecs.h
changed /io_lib/trunk/io_lib/cram_decode.c
changed /io_lib/trunk/io_lib/cram_encode.c
changed /io_lib/trunk/io_lib/cram_io.c
changed /io_lib/trunk/io_lib/cram_io.h
changed /io_lib/trunk/io_lib/cram_stats.c
changed /io_lib/trunk/io_lib/cram_structs.h
changed /io_lib/trunk/progs/Makefile.am
changed /io_lib/trunk/progs/cram_dump.c
changed /io_lib/trunk/progs/scram_flagstat.c
changed /io_lib/trunk/progs/scramble.c
changed /io_lib/trunk/tests/data/xx.fa
changed /io_lib/trunk/tests/data/xx.fa.fai
copied /io_lib/cram_refactor/progs/scram_test.c -> /io_lib/trunk/progs/scram_test.c
copied /io_lib/cram_refactor/tests/data/aux#special.sam -> /io_lib/trunk/tests/data/aux#special.sam
/io_lib/trunk
Directory.
/io_lib/trunk/configure.in Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/bam.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_codecs.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_codecs.h Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_decode.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_encode.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_io.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_io.h Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_stats.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/io_lib/cram_structs.h Diff Switch to side-by-side view
Loading...
/io_lib/trunk/progs/Makefile.am Diff Switch to side-by-side view
Loading...
/io_lib/trunk/progs/cram_dump.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/progs/scram_flagstat.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/progs/scramble.c Diff Switch to side-by-side view
Loading...
/io_lib/trunk/tests/data/xx.fa Diff Switch to side-by-side view
Loading...
/io_lib/trunk/tests/data/xx.fa.fai Diff Switch to side-by-side view
Loading...