ABO Inference Methods¶
This document defines the formal decision logic implemented by genoABO. All rules operate on biological marker states after normalization — never on raw VCF REF/ALT.
Research use only. genoABO is not a clinical blood-transfusion typing tool.
For the load-to-output pipeline see workflow.md; for marker coordinates see markers.md; for limitations see assumptions.md.
Overview¶
genoABO maps four ABO tag SNPs to biological states, builds haplotypes (phased or unphased), resolves a diplotype, and emits an ABO phenotype with confidence and QC notes.
| Method | Markers | Use case |
|---|---|---|
common |
rs8176719, rs8176746 | Standard 2-marker inference |
three-marker |
+ rs8176747 | East Asian / extra B check |
ukb |
rs8176719, rs8176746, rs505922 | UK Biobank Field 23165 style |
extended |
ISBT YAML (v0.1: A.01, B.01, O.01) | Experimental allele matching |
flowchart LR
Markers[Tag SNPs] --> Norm[Biological states]
Norm --> Hap[Haplotype rules]
Hap --> Dip[Diplotype]
Dip --> Pheno[ABO phenotype]
1. Biological marker states¶
| Marker | States | Meaning |
|---|---|---|
| rs8176719 | O_DEL, NON_O |
c.261delG (O) vs 261G present (A/B background) |
| rs8176746 | A_ALLELE, B_ALLELE |
c.796C>A differentiator |
| rs8176747 | A_ALLELE, B_ALLELE |
c.803G>C differentiator |
| rs505922 | O_PROXY, NON_O_PROXY |
LD proxy for O haplotype (not functional) |
rs8176719 and reference assemblies¶
On GRCh37/GRCh38 the reference sequence carries the O-associated allele at c.261.
Therefore VCF records often show an insertion alt allele for A/B, not a deletion for O.
genoABO maps all representations to O_DEL or NON_O via markers.yaml.
2. Shared inference rules¶
Haplotype construction (phased)¶
For each chromosome copy (haplotype):
- If rs8176719 =
O_DEL→ haplotype = O - Else if rs8176746 =
B_ALLELE(and rs8176747 =B_ALLELEwhen available) → haplotype = B - Else if rs8176746 =
A_ALLELE(and rs8176747 =A_ALLELEwhen available) → haplotype = A - Else → haplotype = unknown
Figure. One chromosome copy: O_DEL yields O; otherwise B_ALLELE yields B and A_ALLELE yields A. Under three-marker, rs8176746 / rs8176747 disagreement is qc_status=CONFLICT with confidence low; no haplotype is forced.
When rs8176746 and rs8176747 disagree under three-marker method → qc_status=CONFLICT, confidence = low, phenotype unassigned.
Diplotype → phenotype¶
Sort haplotypes alphabetically (A < B < O) and map:
| Diplotype | Phenotype |
|---|---|
| A/A | A |
| A/O | A |
| B/B | B |
| B/O | B |
| A/B | AB |
| O/O | O |
Figure. Sorted haplotypes (A < B < O) map to phenotype: A/A and A/O → A; B/B and B/O → B; A/B → AB; O/O → O.
Unphased inference¶
When phase is unavailable, genoABO uses diploid copy counts of O_DEL and B_ALLELE (not an enumeration of every possible haplotype pair).
- Homozygous
O_DELis O/O regardless of rs8176746 (both copies are O). - If exactly one phenotype is compatible → emit phenotype; confidence = medium
- If both markers are heterozygous and
--no-assume-bo→ABO_groupis unassigned (TSVNA; HTML may showunknown),ABO_genotype = ambiguous, listpossible_diplotypes - Other homozygous combinations resolve uniquely even without phase
Double-heterozygote resolution¶
When rs8176719 and rs8176746 are both heterozygous, unphased genotypes are compatible with A/O or B/O.
By default (--assume-bo, Python: assume_bo=True) genoABO applies the common-allele rule that the O deletion arose on an A background, so an unphased double heterozygote is taken as B/O rather than A/O (Yamamoto et al. 1990 [1]; Melzer et al. 2008 two-SNP recoding [2]). This is an assumption, not something read from the genotypes. It has no effect when phase is used.
Phased 1000 Genomes 30x GRCh38 (not serology): AMR/EAS/EUR double-hets were all B/O (20/20, 124/124, 41/41); AFR was 105/113 B/O and 8/113 A/O. See 1000 Genomes --assume-bo check.
--no-assume-bo (assume_bo=False) does not pick one: ABO_genotype = ambiguous and possible_diplotypes = A/O,B/O.
Figure. Unphased O_DEL/NON_O × A_ALLELE/B_ALLELE is compatible with A/O or B/O. Default --assume-bo assigns B/O; --no-assume-bo leaves the call ambiguous. Phased GT does not use this assumption.
3. Methods¶
common¶
- Markers: rs8176719, rs8176746
- Logic: Two-marker haplotype rules above. Infers six common diplotypes: A/A, A/O, B/B, B/O, A/B, O/O.
- Notes: Rare ABO alleles can violate these assumptions → may misclassify; document in QC.
- Method / markers: Melzer et al. 2008 [2] — recoded ABO from the two-SNP haplotype rs8176746 + rs8176719.
- Used in: Groot et al. 2020 [9] — UK Biobank (n=406,755); inferred ABO from rs8176719 and rs8176746.
- Molecular basis: Yamamoto et al. 1990 [1] — 261delG (rs8176719) and A vs B substitutions (including rs8176746).
three-marker¶
- Markers: rs8176719, rs8176746, rs8176747
- Logic: Same as
common, with rs8176747 as additional B confirmation. - Notes: If rs8176746 and rs8176747 disagree on B vs A →
qc_status=CONFLICT, confidence = low, no phenotype. The two A/B SNPs are 7 bp apart and have haplotype r² = 1.000 in 1000 Genomes AFR/AMR/EAS/EUR, so disagreement is rare. See Marker LD. - Method / markers: Fry et al. 2008 [3] — large-scale assays for rs8176719, rs8176746, and rs8176747 (plus rs8176743, not used here).
- Used in: Nakao et al. 2011 [4] — Japanese case–control study using the same three SNPs. Sakaue et al. 2021 [10] (preprint 2020) — BBJ, UKB, and FinnGen (ntotal ≈ 628,000); inferred ABO from rs8176719, rs8176746, and rs8176747. Höglund et al. 2021 [11] — UK Biobank; same three SNPs.
ukb¶
- Markers: rs8176719, rs8176746, rs505922
- Logic: UK Biobank Data-Field 23165 style:
- rs8176719 deletion (
O_DEL) → O haplotype on that chromosome - If rs8176719 missing/unavailable → rs505922
O_PROXY(T) indicates O on that chromosome (proxy, confidence capped) - rs8176746
B_ALLELE(T in UKB notation) → B haplotype on that chromosome - Otherwise → A haplotype (default non-O, non-B)
- Output: UKB-style haplotype codes: AA, AO, BO, BB, AB, OO
- Notes: When rs505922 is used as O proxy → confidence = low, note in
qc_reason. Haplotype r² with rs8176719 in 1000 Genomes 30x hg38: EAS 0.946, EUR 0.869, AMR 0.820, AFR 0.437. See Marker LD. - Method / markers: UK Biobank Data-Field 23165 [5]. Field notes cite Melzer et al. 2008 [2] and Paré et al. 2008 [6].
extended (v0.1)¶
- Alleles: ABO*O.01, ABO*A.01, ABO*B.01 only (from
alleles.yaml) - Logic: Match resolved A/B/O haplotypes to
haplotype_stateinalleles.yaml(ABO*A.01, ABO*B.01, ABO*O.01). Per-SNPvariants:maps in that file are documentation of the common alleles, not an extra matching step. - Notes: If no match →
ABO_group = unknown. Do not force classification. - Method / markers: Daniels et al. 2004 [7]; ISBT Blood Group Database [8] (nomenclature evolves).
- Molecular basis: Yamamoto et al. 1990 [1] — ABO*A.01, ABO*B.01, and ABO*O.01.
4. Auto-selection hierarchy¶
When --method auto (default):
- rs8176719 + rs8176746 + rs8176747 →
three-marker - rs8176719 + rs8176746 →
common - rs8176746 + rs505922 →
ukb(proxy mode, confidence capped) - Else → no auto-selection match (
--method autostill proceeds ascommonunless--strict-method; samples without required markers getconfidence = none)
With --strict-method, a user-selected method errors if its min_markers are missing (there is no fallback to a smaller marker set). With --method auto, --strict-method errors if no auto-selection entry matches.
5. Confidence levels¶
| Level | Criteria |
|---|---|
| high | Direct functional markers; consistent; confident genotypes; phase sufficient |
| medium | Unphased but uniquely inferable |
| low | Proxy marker (rs505922); three-marker A/B SNP disagreement (CONFLICT); unusual combinations |
| none | Missing required markers, or dosage/GP below threshold (treated as missing) |
Confidence is not a calibrated probability.
6. Genotype modes¶
| Mode | Behavior |
|---|---|
| hardcall | Discrete GT (0/0, 0/1, 1/1, phased) |
| dosage | Threshold ALT dosage into copy counts; else uncertain |
| probability | Argmax GP if max(P) ≥ threshold; else uncertain |
| auto | GP → DS → hardcall precedence |
Dosage or GP below the hardcall threshold is treated as a missing marker (confidence = none). GP and DS replace leftover phased GT.
7. References¶
Software. Yunye He. genoABO: genetically determined ABO blood group inference from genotype datasets. Version 0.3.1. 2026. https://github.com/cloufield/genoABO.
- Yamamoto F, Clausen H, White T, Marken J, Hakomori S. Molecular genetic basis of the histo-blood group ABO system. Nature. 1990;345:229–233. DOI: 10.1038/345229a0. PMID: 2333095.
- Melzer D, Perry JRB, Hernandez D, Corsi AM, Stevens K, Rafferty I, et al. A genome-wide association study identifies protein quantitative trait loci (pQTLs). PLoS Genet. 2008;4:e1000072. DOI: 10.1371/journal.pgen.1000072. PMID: 18464913.
- Fry AE, Griffiths MJ, Auburn S, Diakite M, Forton JT, Green A, et al. Common variation in the ABO glycosyltransferase is associated with susceptibility to severe Plasmodium falciparum malaria. Hum Mol Genet. 2008;17:567–576. DOI: 10.1093/hmg/ddm331. PMID: 18003641.
- Nakao M, Matsuo K, Hosono S, Ogata S, Ito H, Watanabe M, et al. ABO blood group alleles and the risk of pancreatic cancer in a Japanese population. Cancer Sci. 2011;102:1076–1080. DOI: 10.1111/j.1349-7006.2011.01907.x. PMID: 21306478.
- UK Biobank. Data-Field 23165: Blood-type haplotype. https://biobank.ndph.ox.ac.uk/showcase/field.cgi?id=23165.
- Paré G, Chasman DI, Kellogg M, Zee RYL, Rifai N, Badola S, Miletich JP, Ridker PM. Novel association of ABO histo-blood group antigen with soluble ICAM-1: results of a genome-wide association study of 6,578 women. PLoS Genet. 2008;4:e1000118. DOI: 10.1371/journal.pgen.1000118. PMID: 18604267.
- Daniels GL, Fletcher A, Garratty G, Henry S, Jørgensen J, Judd WJ, et al. Blood group terminology 2004: from the International Society of Blood Transfusion committee on terminology for red cell surface antigens. Vox Sang. 2004;87:304–316. DOI: 10.1111/j.1423-0410.2004.00564.x. PMID: 15585029.
- International Society of Blood Transfusion. ISBT Blood Group Database. https://blooddatabase.isbtweb.org/. Accessed 2026-09.
- Groot HE, Villegas Sierra LE, Said MA, Lipsic E, Karper JC, van der Harst P. Genetically determined ABO blood group and its associations with health and disease. Arterioscler Thromb Vasc Biol. 2020;40:830–838. DOI: 10.1161/ATVBAHA.119.313658. PMID: 31969017.
- Sakaue S, Kanai M, Tanigawa Y, et al. A cross-population atlas of genetic associations for 220 human phenotypes. Nat Genet. 2021;53:1415–1424. DOI: 10.1038/s41588-021-00931-x. PMID: 34594039.
- Höglund J, Karlsson T, Johansson T, Ek WE, Johansson Å. Characterization of the human ABO genotypes and their association to common inflammatory and cardiovascular diseases in the UK Biobank. Am J Hematol. 2021;96:1350–1362. DOI: 10.1002/ajh.26307. PMID: 34329492.