pub struct Reader<B> { /* private fields */ }
Expand description
A FASTA reader.
Implementations
sourceimpl<R> Reader<BufReader<R>> where
R: Read,
impl<R> Reader<BufReader<R>> where
R: Read,
sourcepub fn new(reader: R) -> Self
pub fn new(reader: R) -> Self
Create a new Fasta reader given an instance of io::Read
.
Example
let reader = Reader::new(fasta_file);
sourcepub fn with_capacity(capacity: usize, reader: R) -> Self
pub fn with_capacity(capacity: usize, reader: R) -> Self
Create a new Fasta reader given a capacity and an instance of io::Read
.
Example
let reader = Reader::with_capacity(16384, fasta_file);
sourceimpl<B> Reader<B> where
B: BufRead,
impl<B> Reader<B> where
B: BufRead,
sourcepub fn from_bufread(bufreader: B) -> Self
pub fn from_bufread(bufreader: B) -> Self
Create a new Fasta reader with an object that implements io::BufRead
.
Example
let buffer = io::BufReader::with_capacity(16384, fasta_file);
let reader = Reader::from_bufread(buffer);
sourcepub fn records(self) -> Records<B>ⓘNotable traits for Records<B>impl<B> Iterator for Records<B> where
B: BufRead, type Item = Result<Record>;
pub fn records(self) -> Records<B>ⓘNotable traits for Records<B>impl<B> Iterator for Records<B> where
B: BufRead, type Item = Result<Record>;
B: BufRead, type Item = Result<Record>;
Return an iterator over the records of this Fasta file.
Example
for record in reader.records() {
let record = record.unwrap();
assert_eq!(record.id(), "id");
assert_eq!(record.desc().unwrap(), "desc");
assert_eq!(record.seq().to_vec(), b"AAAA");
}
Trait Implementations
sourceimpl<B> FastaRead for Reader<B> where
B: BufRead,
impl<B> FastaRead for Reader<B> where
B: BufRead,
sourcefn read(&mut self, record: &mut Record) -> Result<()>
fn read(&mut self, record: &mut Record) -> Result<()>
Read the next FASTA record into the given Record
.
An empty record indicates that no more records can be read.
Use this method when you want to read records as fast as
possible because it allows the reuse of a Record
allocation.
The records iterator provides a more ergonomic approach to accessing FASTA records.
Errors
This function will return an error if the record is incomplete, syntax is violated or any form of I/O error is encountered.
Example
use bio::io::fasta::Record;
use bio::io::fasta::{FastaRead, Reader};
const fasta_file: &'static [u8] = b">id desc
AAAA
";
let mut reader = Reader::new(fasta_file);
let mut record = Record::new();
// Check for errors parsing the record
reader
.read(&mut record)
.expect("fasta reader: got an io::Error or could not read_line()");
assert_eq!(record.id(), "id");
assert_eq!(record.desc().unwrap(), "desc");
assert_eq!(record.seq().to_vec(), b"AAAA");
Auto Trait Implementations
impl<B> RefUnwindSafe for Reader<B> where
B: RefUnwindSafe,
impl<B> Send for Reader<B> where
B: Send,
impl<B> Sync for Reader<B> where
B: Sync,
impl<B> Unpin for Reader<B> where
B: Unpin,
impl<B> UnwindSafe for Reader<B> where
B: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.