Further improvements to replace s->XX_blk with s->blocks[XX] and
similar code.

Code tidyups to remove compiler warnings; mostly unused variables.

Auxiliary tags are now put into different external blocks depending on
their type.  Specific known tags types are dealt with separately (OQ,
BQ, BD+BI, FZ) plus all other quality strings (Q2, U2, QT, CQ),
sequence strings (R2, E2, CS, BC, RT) and other strings get aggregated
in their own blocks too.

Broke the cram_encode_slice() function into sub functions for
readability.

Major reorganisation of the cram_compress_block function and the way
the cram_metrics structure works. We now bitwise OR together a bunch
of compression methods and it gradually learns the ones that aren't
working well. The -j and -J command line arguments are used only to
seed the initial list of compression method possibilities.



git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3613 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
(2nd try on cram_structs.h, due to broken local SVN repository)

Further improvements to replace s->XX_blk with s->blocks[XX] and
similar code.

Code tidyups to remove compiler warnings; mostly unused variables.

Auxiliary tags are now put into different external blocks depending on
their type.  Specific known tags types are dealt with separately (OQ,
BQ, BD+BI, FZ) plus all other quality strings (Q2, U2, QT, CQ),
sequence strings (R2, E2, CS, BC, RT) and other strings get aggregated
in their own blocks too.

Broke the cram_encode_slice() function into sub functions for
readability.

Major reorganisation of the cram_compress_block function and the way
the cram_metrics structure works. We now bitwise OR together a bunch
of compression methods and it gradually learns the ones that aren't
working well. The -j and -J command line arguments are used only to
seed the initial list of compression method possibilities.



git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3614 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Fixed memory leaks introduced during the recent codec refactoring.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3617 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Added a test file for the various special auxiliary tag types that are
now treated differently within scramble.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3618 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Added a (currently undocumented) -Z option to Scramble to use LZMA
compression.

This isn't supported yet in CRAM v2.0, but has been mooted for CRAM
v3.0 so it is here to test how it works.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3619 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Minor updates to do with compression levels.

We now classify some data series as not worthy of performing full LZ
or BWT style compression on, restricting ourselves to entropy encoders
instead.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3620 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1