Assumptions and Limitations¶
Research use only¶
genoABO is intended for research use only. Genotype-inferred ABO groups do not capture all rare, weak, cis-AB, structural, or otherwise atypical ABO alleles and must not be used for transfusion or clinical decision-making.
Scope¶
- Common A/B/O/AB inference from four SNP markers
- Six common diplotypes under standard assumptions
- Extended method limited to ABO*A.01, ABO*B.01, ABO*O.01 (allele-registry v0.1)
- No ISBT-comprehensive typing
- No structural variant detection
- No clinical validation claims
Known limitations¶
- Rare alleles: Non-deletional O alleles, weak A/B, cis-AB, and null alleles may be misclassified.
- Proxy inference: rs505922 is in LD with O, not functional; UKB fallback lowers confidence. 1000 Genomes 30x hg38 haplotype r² with rs8176719: EAS 0.946, EUR 0.869, AMR 0.820, AFR 0.437. See Marker LD.
- Reference orientation: rs8176719 representation varies by pipeline; normalization required.
- Population assumptions: The default
--assume-borule (O-del on A background → B/O) is a common-allele assumption, not phase. On 1000 Genomes NYGC 30x GRCh38 (phased GT, not serology), unphased double-hets were B/O in AMR 20/20, EAS 124/124, and EUR 41/41. In AFR 105/113 (92.9%) were B/O and 8/113 were A/O, so--assume-bowould call group B instead of A. Pass--no-assume-boto leave unphased double-hets ambiguous (recommended for unphased African-ancestry data). See 1000 Genomes--assume-bocheck. - Imputation quality: The VCF INFO score is shown in
--inspect/.qc.tsvwhen present. It is not used to changeconfidence. Dosage or GP below the hardcall thresholds is treated as a missing marker (confidence = none).
Unresolved edge cases (TODO)¶
- Comprehensive validation against serology across ancestries
- Non-deletional O subtypes (rs41302905, rs782782485 region)
- Multiallelic ABO copy-number or hybrid alleles
- CHM13 coordinate validation in repetitive 9q34.2 region
- Strand ambiguity for palindromic contexts (if any)
Population frequency QC¶
Population A/B/AB/O percentages in QC output are informational only. Samples are never rejected based on population frequency deviation.
Build detection¶
When evidence conflicts, genoABO errors and requires explicit --build.
Never silently guesses assembly.