PGx: PharmVar genes (CYP1A2, CYP2A6, CYP2A13, CYP2C8, CYP3A4), CYP2A6 *4 from CN (PGX-001/006)
fetch_sources.sh downloads PharmVar per-gene zips; pgx db build adds core alleles for genes CPIC does not define (normalised against the FASTA, *1 = reference). Masks re-derived with the new variants. GeT-RM: CYP3A4 15/15, CYP2A6 7/9; all comparable genes 154/168 (CYP1A2/CYP2C8 definitions differ from GeT-RM's).
This commit is contained in:
1 parent
b96ae21c70
commit
9a39ae62fe
9 files changed
+289
-14
No files matched your search
@@ -37,12 +37,15 @@ from simurg.pgx.star import (
|
||||
|
||||
MAX_EDIT_DISTANCE = 3 # PGX-019
|
||||
|
||||
CN_REGION = {"CYP2D6": "CYP2D6.p5"} # PGX-013: total gene copies from the 5′ region
|
||||
CN_SOLUTION_REGIONS = {"CYP2D6": ("CYP2D6.p5", "CYP2D6.intron.2", "CYP2D6.exon.9")} # PGX-027 copy_number_solution
|
||||
CN_REGION = {"CYP2D6": "CYP2D6.p5", "CYP2A6": "CYP2A6.exon.1"} # PGX-013: gene copies from the 5′ region
|
||||
CN_SOLUTION_REGIONS = {
|
||||
"CYP2D6": ("CYP2D6.p5", "CYP2D6.intron.2", "CYP2D6.exon.9"),
|
||||
"CYP2A6": ("CYP2A6.exon.1", "CYP2A6.intron.7"),
|
||||
} # PGX-027 copy_number_solution
|
||||
CN_ONLY_GENES = {"GSTM1": "GSTM1", "GSTT1": "GSTT1", "UGT2B17": "UGT2B17"} # PGX-006: *0 from whole-gene CN
|
||||
ALL_BASES = ("star_allele", "haplotype_named", "variant_based", "tagging_variant")
|
||||
TAG_CAVEAT = "tag reliability varies by population"
|
||||
DELETION_ALLELE = {"CYP2D6": "*5"}
|
||||
DELETION_ALLELE = {"CYP2D6": "*5", "CYP2A6": "*4"} # named whole-gene deletions (PGX-006)
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -100,6 +103,10 @@ def load_models(
|
||||
if fr.get(n):
|
||||
freq[i] = float(np.mean(fr[n]))
|
||||
freq = np.nan_to_num(freq, nan=0.0)
|
||||
if not freq.any() and names: # no population frequencies (PharmVar genes): reference 0.8, others share 0.2
|
||||
freq = np.full(len(names), 0.2 / max(1, len(names) - 1))
|
||||
if ref in names:
|
||||
freq[names.index(ref)] = 0.8
|
||||
fa = {a: (f, v) for a, f, v in con.execute("SELECT allele, function, activity FROM alleles WHERE gene = ?",
|
||||
(gene,))} # fmt: skip
|
||||
act = {}
|
||||
|
||||
Reference in new issue
Block a user