Skip to content

v0.2.0

Latest

Choose a tag to compare

@kuanlinhuang kuanlinhuang released this 10 Jun 21:18

Highlights

Accumulates ~55 commits since v0.1.0 (April 23, 2026). Headline features:

  • ACMG-AMP variant classification engine — new fastvep-classification crate, --acmg flag on fastvep annotate. 28 criteria aligned with ClinGen SVI (PVS1 Abou Tayoun 2018 decision tree, PM2 inheritance-aware, PM3 v1.0 points-based, PP3/BP4 Pejaver 2022 + Walker 2023, BA1 Ghosh 2018 exception list, BS1/BS2 tightened, BP7 exon-edge exclusion + deep-intronic extension). Trio / compound-het via --proband / --mother / --father. Configurable thresholds in TOML. v7 benchmark on ClinVar 2-star+ lifts P recall to 64% and continues to improve.

  • Custom annotation sourcessa-build --source custom_vcf / custom_bed / custom (auto-detect from input extension). --name sets the JSON / output column; --info-fields selects which VCF INFO fields to extract. Custom BEDs produce .osi interval-level files now loaded at runtime alongside .osa / .osa2 via --sa-dir. (Closes #43)

  • VEP --merged-style cache--gff3 on annotate and cache is now repeatable; each value accepts LABEL=path syntax. Auto-detects Ensembl / RefSeq from filenames. Per-transcript SOURCE labels flow side-by-side through VCF / JSON / tab output. (Closes #44)

  • ~900× faster supplementary annotation — byte-budgeted LRU block cache with per-variant deduplication (#33). Override the budget via FASTVEP_SA_CACHE_BYTES_PER_READER.

  • Gene-level annotations (.oga)sa-build --source omim / gnomad_genes / clinvar_protein produce gene-level databases used by the ACMG classifier for PVS1 / BS2 / PM3 / BP2 / PS1 / PM1 / PM5 / PP2 / BP1.

  • Tab output ergonomics--gene-list (gene-panel filter), --explicit-alleles (adds REF column), --qc-rules (custom QC class column) (#42).

  • --sa-only mode — skip the default CSQ pipeline, emit only supplementary annotations. Useful for re-annotating already-annotated VCFs (#34).

  • gnomAD v4.1 joint VCF support (#41).

  • Gzipped VCF input for fastvep annotate (#21).

Reliability & security

  • Reader hardening: .osa.idx / .osi / .oga refuse malformed / malicious payloads with bounded-size limits (#28, #35).
  • Path-traversal vulnerability fixed in the web server's resolve_genome_paths (#5).
  • Cache builds are now deterministic — bit-for-bit reproducible (#40).
  • Custom VCF parser hardened end-to-end (CRLF line endings, JSON-special characters, flag-only INFO entries, multi-allelic Number=A / Number=R splitting) (#46).
  • gnomAD annotations no longer drop records on chr*-style VCF input (#37/#38).

Tests: 515 passing (up from 233 at v0.1.0).

See the full CHANGELOG for everything.