pub struct IndexedFastaReader<R> { /* private fields */ }Expand description
Seekable FASTA reader backed by a .fai index.
Implementations§
Source§impl<R: Read + Seek> IndexedFastaReader<R>
impl<R: Read + Seek> IndexedFastaReader<R>
Sourcepub fn new(inner: R, index: FastaIndex) -> Self
pub fn new(inner: R, index: FastaIndex) -> Self
Create a seekable FASTA reader from an input stream and index.
Sourcepub fn index(&self) -> &FastaIndex
pub fn index(&self) -> &FastaIndex
Return the loaded FASTA index.
Sourcepub fn fetch_into(
&mut self,
name: &[u8],
range: Range<u64>,
out: &mut Vec<u8>,
) -> Result<()>
pub fn fetch_into( &mut self, name: &[u8], range: Range<u64>, out: &mut Vec<u8>, ) -> Result<()>
Fetch a zero-based half-open sequence range into out.
Sourcepub fn fetch(&mut self, name: &[u8], range: Range<u64>) -> Result<Vec<u8>>
pub fn fetch(&mut self, name: &[u8], range: Range<u64>) -> Result<Vec<u8>>
Fetch a zero-based half-open sequence range into an owned buffer.
Sourcepub fn reference_chunks(
&mut self,
name: &[u8],
range: Range<u64>,
chunk_bases: u64,
) -> Result<FastaReferenceChunks<'_, R>>
pub fn reference_chunks( &mut self, name: &[u8], range: Range<u64>, chunk_bases: u64, ) -> Result<FastaReferenceChunks<'_, R>>
Stream owned sequence chunks for one reference range.
chunk_bases values below 1 are raised to 1. Chunks are yielded as
owned buffers so callers can move them to worker threads after each
iterator step.
Sourcepub fn reference_chunks_into<S>(
&mut self,
name: &[u8],
range: Range<u64>,
chunk_bases: u64,
out: &mut Vec<u8>,
sink: &mut S,
) -> Result<()>where
S: FastaReferenceChunkSink,
pub fn reference_chunks_into<S>(
&mut self,
name: &[u8],
range: Range<u64>,
chunk_bases: u64,
out: &mut Vec<u8>,
sink: &mut S,
) -> Result<()>where
S: FastaReferenceChunkSink,
Stream borrowed sequence chunks into a sink using caller-owned storage.
chunk_bases values below 1 are raised to 1. out is cleared and
reused for each chunk, and the borrowed chunk passed to sink is valid
only until the next sink call or until this method returns.
Sourcepub fn fetch_partition(
&mut self,
partition: &FastaPartition,
) -> Result<FastaReferenceChunk>
pub fn fetch_partition( &mut self, partition: &FastaPartition, ) -> Result<FastaReferenceChunk>
Fetch a planned partition into an owned reference chunk.
Sourcepub fn into_inner(self) -> (R, FastaIndex)
pub fn into_inner(self) -> (R, FastaIndex)
Return the wrapped reader and index.