pub struct Builder { /* private fields */ }
Expand description
A VCF record builder.
Implementations
sourceimpl 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,
header::info::Key,
record::{info::{field::Value, Field}, 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 = Info::try_from(vec![
Field::new(Key::SamplesWithDataCount, Some(Value::Integer(3))),
Field::new(Key::AlleleFrequencies, Some(Value::FloatArray(vec![Some(0.5)]))),
])?;
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,
header::format::Key,
record::{
genotypes::{genotype::{field::Value, Field}, Genotype},
Genotypes, Position,
},
};
let keys = "GT:GQ".parse()?;
let genotypes = Genotypes::new(
keys,
vec![Genotype::try_from(vec![
Field::new(Key::Genotype, Some(Value::String(String::from("0|0")))),
Field::new(Key::ConditionalGenotypeQuality, Some(Value::Integer(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
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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