PGx: full call detail (PGX-016..020, 027/028, 031), pgx coverage (PGX-009/035), full HGVS
ci / test (3.12) (push) Failing after 9s
ci / test (3.13) (push) Failing after 11s

- supporting_variants.tsv, unresolved_variants.tsv, variants_not_covered.tsv with PGX-026 metadata; per-allele
  supporting/unresolved sites for both alleles of every candidate; variant_change vs top, distant_alternative,
  unexplained_variants, alleles_impacted_by_no_call, alleles_tested.
- simurg pgx coverage: callable / not_covered / masked / equivalent_to per allele and manifest.
- HGVS on GRCh38 RefSeq accessions (NC_...:g.).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01814GKVzZVL3FuF3DeiZXhv
This commit is contained in:
kemalandClaude Opus 5.5 committed 2026-09-29 16:16:39 +01:00
1 parent 0215af9c9c
commit 4dafce3f18
10 files changed
+352 -40

No files matched your search

+16
View File
@@ -910,6 +910,22 @@ def pgx_annotate_cmd(
_pgx_phenotype(calls, db, out, guideline, force, log_json, debug, quiet, "pgx annotate")
@pgx_app.command("coverage")
def pgx_coverage_cmd(
bpm: Annotated[Path, typer.Option("--bpm", help="BPM manifest (required).")],
db: Annotated[Path, typer.Option("--db", help="PGx DB built with this manifest (required).")],
out: Annotated[Path, typer.Option("--out", help="Output folder.")] = Path("."),
log_json: LogJson = False,
debug: Debug = False,
quiet: Quiet = False,
) -> None:
"""Which alleles this array can call: pgx_coverage.tsv (PGX-009, PGX-035)."""
from simurg.pipeline.pgx_db import run_coverage
rep = _reporter("pgx coverage", out, log_json, debug, quiet)
run_guarded(rep, lambda: run_coverage(bpm, db, out, rep))
@pgx_cn_app.command("train")
def pgx_cn_train_cmd(
gtcs: Annotated[Path, typer.Option("--gtcs", help="Folder searched recursively for training GTCs (required).")],