Struct noodles_sam::header::Builder [−][src]
pub struct Builder { /* fields omitted */ }
Expand description
A SAM header builder.
Implementations
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();
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());
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"));
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"));
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"));
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"));
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");