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

pub struct Reader { /* fields omitted */ }

A BAM reader.

Implementations

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>

Notable traits for ChunkIterator<'a, R>

impl<'a, R: Read> Iterator for ChunkIterator<'a, R> type Item = Result<Record>;
[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]

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

Read the next BAM record into the given Record. Returns None 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::errors::Error;
use rust_htslib::bam::{Read, Reader, Record};

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

// Print the TID of each record
while let Some(r) = bam.read(&mut record) {
   r.expect("Failed to parse record");
   println!("TID: {}", record.tid())
}

pub fn records(&mut self) -> Records<'_, Self>

Notable traits for Records<'a, R>

impl<'a, R: Read> Iterator for Records<'a, R> type Item = Result<Record>;
[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

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.