Repeat Models
Quantity
module-attribute
Quantity: TypeAlias = KnownQuantity | UncertainQuantity | UnknownQuantity
Tagged union for supported repeat quantity models:
RepeatUnit
module-attribute
RepeatUnit: TypeAlias = KnownRepeatUnit | UnknownRepeatUnit
Tagged union for supported repeat unit models:
KnownQuantity
dataclass
UncertainQuantity
dataclass
Uncertain repeat quantity range.
Examples:
>>> from tinyhgvs import UncertainQuantity, parse_hgvs
>>> variant = parse_hgvs("NC_000003.12:g.63912687AGC[(19_23)]")
>>> quantity = variant.description.sequence[0].quantity
>>> isinstance(quantity, UncertainQuantity)
True
>>> quantity.lo, quantity.hi
(19, 23)
UnknownQuantity
dataclass
KnownRepeatUnit
dataclass
UnknownRepeatUnit
dataclass
Repeat
dataclass
Repeat(unit: RepeatUnit | None, quantity: Quantity)
Repeat unit and quantity used by nucleotide and protein repeat syntax.
A repeat unit can be known, unknown, or omitted when the unit is implied by the surrounding location.
Examples:
A literal nucleotide repeat unit:
>>> from tinyhgvs import parse_hgvs
>>> variant = parse_hgvs("NC_000014.8:g.123CAG[23]")
>>> repeat = variant.description.sequence[0]
>>> repeat.unit.value
'CAG'
>>> repeat.quantity.count
23
>>> repeat.is_unit_known
True
A repeat count can be unknown:
>>> variant = parse_hgvs("NC_000003.12:g.63912687AGC[?]")
>>> repeat = variant.description.sequence[0]
>>> repeat.is_quantity_unknown
True
A repeat count can be uncertain:
>>> variant = parse_hgvs("NC_000003.12:g.63912687AGC[(19_23)]")
>>> repeat = variant.description.sequence[0]
>>> repeat.is_quantity_uncertain
True
Protein repeats use the same repeat model:
>>> variant = parse_hgvs("NP_0123456.1:p.Arg65_Ser67[12]")
>>> variant.description.edit.repeat.quantity.count
12