# Implementation notes ## Frequency Databases Frequency databases are implemented using [RocksDB](https://rocksdb.org/). There are four column families: - `meta` - store meta information - `autosomal` - store autosomal variant frequencies - `gonosomal` - store gonomosal variant frequencies - `mitochondrial` - store mitochondrial variant frequencies The variant is encoded as the key. See `impl From for Vec` on how the serialization takes place. Currently, we create the RocksDB database without any particular tuning to performance or compression settings. See the data structures in [`crate::db::create::seqvar_freqs::serialized`] for the serialization of counts as little endian 32 bit integers. ## Transcript Databases * Transcript databases are stored as [ProtocolBuffers](https://protobuf.dev/). * Array-backed interval trees from [rust-bio](https://github.com/rust-bio/rust-bio) are used for fast lookup from chromosomal coordinate to transcript. * Transcripts are taken from [cdot](https://github.com/SACGF/cdot).