pub struct Scanner {}Expand description
A FASTQ scanner.
§Examples
use oxbow::sequence::format::fastq::Scanner;
use std::fs::File;
use std::io::BufReader;
let inner = File::open("sample.R1.fastq").map(BufReader::new).unwrap();
let fmt_reader = noodles::fastq::io::Reader::new(inner);
let scanner = Scanner::default();
let batches = scanner.scan(fmt_reader, None, None, Some(1000));Implementations§
Source§impl Scanner
impl Scanner
Sourcepub fn scan<R: BufRead>(
&self,
fmt_reader: Reader<R>,
fields: Option<Vec<String>>,
batch_size: Option<usize>,
limit: Option<usize>,
) -> Result<impl RecordBatchReader>
pub fn scan<R: BufRead>( &self, fmt_reader: Reader<R>, fields: Option<Vec<String>>, batch_size: Option<usize>, limit: Option<usize>, ) -> Result<impl RecordBatchReader>
Returns an iterator yielding record batches.
The scan will begin at the current position of the reader and will move the cursor to the end of the last record scanned.
Sourcepub fn scan_byte_ranges<R: BufRead + Seek>(
&self,
fmt_reader: Reader<R>,
byte_ranges: Vec<(u64, u64)>,
fields: Option<Vec<String>>,
batch_size: Option<usize>,
limit: Option<usize>,
) -> Result<impl RecordBatchReader>
pub fn scan_byte_ranges<R: BufRead + Seek>( &self, fmt_reader: Reader<R>, byte_ranges: Vec<(u64, u64)>, fields: Option<Vec<String>>, batch_size: Option<usize>, limit: Option<usize>, ) -> Result<impl RecordBatchReader>
Returns an iterator yielding record batches from specified byte ranges.
This operation requires a seekable (typically uncompressed) source.
The scan will traverse the specified byte ranges without filtering by genomic coordinates. This is useful when you have pre-computed file offsets from a custom index. The byte ranges must align with record boundaries.
Sourcepub fn scan_virtual_ranges<R: Read + Seek>(
&self,
fmt_reader: Reader<Reader<R>>,
vpos_ranges: Vec<(VirtualPosition, VirtualPosition)>,
fields: Option<Vec<String>>,
batch_size: Option<usize>,
limit: Option<usize>,
) -> Result<impl RecordBatchReader>
pub fn scan_virtual_ranges<R: Read + Seek>( &self, fmt_reader: Reader<Reader<R>>, vpos_ranges: Vec<(VirtualPosition, VirtualPosition)>, fields: Option<Vec<String>>, batch_size: Option<usize>, limit: Option<usize>, ) -> Result<impl RecordBatchReader>
Returns an iterator yielding record batches from specified virtual position ranges.
This operation requires a BGZF-compressed source.
The scan will traverse the specified virtual position ranges without filtering by genomic coordinates. This is useful when you have pre-computed virtual offsets from a custom index.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scanner
impl RefUnwindSafe for Scanner
impl Send for Scanner
impl Sync for Scanner
impl Unpin for Scanner
impl UnwindSafe for Scanner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more