Struct noodles_sam::header::Builder
source · [−]pub struct Builder { /* private fields */ }
Expand description
A SAM header builder.
Implementations
sourceimpl Builder
impl Builder
sourcepub fn new() -> Self
👎 Deprecated since 0.12.0: Use sam::Header::builder
instead.
pub fn new() -> Self
👎 Deprecated since 0.12.0:
Use sam::Header::builder
instead.
Creates a new SAM header builder.
Typically, Header::builder
is used instead of calling this.
Examples
use noodles_sam as sam;
let builder = sam::Header::builder();
sourcepub fn set_header(self, header: Header) -> Self
pub fn set_header(self, header: Header) -> Self
Sets a SAM header header.
Examples
use noodles_sam as sam;
let header = sam::Header::builder()
.set_header(sam::header::header::Header::default())
.build();
assert!(header.header().is_some());
sourcepub fn set_reference_sequences(
self,
reference_sequences: ReferenceSequences
) -> Self
pub fn set_reference_sequences(
self,
reference_sequences: ReferenceSequences
) -> Self
Sets the reference sequences.
Examples
use noodles_sam::{self as sam, header::{reference_sequence, ReferenceSequence}};
let reference_sequences = [("sq0".parse()?, 13)]
.into_iter()
.map(|(name, len): (reference_sequence::Name, i32)| {
let sn = name.to_string();
ReferenceSequence::new(name, len).map(|rs| (sn, rs))
})
.collect::<Result<_, _>>()?;
let header = sam::Header::builder()
.set_reference_sequences(reference_sequences)
.build();
let reference_sequences = header.reference_sequences();
assert_eq!(reference_sequences.len(), 1);
assert!(reference_sequences.contains_key("sq0"));
sourcepub fn add_reference_sequence(
self,
reference_sequence: ReferenceSequence
) -> Self
pub fn add_reference_sequence(
self,
reference_sequence: ReferenceSequence
) -> Self
Adds a reference sequence to the SAM header.
Examples
use noodles_sam::{self as sam, header::ReferenceSequence};
let header = sam::Header::builder()
.add_reference_sequence(ReferenceSequence::new("sq0".parse()?, 13)?)
.build();
let reference_sequences = header.reference_sequences();
assert_eq!(reference_sequences.len(), 1);
assert!(reference_sequences.contains_key("sq0"));
sourcepub fn add_read_group(self, read_group: ReadGroup) -> Self
pub fn add_read_group(self, read_group: ReadGroup) -> Self
Adds a read group to the SAM header.
Examples
use noodles_sam::{self as sam, header::ReadGroup};
let header = sam::Header::builder()
.add_read_group(ReadGroup::new("rg0"))
.build();
let read_groups = header.read_groups();
assert_eq!(read_groups.len(), 1);
assert!(read_groups.contains_key("rg0"));
sourcepub fn add_program(self, program: Program) -> Self
pub fn add_program(self, program: Program) -> Self
Adds a program to the SAM header.
Examples
use noodles_sam::{self as sam, header::Program};
let header = sam::Header::builder()
.add_program(Program::new("noodles-sam"))
.build();
let programs = header.programs();
assert_eq!(programs.len(), 1);
assert!(programs.contains_key("noodles-sam"));
sourcepub fn add_comment<S>(self, comment: S) -> Self where
S: Into<String>,
pub fn add_comment<S>(self, comment: S) -> Self where
S: Into<String>,
Adds a comment to the SAM header.
Examples
use noodles_sam as sam;
let header = sam::Header::builder().add_comment("noodles-sam").build();
let comments = header.comments();
assert_eq!(comments.len(), 1);
assert_eq!(&comments[0], "noodles-sam");
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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