Struct seqrepo::FastaDir

source ·
pub struct FastaDir { /* private fields */ }
Expand description

This class provides a simple key-value interface to a directory of compressed FASTA files.

Sequences are stored in dated FASTA files. Dating the files enables compact storage with multiple releases (using hard links) and efficient incremental updtes and transfers (e.g., via rsync). The FASTA files are compressed with block gzip, enabling fast random access to arbitrary regions of even large (chromosome-sized) sequences.

When the key is a hash based on sequence (e.g., SHA512), the combination provides a convenient non-redundant storage of sequences with fast access to sequences and sequence slices, compact storage and easy replication.

Implementations§

source§

impl FastaDir

source

pub fn new<P>(root_dir: P) -> Result<Self, Error>
where P: AsRef<Path>,

Initialize new FastaDir, will open connection to the database.

source

pub fn schema_version(&self) -> u32

Schema version as read from the database.

source

pub fn fetch_seqinfo(&self, seq_id: &str) -> Result<SeqInfoRecord, Error>

Load SeqInfoRecord from database.

source

pub fn fetch_sequence(&self, seq_id: &str) -> Result<String, Error>

Load complete sequence from FASTA directory.

source

pub fn fetch_sequence_part( &self, seq_id: &str, begin: Option<usize>, end: Option<usize>, ) -> Result<String, Error>

Load sequence fragment from FASTA directory.

Trait Implementations§

source§

impl Debug for FastaDir

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more