Struct noodles_bam::record::Record[][src]

pub struct Record(_);
Expand description

A BAM record.

A BAM record encodes the same fields as a SAM record:

  • reference sequence ID (RNAME equiv.),
  • position (POS),
  • mapping quality (MAPQ),
  • flags (FLAG),
  • mate reference sequence ID (RNEXT equiv.),
  • mate position (PNEXT),
  • template length (TLEN),
  • read name (QNAME),
  • CIGAR operations (CIGAR),
  • sequence (SEQ),
  • quality scores (QUAL), and
  • optional data fields.

Additionally, it encodes the BAM index bin (bin).

A bam::Record wraps a raw byte buffer, and the fields should be considered immutable.

Implementations

Converts a SAM record to a BAM record.

Examples

use noodles_bam as bam;
use noodles_sam::{self as sam, header::ReferenceSequences};

let reference_sequences = ReferenceSequences::default();
let sam_record = sam::Record::default();

let record = bam::Record::try_from_sam_record(&reference_sequences, &sam_record)?;
assert_eq!(record, bam::Record::default());

Converts this record to a SAM record.

Examples

use noodles_bam as bam;
use noodles_sam as sam;

let reference_sequences = sam::header::ReferenceSequences::default();

let record = bam::Record::default();
let sam_record = record.try_into_sam_record(&reference_sequences)?;

assert_eq!(sam_record, sam::Record::default());

Returns the reference sequence ID of this record.

The reference sequence ID is the index of the associated reference sequence in the SAM header or BAM reference sequences.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.reference_sequence_id().is_none());

Returns the start position of this record.

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

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.position().is_none());

Returns the mapping quality of this record.

Examples

use noodles_bam as bam;
use noodles_sam as sam;
let record = bam::Record::default();
assert!(record.mapping_quality().is_none());

Returns the index bin that includes this record.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert_eq!(record.bin(), 4680);

Returns the SAM flags of this record.

Examples

use noodles_bam as bam;
use noodles_sam as sam;
let record = bam::Record::default();
assert_eq!(record.flags(), sam::record::Flags::UNMAPPED);

Returns the reference sequence ID of the mate of this record.

The mate reference sequence ID is the index of the associated reference sequence in the SAM header or BAM reference sequences.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.mate_reference_sequence_id().is_none());

Returns the start position of the mate of this record.

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

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.mate_position().is_none());

Returns the template length of this record.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert_eq!(record.template_length(), 0);

Returns the read name of this record.

This is also called the query name.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert_eq!(record.read_name()?.to_bytes(), b"*");

Returns the CIGAR operations that describe how the read was mapped.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.cigar().is_empty());

Returns the bases in the sequence of this record.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.sequence().is_empty());

Returns the quality score for each base in the sequence.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.quality_scores().is_empty());

Returns the optional data fields for this record.

Examples

use noodles_bam as bam;
let record = bam::Record::default();
assert!(record.data().is_empty());

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

The resulting type after dereferencing.

Dereferences the value.

Mutably dereferences the value.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.