genomics-pipeline

Step 21: CYP2D6 Star Allele Calling with Cyrius

EXPERIMENTAL: Cyrius is installed via pip at runtime inside a generic Python container, which is fragile (network dependency, version drift). Results should be cross-referenced with PharmCAT’s CYP2D6 call.

What This Does

Calls CYP2D6 star alleles (diplotypes) from your WGS BAM using Illumina’s Cyrius tool. CYP2D6 is the single most important pharmacogene — it metabolizes roughly 25% of clinically used drugs — but its highly homologous pseudogene (CYP2D7) and frequent structural rearrangements (deletions, duplications, gene-pseudogene hybrids) make it extremely difficult to genotype from short reads.

Why

PharmCAT (step 7) handles most pharmacogenes well, but its internal CYP2D6 calling is limited for WGS data. Cyrius was purpose-built by Illumina to resolve CYP2D6 using read-depth patterns across the CYP2D6/CYP2D7 region. Running Cyrius separately gives you a CYP2D6 diplotype that you can cross-reference with PharmCAT’s results.

Tool

Docker Image

python:3.11-slim

Cyrius is installed via pip install cyrius inside the container at runtime. No dedicated Cyrius Docker image is required.

Input

Command

./scripts/21-cyrius.sh your_name

What the Script Does Internally

  1. Validates that the sorted BAM and its index exist
  2. Creates a manifest file listing the BAM path (Cyrius requires this)
  3. Installs Cyrius in a Python 3.11 container and runs star_caller with --genome 38 (GRCh38)
  4. Parses the output TSV to display the called diplotype

Output

File Contents
${SAMPLE}_cyp2d6.tsv Tab-delimited results with sample name, diplotype, and supporting evidence

All output is written to ${GENOME_DIR}/${SAMPLE}/cyrius/.

Runtime

~5-15 minutes (includes pip install overhead on first run).

Interpreting Results

The output TSV contains the CYP2D6 diplotype in star-allele notation, for example:

Sample Genotype
sergio 1/2

Common results and what they mean:

Look up your specific diplotype at PharmGKB CYP2D6 for the corresponding metabolizer phenotype and drug implications.

Drugs affected by CYP2D6 status

Codeine, tramadol, oxycodone, tamoxifen, ondansetron, atomoxetine, most tricyclic antidepressants (amitriptyline, nortriptyline), and paroxetine – among many others.

Limitations

Notes