noodles_cram/codecs.rs
1//! CRAM block content codecs.
2
3pub mod aac;
4pub(crate) mod bzip2;
5pub(crate) mod fqzcomp;
6pub(crate) mod gzip;
7pub(crate) mod lzma;
8pub(crate) mod name_tokenizer;
9pub mod rans_4x8;
10pub mod rans_nx16;
11
12/// A CRAM block content encoder.
13#[derive(Clone, Debug)]
14pub enum Encoder {
15 /// gzip
16 Gzip(flate2::Compression),
17 /// bzip2
18 Bzip2(::bzip2::Compression),
19 /// xz
20 Lzma(u32),
21 /// rANS 4x8
22 Rans4x8(rans_4x8::Order),
23 /// rANS Nx16
24 RansNx16(rans_nx16::Flags),
25 /// adaptive arithmetic coder
26 AdaptiveArithmeticCoding(aac::Flags),
27 /// name tokenizer
28 NameTokenizer,
29 /// fqzcomp
30 Fqzcomp,
31}