Struct noodles_vcf::record::builder::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A VCF record builder.
Implementations§
source§impl Builder
impl Builder
sourcepub fn set_chromosome(self, chromosome: Chromosome) -> Self
pub fn set_chromosome(self, chromosome: Chromosome) -> Self
Sets the chromosome.
Examples
use noodles_vcf::{self as vcf, record::{Chromosome, Position}};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.build()?;
assert_eq!(record.chromosome(), &Chromosome::Name(String::from("sq0")));
sourcepub fn set_position(self, position: Position) -> Self
pub fn set_position(self, position: Position) -> Self
Sets the start position.
Examples
use noodles_vcf::{self as vcf, record::Position};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(8))
.set_reference_bases("A".parse()?)
.build()?;
assert_eq!(usize::from(record.position()), 8);
sourcepub fn set_ids(self, ids: Ids) -> Self
pub fn set_ids(self, ids: Ids) -> Self
Sets a list of IDs.
Examples
use noodles_vcf::{self as vcf, record::Position};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_ids("nd0".parse()?)
.set_reference_bases("A".parse()?)
.build()?;
assert_eq!(*record.ids(), "nd0".parse()?);
sourcepub fn set_reference_bases(self, reference_bases: ReferenceBases) -> Self
pub fn set_reference_bases(self, reference_bases: ReferenceBases) -> Self
Sets the reference bases.
Examples
use noodles_vcf::{
self as vcf,
record::{reference_bases::Base, Position, ReferenceBases},
};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.build()?;
assert_eq!(
record.reference_bases(),
&ReferenceBases::try_from(vec![Base::A])?,
);
sourcepub fn add_reference_base(self, reference_base: Base) -> Self
pub fn add_reference_base(self, reference_base: Base) -> Self
Adds a base to reference bases.
Examples
use noodles_vcf::{
self as vcf,
record::{reference_bases::Base, Position, ReferenceBases},
};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.add_reference_base(Base::A)
.build()?;
assert_eq!(
record.reference_bases(),
&ReferenceBases::try_from(vec![Base::A])?,
);
sourcepub fn set_alternate_bases(self, alternate_bases: AlternateBases) -> Self
pub fn set_alternate_bases(self, alternate_bases: AlternateBases) -> Self
Sets the alternate bases.
Examples
use noodles_vcf::{
self as vcf,
record::{alternate_bases::Allele, reference_bases::Base, AlternateBases, Position},
};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.set_alternate_bases("C".parse()?)
.build()?;
assert_eq!(
record.alternate_bases(),
&AlternateBases::from(vec![Allele::Bases(vec![Base::C])]),
);
sourcepub fn set_quality_score(self, quality_score: QualityScore) -> Self
pub fn set_quality_score(self, quality_score: QualityScore) -> Self
Sets the quality score.
Examples
use noodles_vcf::{self as vcf, record::{Position, QualityScore}};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.set_quality_score(QualityScore::try_from(13.0)?)
.build()?;
assert_eq!(record.quality_score().map(f32::from), Some(13.0));
sourcepub fn set_filters(self, filters: Filters) -> Self
pub fn set_filters(self, filters: Filters) -> Self
Sets the filters.
Examples
use noodles_vcf::{self as vcf, record::{Filters, Position}};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.set_filters(Filters::Pass)
.build()?;
assert_eq!(record.filters(), Some(&Filters::Pass));
sourcepub fn set_info(self, info: Info) -> Self
pub fn set_info(self, info: Info) -> Self
Sets additional information.
Examples
use noodles_vcf::{
self as vcf,
record::{info::field::{key, Value}, Info, Position},
};
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.set_alternate_bases("C".parse()?)
.set_info("NS=3;AF=0.5".parse()?)
.build()?;
let expected = [
(key::SAMPLES_WITH_DATA_COUNT, Some(Value::Integer(3))),
(key::ALLELE_FREQUENCIES, Some(Value::from(vec![Some(0.5)]))),
].into_iter().collect();
assert_eq!(record.info(), &expected);
sourcepub fn set_genotypes(self, genotypes: Genotypes) -> Self
pub fn set_genotypes(self, genotypes: Genotypes) -> Self
Sets the list of genotypes.
Examples
use noodles_vcf::{
self as vcf,
record::{genotypes::sample::Value, Genotypes, Position},
};
let keys = "GT:GQ".parse()?;
let genotypes = Genotypes::new(
keys,
vec![vec![Some(Value::from("0|0")), Some(Value::from(13))]],
);
let record = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::from(1))
.set_reference_bases("A".parse()?)
.set_genotypes(genotypes.clone())
.build()?;
assert_eq!(record.genotypes(), &genotypes);
Trait Implementations§
source§impl PartialEq for Builder
impl PartialEq for Builder
impl StructuralPartialEq for Builder
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more