genoABO
genoABO infers genetically determined ABO blood group from VCF, BGEN, PGEN, and PLINK genotype datasets.
pip install genoabo
genoabo biobank.pgen --out bloodgroup
Research use only. genoABO is intended for population-genetics, epidemiology, GWAS, PheWAS, and biobank research. 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.
Quick start
genoabo cohort.pgen --out abo
# writes: abo.abo.tsv, abo.qc.tsv, abo.summary.txt, abo.report.html
See docs/workflow.md for the full load-to-output pipeline.
See examples/ for VCF (unphased and phased), PGEN, and PLINK1 demos across builds and marker notations, a 1000 Genomes EAS four-marker example (phased --phase auto, or forced unphased), a multi-ancestry --assume-bo check against phased 1KG AFR/AMR/EAS/EUR, and marker LD r².
Inspect markers without calling:
genoabo cohort.pgen --inspect
Supported formats
| Format | Extensions | Notes |
|---|---|---|
| VCF/BCF | .vcf, .vcf.gz, .bcf |
GT, phased GT, DS, GP |
| PLINK2 | .pgen + .pvar + .psam |
Auto-locates companion files |
| PLINK1 | .bed + .bim + .fam |
--format plink1 |
| BGEN | .bgen + .sample |
Dosage/probability support |
Methods
genoabo --methods
genoabo --method-info three-marker
genoabo data.pgen --method auto # default
genoabo data.pgen --method common
genoabo data.pgen --method three-marker
genoabo data.pgen --method ukb
genoabo data.pgen --method extended
| 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 |
Options
--format auto|vcf|bcf|bgen|pgen|plink1
--build auto|hg19|hg38|chm13
--geno-mode auto|hardcall|dosage|probability
--phase auto|phased|unphased
--assume-bo / --no-assume-bo
--min-genotype-prob 0.90
--dosage-hardcall-threshold 0.1
--strict-method
--inspect
--report PATH.html
Python API
from genoabo import ABOCaller
caller = ABOCaller(method="auto", build="auto")
result = caller.call("ukb.pgen")
for call in result.calls:
print(call.sample.iid, call.abo_group, call.abo_genotype)
Genome builds
GRCh37/hg19, GRCh38/hg38, and T2T-CHM13v2 are supported. Build auto-detection uses marker coordinates, VCF header metadata, and chromosome lengths. Conflicting evidence returns an error requiring explicit --build.
Citations
Full records are printed by genoabo --method-info NAME and in the Citations section of each HTML run report.
- software — Yunye He. genoABO: genetically determined ABO blood group inference from genotype datasets. Version 0.2.0. 2026. https://github.com/cloufield/genoABO.
- common — 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.
- three-marker — 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.
- ukb — UK Biobank. Data-Field 23165: Blood-type haplotype. https://biobank.ndph.ox.ac.uk/showcase/field.cgi?id=23165.
- extended — 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.
See Inference methods for used-in and molecular-basis notes.
Documentation
Preview the docs site locally:
pip install -e ".[docs]"
./serve.sh # http://127.0.0.1:8000
zensical build # writes ./site/
- Inference methods
- Marker coordinates (includes 1000 Genomes LD r²)
- Assumptions and limitations
- Examples
- Update Log
License
MIT — see LICENSE.
Metadata
Release files for genoabo 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| genoabo-0.2.0.tar.gz | 11.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| genoabo-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.0 kB
Release files / genoabo-0.2.0.tar.gz
| Download URL | genoabo-0.2.0.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
729b1fffce8e5734f35d68f8f21faf92ee5f36e6f6f9d03ca18c5892e0e9a6df
|
|
BLAKE2b-256 checksum How to use checksums |
b249749998a3648231f1ce6e8fcc4235602d351925f9e8d3392debf0d2a80db0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|
Release files / genoabo-0.2.0-py3-none-any.whl
| Download URL | genoabo-0.2.0-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6654921fabef34e6be9508984dd0a9ebcecd253f408e7304f63ec6db0b618611
|
|
BLAKE2b-256 checksum How to use checksums |
93668ac3bb39700ae50b7331227667a0fc86e5c354a3bbb8598a3a014f897a2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|