Releases: rhshah/vFlank
vflank 0.6.0
Added
- VCF/BCF input for small variants (
vflank small run variants.vcf.gz). The
input format is auto-detected by extension — no new command or flag. Read
sites-only; anchor-baseREF/ALTis normalised to MAF[Start, End];
multi-allelic records expand perALT; symbolic/SV/BND alleles are skipped;
gene/HGVS come best-effort from a VEPCSQ/ SnpEffANNfield.--samples
doesn't apply to a (sites-only) VCF and is ignored with a warning;
vflank small inspectpreviews the normalised variants. Newio/vcf.py
(is_vcf_path,vcf_to_maf_coords,load_vcf);run_smallaccepts a VCF
path too. SV-VCF (DellyCT/ Manta–GRIDSSBND) remains a follow-up.
vflank 0.5.0
Highlights
Library API — the groundwork for hosting vflank as a service. vflank.pipeline.run_small / run_fusion(input, *, …) -> RunResult run the whole pipeline (build sources → load → orchestrate → close) and return records, per-variant rows, categorised skips, counts, and API request tallies — no printing, no files written. Inputs can be a path or an open buffer, so an uploaded file needs no temp file. Streaming primitives iter_small/iter_fusion + collect are available for incremental use.
Internal
- The per-variant orchestration was extracted out of the CLI into a presentation-free
vflank.pipelineuse-case layer (no Typer/Rich); the CLIs are now thin shells over it, and source construction moved tovflank.sources. CLI behaviour is unchanged.pipeline.pyis now type-checked in the gate.
See the changelog.
vflank 0.4.0
Highlights
No-download reference via the UCSC API (--ref-source api) — for both small and fusion, fetch each flank window from api.genome.ucsc.edu instead of a local FASTA, so a run needs no multi-GB reference on disk (the prerequisite for hosting vflank as a service). --ref-genome is now optional, required only for the default file backend (clear error otherwise — no silent fallback). The UCSC path uses the same 0-based half-open coordinates as the local one (flank math unchanged), throttles to ~1 req/s, caches per window, retries transient failures, and reports a reference-API request count.
Use a local FASTA (--ref-source file, default) for bulk/offline/HPC runs; the API backend is best for hosted single-variant / small use.
Also
--helpforsmall/fusiongroups options into labelled panels.- New Recommended Usage page, reference-API and web-app/hosting design notes, and PyPI/GHCR/DeepWiki badges.
See the changelog for details.
vflank 0.3.0
Highlights
Primer3 emit (--emit-primer3) — vflank now hands off to a designer. For both small and fusion, it writes a Primer3 Boulder-IO input file: each record carries the best-known template (masked/consensus call, reference base where ambiguous), SEQUENCE_TARGET on the variant/junction, and the masked positions as SEQUENCE_EXCLUDED_REGION — a hard "no oligo here" constraint, not a degenerate base. SEQUENCE_ID matches the FASTA header so the outputs cross-reference.
Version provenance — the vflank version is stamped into the run report and parameter echo, plus a new root --version flag.
Docs — roadmap/module maps refreshed to the shipped state, glossary + tooltips, mermaid diagrams (pan/zoom), slate+amber palette, a "Reading a record" explainer, and the emit-formats design note.
See the changelog for details.
vflank 0.2.0
Highlights
Patient consensus from a BAM (--bam / --bam-map) for both small and fusion — the masked record becomes the per-sample consensus (hom-ALT corrected, het/low-coverage handled) via samtools consensus, with coverage controls (--bam-min-depth, --bam-call-fract, --require-coverage, …) and one record per (variant, sample).
No more silent insertion drops — patient insertions are flagged and masked to N (surfaced as NInserted + an "Insertion sites" summary line), closing the gap where deletions were masked but insertions vanished.
Run transparency — every run echoes its full parameter set, and the TSV report carries per-variant detail (masked / corrected / inserted / coverage fraction / source / flagged).
Docs overhaul — glossary + site-wide tooltips, mermaid diagrams (pan/zoom), left-sidebar layout, a slate+amber "Highlighter" palette, and a "Reading a record" explainer.
Project — adopted git-flow and reworked CI (docs-build guard on PRs; mike versioned docs), bumped GitHub Actions off Node-20.
See the changelog for the full list.
v0.1.0
First release of vflank — variant-aware flanking-sequence extraction and masking for ddPCR assay design.
Features
- Small variants (
vflank small) — ±N bp flanks from a MAF, raw + masked FASTA, deduplicated per unique variant (CHR_POS_REF_ALT). - Fusions / SVs (
vflank fusion) — reverse-complement-aware junction sequences from an iCallSV / iAnnotateSV breakpoint table (columns matched by name). - SNP masking, two backends — local gnomAD VCFs or the gnomAD GraphQL API (no download), each with
--pop-data {genome,exome,both}. - Genome-build guard, flank-truncation detection, and a categorised skip summary + optional TSV report.
Install
pip install vflank
# or
docker run --rm ghcr.io/rhshah/vflank --helpDocs: https://rhshah.github.io/vFlank/
🤖 Generated with Claude Code