pub struct Record { /* private fields */ }
Expand description
A BED record as defined by BEDtools (http://bedtools.readthedocs.org/en/latest/content/general-usage.html)
Implementations
sourceimpl Record
impl Record
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Record
impl<'de> Deserialize<'de> for Record
sourcefn 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
sourceimpl<'a> From<&'a Record> for Contig<String, Strand>
impl<'a> From<&'a Record> for Contig<String, Strand>
sourcefn from(rec: &Record) -> Self
fn from(rec: &Record) -> Self
Returns a Contig
annotation for the BED record.
use bio::io::bed;
use bio_types::annot::contig::Contig;
use bio_types::strand::Strand;
let example = b"chr1\t5\t5000\tname1\t0.5";
let mut reader = bed::Reader::new(&example[..]);
let rec = reader
.records()
.next()
.expect("Found no bed record.")
.expect("Got a csv::Error");
let loc = Contig::from(&rec);
assert_eq!(loc.to_string(), "chr1:5-5000");
sourceimpl<R, S> From<Contig<R, S>> for Record where
R: Deref<Target = str>,
S: Into<Strand> + Copy,
impl<R, S> From<Contig<R, S>> for Record where
R: Deref<Target = str>,
S: Into<Strand> + Copy,
Generate a BED format Record
for the location.
As created, it will have an empty name.
sourceimpl<R, S> From<Pos<R, S>> for Record where
R: Deref<Target = str>,
S: Into<Strand> + Copy,
impl<R, S> From<Pos<R, S>> for Record where
R: Deref<Target = str>,
S: Into<Strand> + Copy,
Generate a BED format Record
for an annotation position.
This record will have length 1, and when created it will have an empty name.
sourceimpl<R, S> From<Spliced<R, S>> for Record where
R: Deref<Target = str>,
S: Into<Strand> + Copy,
impl<R, S> From<Spliced<R, S>> for Record where
R: Deref<Target = str>,
S: Into<Strand> + Copy,
Generate a BED format Record
for the position.
Splicing information will be represented with the 12-column BED format, using columns 10 through 12 (blockCount, blockSizes, and blockStarts) for exons.
As created, it will have an empty name and default to using the overall start & end (columns 1 and 2) for the start and end of the “thick” region (columns 7 and 8).
use bio::io::bed;
use bio_types::annot::spliced::{Spliced, SplicingError};
use bio_types::annot::AnnotError;
use bio_types::strand::ReqStrand;
let tad3 = Spliced::with_lengths_starts(
"chrXII".to_owned(),
765265,
&vec![808, 52, 109],
&vec![0, 864, 984],
ReqStrand::Reverse,
)
.expect("Encountered a bio_types::annot::spliced::SplicingError.");
assert_eq!(
tad3.to_string(),
"chrXII:765265-766073;766129-766181;766249-766358(-)"
);
let tad3_exons = tad3.exon_contigs();
assert_eq!(tad3_exons.len(), 3);
assert_eq!(tad3_exons[0].to_string(), "chrXII:766249-766358(-)");
assert_eq!(tad3_exons[1].to_string(), "chrXII:766129-766181(-)");
assert_eq!(tad3_exons[2].to_string(), "chrXII:765265-766073(-)");
let mut buf = Vec::new();
{
let mut writer = bed::Writer::new(&mut buf);
let mut tad3_bed = bed::Record::from(tad3);
tad3_bed.set_name("YLR316C");
writer.write(&tad3_bed).unwrap();
}
assert_eq!(
"chrXII\t765265\t766358\tYLR316C\t0\t-\t765265\t766358\t0\t3\t808,52,109,\t0,864,984,\n",
String::from_utf8(buf)
.unwrap_or_else(|_| "???".to_owned())
.as_str()
);
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
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.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more