RBCeq2: blood group allele inference |
|
Version v2.4.4
RBCeq2 infers blood-group genotypes and phenotypes from supplied variant calls using
the curated ISBT allele definitions distributed with the package. Deterministic
rules select and exclude candidate alleles and pairs; --debug records the evidence
and named exclusions behind the result.
Install and run
Python 3.12 or newer is required.
python -m pip install rbceq2==2.4.4
rbceq2 --version
rbceq2 --vcf sample.vcf.gz --out result --reference_genome GRCh38 --debug
Supply GRCh37 or GRCh38 to match the input coordinates. A single-sample VCF,
multi-sample VCF, or directory of separate .vcf/.vcf.gz files can be supplied.
Both ordinary gzip and uncompressed VCF input are read. For a directory:
rbceq2 --vcf samples/ --out cohort --reference_genome GRCh38 --processes 4 --debug
Use rbceq2 --help for all current options. Useful switches include:
| Option | Purpose |
|---|---|
--phased |
Use genotype phasing and phase-set information where available. |
--RH |
Include RHD/RHCE for the supported inputs described below. |
--HPAs |
Include human platelet antigen results. |
--no_filter |
Disable FILTER-based allele exclusion; inference checks still apply. |
--validate |
Run additional VCF format checks. Basic input checks always run. |
--PDFs |
Generate per-sample PDF reports. |
--min_size |
Minimum indel/SV size for fuzzy structural matching; default 10. |
--processes |
Worker processes; default 1. Large input loading also uses memory. |
Input contract
Provide genotyped VCF calls from an upstream caller, with its calling and coverage
QC completed. Native gVCFs are not supported in v2.4.4: unspecified ALT
placeholders such as <NON_REF>/<*> and reference blocks require additional
handling. A gVCF can be read as text and still produce incomplete or misleading
inference; use the caller's final genotyped VCF.
GT must be the first FORMAT key when the row is used for inference. Called indices
must refer to REF (0) or an ALT declared by that row. Missing alleles use ..
Supported GT spellings use / or | between canonical integer indices; initial
phasing separators and leading-zero indices are explicitly unsupported.
Small-variant multiallelic records are processed into per-ALT calls internally.
Some reference-containing multiallelic configurations can remain partially
unresolved. Inspect Undetermined results and normalize such sites upstream where
appropriate. Mixed symbolic structural/small-variant records need caller-specific
assessment and are not a general supported input route.
Chromosome copies and gene copies
These are different statements and lead to different output shapes:
- A valid called haploid GT outside PAR on X/Y supplies per-sample evidence for one chromosome in that region.
- Gene copy number can be read from GT ploidy only when the upstream caller explicitly uses that convention.
Called structural deletions are evaluated against the curated database and can constrain which chromosome carries an overlapping allele. The deletion's presence and the gene-copy interpretation inferred from GT are kept distinct.
RHD and RHCE
Use --RH for long-read VCFs with structural-variant information, or for callers
that explicitly encode RH gene copy number as GT ploidy. Ordinary short-read
variant calls without either source of information are unsupported for RH
inference because of the similarity between RHD and RHCE.
Compatibility depends on the caller's stated encoding convention. Synthetic examples establish the software's behavior; they do not establish compatibility with every caller.
Structural-variant selection
Structural variants are fuzzy matched against allele definitions for the selected
--reference_genome.
FILTER and missing data
By default, PASS and absent filtering (. or empty) do not exclude an allele.
Other FILTER values are classified: recognized values unrelated to call correctness
can be retained; call-correctness failures and unrecognized values can exclude.
Unrecognized values are named in warnings. --no_filter bypasses this FILTER-based
exclusion, while genotype validity and inference rules remain active.
A no-call such as ., ./., or a partial missing GT becomes NO_DATA and alleles
requiring that uncalled variant are excluded by name. All nonmissing indices must
still be valid for the row.
A reference output does not establish sequencing coverage. Missing records can lead to reference defaults, and a no-call can still reach a reference fallback when no candidate remains. Inspect the debug evidence and exclusions; a fallback is not a measured homozygous-reference call.
Outputs and interpretation
With --out result, the main outputs are:
result_geno.tsvresult_pheno_numeric.tsvresult_pheno_alphanumeric.tsvresult_<run UUID>_log.txt
The first TSV column identifies the sample; its heading contains the run UUID.
Cohort input uses the VCF sample names. Single-file and directory input uses the
filename with its final suffix removed, so sample.vcf.gz is named sample.vcf.
| Slot value | Meaning |
|---|---|
| A named allele | The selected database allele. |
- |
No second chromosome slot in the inferred single-copy region. |
An absent-gene subtype, e.g. RHAG*01N |
The database's designation for a missing gene copy without naming a specific breakpoint-defined allele. |
Novel_gene_deletion |
A missing gene copy for which no applicable database absence subtype is available. GT-based use depends on the caller convention above. |
Undetermined |
An allele slot that could not be named. Both slots can be undetermined when the blood group cannot be interpreted. |
allele/Undetermined retains one resolved slot. Undetermined/Undetermined can
represent a whole-group refusal; it does not establish the physical copy count.
Neither is a database allele.
Genotype alternatives are comma-separated. Phenotype alternatives are listed independently and can be deduplicated, so entries must not be joined by position between files. A slash can be part of a phenotype name.
Malformed retained GTs fail the affected sample and are reported with a named error; the other samples in a cohort or directory can continue. Shared header/FORMAT problems can prevent loading an input file. A nonzero process exit and the log must be reviewed even when some result files were written.
PDF reports
--PDFs writes reports to <output prefix>_PDFs/. Each report preserves the exact
sample identity used in the TSVs, including suffixes and letter case.
Database v2.5.1
The packaged db.tsv is the source of allele definitions
used by inference. It is curated against ISBT definitions and includes explicit
modelling and nomenclature choices. Package and database versions are reported
separately by --version.
Documentation and reporting issues
This README describes the v2.4.4 input and output contract. Longer PDF worked examples attached to earlier releases are historical and may describe earlier behavior; use the version-matched contract here when interpreting current output.
When reporting an issue, include the package/database versions, genome build, command, and the complete affected sample/blood-group debug block where shareable. State the caller and its genotype/copy-number convention. Expected answers can require biological adjudication; a successful run or agreement with stored gold does not establish clinical validity.
Metadata
Release files for rbceq2 2.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rbceq2-2.4.4.tar.gz | 479.0 kB | Without provenance | Details for rbceq2-2.4.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rbceq2-2.4.4-py3-none-any.whl | Python 3 | none | any | Details for rbceq2-2.4.4-py3-none-any.whl |
Total release size: 799.1 kB
Release files / rbceq2-2.4.4.tar.gz
| Download URL | rbceq2-2.4.4.tar.gz |
|---|---|
| Size | 479.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fbc0864d7c1365aace98900d6b86b51b700a6f63a63b5769b7fe28e5e55bea56
|
|
BLAKE2b-256 checksum How to use checksums |
e907ed87f3e876e389b27dfeed314ed76ef01ea69210f56b0603667eb2acd8bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / rbceq2-2.4.4-py3-none-any.whl
| Download URL | rbceq2-2.4.4-py3-none-any.whl |
|---|---|
| Size | 320.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9091276c8d954081d673e6fd254936f26e7d4ff59edb581e3d8c1a089ded576c
|
|
BLAKE2b-256 checksum How to use checksums |
47f2b894fedcfe01ac3ec381516f0651d7affd73b02f4fc407ca5586d5a03d1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Security for rbceq2 2.4.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.