Skip to main content

NGS-based donor chimerism monitoring for HSCT

Project description

allomix

NGS-based donor chimerism monitoring for hematopoietic stem cell transplantation (HSCT).

allomix calculates donor chimerism percentages from NGS data, replacing traditional STR-based analysis with a higher-sensitivity SNP-based approach. It is panel-agnostic: it operates on whatever bi-allelic markers (SNPs or indels) are present in the input VCFs, whether that is 24 indels, 76 SNPs, 202 SNPs, or any other set of loci with sufficient depth.

Results are highly panel specific: do your own validation. Sensitivity and limit of detection depend on your marker set, sequencing depth, and noise profile. Qualify the tool on your own panel before clinical use (see the Panel guide).

Chimerism MLE methodology is based on Crysup & Woerner (2022).

Clinical context

After HSCT, patients carry a mixture of their own (host) and transplanted (donor) cells. Monitoring the donor-to-host ratio over time detects graft rejection or disease relapse early enough to intervene. Current STR-based methods have limited sensitivity (~3-5% LOD) and require separate workflows. allomix aims to:

  • achieve <1% sensitivity for detecting minority cell populations,
  • support up to 3 genomes (host + 2 donors) for patients with multiple transplants, and
  • provide timeline tracking of chimerism across serial post-HSCT timepoints.

Installation

pip install allomix

For development:

git clone https://github.com/SACGF/allomix.git
cd allomix
uv pip install -e ".[dev]"

Quickstart

allomix takes two VCFs: a panel VCF with host/donor genotypes (from GATK joint calling of the reference samples) and an admix VCF with per-timepoint AD counts (from forced bcftools mpileup at the panel sites). A ready-to-use Snakemake pipeline that produces both is in pipeline/.

allomix detect \
    --genotype-vcf patient001_panel.vcf.gz \
    --admix-vcf patient001_admix.vcf.gz \
    --host-sample HOST_001 \
    --donor-sample DONOR_001 \
    --sample TP1_20240101 \
    --html report.html

See the CLI usage guide for multi-donor runs, timelines, bias correction, output options, and input/output reference.

Workflow

1. Genotyping            Sequence host and each donor individually
   (upstream)              → per-sample GVCFs at marker loci

2. estimate-bias         (optional) Estimate per-marker amplification
                         bias from genotyping VCFs → bias table TSV

3. Sequencing            Sequence post-HSCT admixture samples at serial
   (upstream)            timepoints (>=3 per patient) → per-sample GVCFs

4. Joint calling         Combine HOST + DONOR GVCFs (GenomicsDBImport +
   (upstream)            GenotypeGVCFs) → panel VCF; pileup admix samples
                         at the panel sites → admix VCF

5. allomix detect       Chimerism for one timepoint → TSV / JSON / HTML / PDF
   allomix timeline      Track chimerism across timepoints → JSON / HTML / PDF
   allomix report        Render HTML/PDF from a saved detect/timeline JSON

Joint calling of HOST + DONOR propagates donor ALT alleles to the panel even when one sample is hom-ref; pileup of the admix samples preserves raw per-allele counts needed for host fractions below ~5%. See the Joint Calling Guide for the full rationale.

Documentation

Comparison with commercial products

Feature allomix AlloSeq HCT (CareDx) Devyser Chimerism (Thermo Fisher)
Markers Any bi-allelic panel 202 SNPs 24 indels
Max genomes 3 (host + 2 donors) 3 3
Sensitivity Depends on panel/depth 0.22% LOD 0.05% LOD
Additional wet-lab None (uses existing data) Dedicated kit Dedicated kit
Software Open-source CLI Web-based (HCT Software) Desktop (Advyser)

Validation and status

allomix has been validated in silico (synthetic chimeric VCFs with realistic noise models: per-marker bias, depth CV, locus dropout) and on real reads from a public dataset of titrated DNA mixtures (SRA study SRP434573). On the real mixtures it recovered known host fractions from 10% down to 1%, resolved a three-person mixture, and called residual host with no false positives on the pure-donor controls. Full validation, including the real-data limit of detection, is in the paper build guide.

These are analytical bounds, not wet-lab limits. Wet-lab validation against STR chimerism on real patient samples is planned, and is a per-laboratory step for any new panel.

This project is under active development.

Project structure

src/allomix/          # Installable library and CLI, the shipped product
scripts/              # Development and validation utilities
paper/scripts/        # Publication-specific analysis and figures
tests/                # pytest tests

src/allomix/ is everything a user gets from pip install allomix: the core library (genotyping, chimerism estimation, simulation, QC, reporting) and the CLI entry point. scripts/ and paper/scripts/ are developer-facing and not part of the installed package. See the Architecture Guide, Scripts Guide, and paper build guide.

License

allomix is distributed under the MIT licence, and comes with no warranty. Results are highly panel specific: do your own validation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

allomix-0.4.0.tar.gz (217.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

allomix-0.4.0-py3-none-any.whl (160.0 kB view details)

Uploaded Python 3

File details

Details for the file allomix-0.4.0.tar.gz.

File metadata

  • Download URL: allomix-0.4.0.tar.gz
  • Upload date:
  • Size: 217.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for allomix-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0892cd7f6b3ed28e8beab587eda3f3a74364925d2ec9e9aea3de4c0a44a38e81
MD5 95102318db340d18164065ccb760246e
BLAKE2b-256 533e583fa4378913cb65bfb7ea75899e83c2bd9b9d5b2bd2f747ac90c56f288d

See more details on using hashes here.

File details

Details for the file allomix-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: allomix-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 160.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for allomix-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 397ca40dc004f7bbcf6f49f8ee725435a925afcdef35c7921fb40d8fe7de05ce
MD5 1968207bdc942632feabf1586b2d282a
BLAKE2b-256 b11bc0e5f2f91a210d39566ad8ae4c961757cf19b27e3b568f1b06502d8e2277

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page