[][src]Struct rust_htslib::bam::Reader

pub struct Reader { /* fields omitted */ }

A BAM reader.

Methods

impl Reader[src]

pub fn from_path<P: AsRef<Path>>(path: P) -> Result<Self>[src]

Create a new Reader from path.

Arguments

  • path - the path to open.

pub fn from_stdin() -> Result<Self>[src]

Create a new Reader from STDIN.

pub fn from_url(url: &Url) -> Result<Self>[src]

Create a new Reader from URL.

pub fn iter_chunk(
    &mut self,
    start: Option<i64>,
    end: Option<i64>
) -> ChunkIterator<Self>
[src]

Iterator over the records between the (optional) virtual offsets start and end

Arguments

  • start - Optional starting virtual offset to seek to. Throws an error if it is not a valid virtual offset.

  • end - Read until the virtual offset is less than end

pub fn set_reference<P: AsRef<Path>>(&mut self, path: P) -> Result<()>[src]

Set the reference path for reading CRAM files.

Arguments

  • path - path to the FASTA reference

Trait Implementations

impl Debug for Reader[src]

impl Drop for Reader[src]

impl Read for Reader[src]

fn read(&mut self, record: &mut Record) -> Result<bool>[src]

Read the next BAM record into the given Record. Returns a true result if a record was read, or false if there are no more records.

This method is useful if you want to read records as fast as possible as the Record can be reused. A more ergonomic approach is to use the records iterator.

Errors

If there are any issues with reading the next record an error will be returned.

Examples

use rust_htslib::bam::{Error, Read, Reader, Record};

let mut bam = Reader::from_path(&"test/test.bam")?;
let mut record = Record::new();

// Print the TID of each record
while bam.read(&mut record)? {
   println!("TID: {}", record.tid())
}

fn records(&mut self) -> Records<Self>[src]

Iterator over the records of the fetched region. Note that, while being convenient, this is less efficient than pre-allocating a Record and reading into it with the read method, since every iteration involves the allocation of a new Record.

impl Send for Reader[src]

Auto Trait Implementations

impl RefUnwindSafe for Reader

impl !Sync for Reader

impl Unpin for Reader

impl UnwindSafe for Reader

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.