pub struct CdsSegment {
pub exon_index: u16,
pub genomic_start: u64,
pub genomic_end: u64,
pub phase: u8,
}Expand description
A single CDS segment within a TranscriptModel.
One CdsSegment corresponds to one GFF3 CDS row. Segments are ordered
5’→3’ on the transcript (reversed for minus-strand genes), matching the
exons vector on TranscriptModel. The per-segment phase captures
the reading-frame offset that VEP needs for frameshift detection and p. HGVS
notation across exon boundaries.
exon_index is the 0-based index into TranscriptModel::exons of the exon
that contains this CDS segment — this lets downstream code walk codons
without re-scanning the exon vector for every CDS row.
Fields§
§exon_index: u160-based index into TranscriptModel::exons of the containing exon.
genomic_start: u64Genomic start coordinate, 0-based inclusive.
genomic_end: u64Genomic end coordinate, 0-based exclusive (half-open).
phase: u8GFF3 column-8 phase: 0, 1, or 2 — the number of bases at the
transcript-5’ end of this CDS segment that belong to the final codon
of the previous segment. A missing GFF3 phase (.) is normalized to
0 at build time. Any value > 2 is rejected as malformed input.
Trait Implementations§
Source§impl Clone for CdsSegment
impl Clone for CdsSegment
Source§fn clone(&self) -> CdsSegment
fn clone(&self) -> CdsSegment
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more