Struct noodles_bcf::record::Record

source ·
pub struct Record(/* private fields */);
Expand description

A BCF record.

Implementations§

source§

impl Record

source

pub fn reference_sequence_id(&self) -> Result<usize>

Returns the reference sequence ID of the record.

The reference sequence ID represents an index in the contig string map, which associates an ID (by position) with a contig record in the VCF header (by name). That is, to get the associated contig record in the VCF header, the contig string map must first be queried by position to find the chromosome name, and then the contigs in the VCF header can be queried by name.

§Examples
use noodles_bcf as bcf;
let record = bcf::Record::default();
assert_eq!(record.reference_sequence_id()?, 0);
source

pub fn reference_sequence_name<'h>( &self, string_maps: &'h StringMaps, ) -> Result<&'h str>

Returns the reference sequence name.

§Examples
use noodles_bcf as bcf;
use noodles_vcf::{
    self as vcf,
    header::{record::value::{map::Contig, Map}, StringMaps},
};

let header = vcf::Header::builder()
    .add_contig("sq0", Map::<Contig>::new())
    .build();
let string_maps = StringMaps::try_from(&header)?;

let record = bcf::Record::default();
assert_eq!(record.reference_sequence_name(&string_maps)?, "sq0");
source

pub fn variant_start(&self) -> Option<Result<Position>>

Returns the variant start position.

Despite the BCF format using 0-based positions, this normalizes the value as a 1-based position.

§Examples
use noodles_bcf as bcf;
use noodles_core::Position;
let record = bcf::Record::default();
assert_eq!(record.variant_start().transpose()?, Some(Position::MIN));
source

pub fn end(&self) -> Result<Position>

Returns the end position of this record.

This value is 1-based.

§Examples
use noodles_bcf as bcf;
use noodles_core::Position;
let record = bcf::Record::default();
assert_eq!(record.end()?, Position::MIN);
source

pub fn quality_score(&self) -> Result<Option<f32>>

Returns the quality score.

§Examples
use noodles_bcf as bcf;
let record = bcf::Record::default();
assert!(record.quality_score()?.is_none());
source

pub fn ids(&self) -> Ids<'_>

Returns the IDs.

§Examples
use noodles_bcf as bcf;
use noodles_vcf::variant::record::Ids;
let record = bcf::Record::default();
assert!(record.ids().is_empty());
source

pub fn reference_bases(&self) -> ReferenceBases<'_>

Returns the reference bases.

§Examples
use noodles_bcf as bcf;
let record = bcf::Record::default();
assert_eq!(record.reference_bases().as_ref(), b"N");
source

pub fn alternate_bases(&self) -> AlternateBases<'_>

Returns the alternate bases.

§Examples
use noodles_bcf as bcf;
use noodles_vcf::variant::record::AlternateBases;
let record = bcf::Record::default();
assert!(record.alternate_bases().is_empty());
source

pub fn filters(&self) -> Filters<'_>

Returns the filters.

§Examples
use noodles_bcf as bcf;
use noodles_vcf::variant::record::Filters;
let record = bcf::Record::default();
assert!(record.filters().is_empty());
source

pub fn info(&self) -> Info<'_>

Returns the info.

§Examples
use noodles_bcf as bcf;
use noodles_vcf::variant::record::Info;
let record = bcf::Record::default();
assert!(record.info().is_empty());
source

pub fn samples(&self) -> Result<Samples<'_>>

Returns the samples.

§Examples
use noodles_bcf as bcf;
use noodles_vcf::variant::record::Samples;
let record = bcf::Record::default();
assert!(record.samples()?.is_empty());

Trait Implementations§

source§

impl Clone for Record

source§

fn clone(&self) -> Record

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Record

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Record

source§

fn default() -> Record

Returns the “default value” for a type. Read more
source§

impl PartialEq for Record

source§

fn eq(&self, other: &Record) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Record for Record

source§

fn reference_sequence_name<'a, 'h: 'a>( &'a self, header: &'h Header, ) -> Result<&'a str>

Returns the reference sequence name.
source§

fn variant_start(&self) -> Option<Result<Position>>

Returns the variant start position.
source§

fn ids(&self) -> Box<dyn Ids + '_>

Returns the IDs.
source§

fn reference_bases(&self) -> Box<dyn ReferenceBases + '_>

Returns the reference bases.
source§

fn alternate_bases(&self) -> Box<dyn AlternateBases + '_>

Returns the alternate bases.
source§

fn quality_score(&self) -> Option<Result<f32>>

Returns the quality scores.
source§

fn filters(&self) -> Box<dyn Filters + '_>

Returns the filters.
source§

fn info(&self) -> Box<dyn Info + '_>

Return the info fields.
source§

fn samples(&self) -> Result<Box<dyn Samples + '_>>

Returns the samples.
source§

fn variant_span(&self, header: &Header) -> Result<usize, Error>

Returns the variant span.
source§

fn variant_end(&self, header: &Header) -> Result<Position, Error>

Returns or calculates the variant end position. Read more
source§

impl StructuralPartialEq for Record

Auto Trait Implementations§

§

impl Freeze for Record

§

impl RefUnwindSafe for Record

§

impl Send for Record

§

impl Sync for Record

§

impl Unpin for Record

§

impl UnwindSafe for Record

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.