Skip to main content

Crate gtars_refget

Crate gtars_refget 

Source
Expand description

§Rust implementation of GA4GH Refget sequence collection functions

This module provides functions managing and retrieving sequences from a sequence collection.

§Module Structure

The library is organized into two main parts:

§Core (WASM-compatible)

The digest module contains all WASM-compatible code:

  • digest::algorithms - Hash functions (sha512t24u, md5, canonicalize_json)
  • digest::alphabet - Sequence alphabets and encoding tables
  • digest::encoder - Sequence bit-packing
  • digest::types - Core data structures (SequenceRecord, SequenceCollection)
  • digest::fasta - Bytes-based FASTA parsing
  • digest::stream - Streaming FASTA hasher for chunk-by-chunk processing

§Filesystem (requires filesystem feature)

  • fasta - File-based FASTA parsing (wraps digest::fasta with file I/O)
  • collection - Extended SequenceCollection with filesystem operations
  • store - RefgetStore for persistent sequence storage

§Feature Flags

  • filesystem (default): Enables file-based operations
  • Without filesystem: Only WASM-compatible code in digest module

Re-exports§

pub use digest::ASCII_ALPHABET;
pub use digest::Alphabet;
pub use digest::AlphabetGuesser;
pub use digest::AlphabetType;
pub use digest::DNA_2BIT_ALPHABET;
pub use digest::DNA_3BIT_ALPHABET;
pub use digest::DNA_IUPAC_ALPHABET;
pub use digest::FaiMetadata;
pub use digest::FastaStreamHasher;
pub use digest::PROTEIN_ALPHABET;
pub use digest::ParseOptions;
pub use digest::SeqColDigestLvl1;
pub use digest::SequenceCollection;
pub use digest::SequenceCollectionMetadata;
pub use digest::SequenceCollectionRecord;
pub use digest::SequenceEncoder;
pub use digest::SequenceMetadata;
pub use digest::SequenceRecord;
pub use digest::canonicalize_json;
pub use digest::decode_string_from_bytes;
pub use digest::decode_substring_from_bytes;
pub use digest::digest_fasta_bytes;
pub use digest::digest_sequence;
pub use digest::digest_sequence_with_description;
pub use digest::encode_sequence;
pub use digest::guess_alphabet;
pub use digest::load_fasta_bytes;
pub use digest::lookup_alphabet;
pub use digest::md5;
pub use digest::parse_fasta_header;
pub use digest::parse_rgsi_line;
pub use digest::sha512t24u;
pub use collection::SequenceCollectionExt;
pub use collection::SequenceCollectionRecordExt;
pub use collection::SequenceMetadataExt;
pub use collection::SequenceRecordExt;
pub use collection::read_rgsi_file;
pub use fasta::FaiRecord;
pub use fasta::compute_fai;
pub use fasta::digest_fasta;
pub use fasta::load_fasta;

Modules§

collection
Extended SequenceCollection with filesystem operations. Adds methods for RGSI file I/O, caching, and file-based construction. Extended SequenceCollection with filesystem operations.
digest
Core digest and encoding functionality - WASM-safe. All code in this module works without filesystem access. Core digest and encoding functionality - WASM-safe.
fasta
File-based FASTA operations. Wraps the WASM-compatible digest::fasta with filesystem I/O. File-based FASTA operations.
store
Persistent sequence storage (RefgetStore).