Struct noodles_bcf::Record [−][src]
pub struct Record(_);
Expand description
A BCF record.
A bcf::Record
wraps a raw byte buffer, and the fields should be considered immutable.
Implementations
Converts a VCF record to a BCF record.
Examples
use noodles_bcf as bcf;
use noodles_vcf::{self as vcf, record::Position};
let raw_header = "##fileformat=VCFv4.3\n##contig=<ID=sq0>\n#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n";
let header: vcf::Header = raw_header.parse()?;
let string_map = raw_header.parse()?;
let record = bcf::Record::from(vec![
0x00, 0x00, 0x00, 0x00, // chrom = sq0
0x00, 0x00, 0x00, 0x00, // pos = 0 (base 0)
0x01, 0x00, 0x00, 0x00, // rlen = 1
0x01, 0x00, 0x80, 0x7f, // qual = Float::Missing
0x00, 0x00, // n_info = 0
0x01, 0x00, // n_allele = 1
0x00, // n_sample = 0
0x00, 0x00, 0x00, // n_fmt = 0
0x07, // id = [missing]
0x17, 0x41, // ref = A
0x00, // filter = []
]);
let actual = record.try_into_vcf_record(&header, &string_map)?;
let expected = vcf::Record::builder()
.set_chromosome("sq0".parse()?)
.set_position(Position::try_from(1)?)
.set_reference_bases("A".parse()?)
.build()?;
assert_eq!(actual, expected);
Returns the chromosome ID of the record.
The chromosome ID is the index of the associated contig in the VCF header.
Examples
use noodles_bcf as bcf;
let record = bcf::Record::from(vec![
0x08, 0x00, 0x00, 0x00, // CHROM
// ...
]);
assert_eq!(record.chromosome_id()?, 8);
Returns the start position of this record.
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_vcf as vcf;
let record = bcf::Record::from(vec![
0x08, 0x00, 0x00, 0x00, // CHROM
0x0c, 0x00, 0x00, 0x00, // POS
// ...
]);
assert_eq!(record.position().map(i32::from)?, 13);
Returns the end position of this record.
This value is 1-based.
Examples
use noodles_bcf as bcf;
use noodles_vcf as vcf;
let record = bcf::Record::from(vec![
0x08, 0x00, 0x00, 0x00, // CHROM
0x0c, 0x00, 0x00, 0x00, // POS
0x05, 0x00, 0x00, 0x00, // rlen
// ...
]);
assert_eq!(record.end().map(i32::from)?, 17);
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Record
impl UnwindSafe for Record
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.