pub struct Record { /* private fields */ }
Expand description
A FastQ record.
Implementations§
source§impl Record
impl Record
sourcepub fn with_attrs(
id: &str,
desc: Option<&str>,
seq: TextSlice<'_>,
qual: &[u8]
) -> Self
pub fn with_attrs( id: &str, desc: Option<&str>, seq: TextSlice<'_>, qual: &[u8] ) -> Self
Create a new FastQ record from given attributes.
Example
use bio::io::fastq::Record;
let record = Record::with_attrs("id_str", Some("desc"), b"ATGCGGG", b"QQQQQQQ");
assert_eq!(record.id(), "id_str");
assert_eq!(record.desc(), Some("desc"));
assert_eq!(record.seq(), b"ATGCGGG");
assert_eq!(record.qual(), b"QQQQQQQ");
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Check if a record is empty.
Example
use bio::io::fastq::Record;
let mut record = Record::new();
assert!(record.is_empty());
record = Record::with_attrs("id_str", Some("desc"), b"ATGCGGG", b"QQQQQQQ");
assert!(!record.is_empty());
sourcepub fn check(&self) -> Result<(), &str>
pub fn check(&self) -> Result<(), &str>
Check the validity of a FastQ record.
Errors
This function will return an Err
if one of the following conditions is met:
- The record identifier is empty.
- There is a non-ASCII character found in either the sequence or quality strings.
- The sequence and quality strings do not have the same length.
Example
use bio::io::fastq::Record;
let mut record = Record::with_attrs("id", None, "Prüfung".as_ref(), b"!!!!!!!");
let actual = record.check().unwrap_err();
let expected = "Non-ascii character found in sequence.";
assert_eq!(actual, expected);
record = Record::with_attrs("id_str", Some("desc"), b"ATGCGGG", b"QQQQQQQ");
assert!(record.check().is_ok());
Trait Implementations§
source§impl<'de> Deserialize<'de> for Record
impl<'de> Deserialize<'de> for Record
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for Record
impl Display for Record
source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Allows for using Record
in a given formatter f
. In general this is for
creating a String
representation of a Record
and, optionally, writing it to
a file.
Errors
Returns std::fmt::Error
if there is an issue formatting to the stream.
Examples
Read in a Fastq Record
and create a String
representation of it.
use bio::io::fastq::Reader;
use std::fmt::Write;
// create a "fake" fastq file
let fq: &'static [u8] = b"@id description\nACGT\n+\n!!!!\n";
let mut records = Reader::new(fq).records().map(|r| r.unwrap());
let record = records.next().unwrap();
let mut actual = String::new();
// populate `actual` with a string representation of our record
write!(actual, "{}", record).unwrap();
let expected = std::str::from_utf8(fq).unwrap();
assert_eq!(actual, expected)
source§impl Ord for Record
impl Ord for Record
source§impl PartialEq<Record> for Record
impl PartialEq<Record> for Record
source§impl PartialOrd<Record> for Record
impl PartialOrd<Record> for Record
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl SequenceRead for Record
impl SequenceRead for Record
impl Eq for Record
impl StructuralEq for Record
impl StructuralPartialEq for Record
Auto Trait Implementations§
impl RefUnwindSafe for Record
impl Send for Record
impl Sync for Record
impl Unpin for Record
impl UnwindSafe for Record
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
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.