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
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::strand::Strand;
use bio_types::annot::contig::Contig;
let example = b"chr1\t5\t5000\tname1\t0.5";
let mut reader = bed::Reader::new(&example[..]);
let rec = reader.records().next().ok_or("No record available!")??;
let loc = Contig::from(&rec);
assert_eq!(loc.to_string(), "chr1:5-5000");
sourceimpl<R, S> From<Contig<R, S>> for Recordwhere
R: Deref<Target = str>,
S: Into<Strand> + Copy,
impl<R, S> From<Contig<R, S>> for Recordwhere
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 Recordwhere
R: Deref<Target = str>,
S: Into<Strand> + Copy,
impl<R, S> From<Pos<R, S>> for Recordwhere
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 Recordwhere
R: Deref<Target = str>,
S: Into<Strand> + Copy,
impl<R, S> From<Spliced<R, S>> for Recordwhere
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_types::strand::ReqStrand;
use bio_types::annot::AnnotError;
use bio_types::annot::spliced::{Spliced,SplicingError};
use bio::io::bed;
let tad3 = Spliced::with_lengths_starts("chrXII".to_owned(), 765265,
&vec![808,52,109], &vec![0,864,984],
ReqStrand::Reverse)?;
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).ok().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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more