Skip to content

Releases

v0.6.6

Choose a tag to compare

@github-actions github-actions released this 05 Nov 05:14
48a60d5

v0.6.6: bundle WGSExtract CLI v0.6.6

WGSExtract CLI v0.6.6

New

  • Nanopore (ONT) support: ONT reads are detected and their MM/ML methylation tags kept through alignment. DeepVariant uses the ONT_R104 model for R10.4.1 reads, Sniffles calls structural variants by default, and Clair3 is an optional small-variant caller (vcf clair3).
  • Methylation pileup: CpG methylation from MM/ML tags with modkit.
  • Y-DNA: native Yleaf-derived haplogroup analysis with verified data assets, and Y-STR genealogy marker panels from WGS (lineage y-str).
  • Variant tables: vcf table writes a queryable one-row-per-variant TSV and SQLite file. Table outputs also accept --format tsv|parquet.
  • Confidence labels: rare and clinical variant calls are labelled with depth-aware confidence.
  • Result manifests: commands can describe their outputs as JSON (--json), with consistent exit codes.
  • Sample workspace: sample facts are recorded once and can be overridden by the user.
  • Typed Python API (phase 1).
  • Easier help: commands are grouped into tiers, typos in options get suggestions, and there are --help-all, help topics, typed help JSON and next-step hints. Global options are now accepted after the subcommand too.
  • report-issue: opens a redacted, pre-filled GitHub bug report.
  • Microarray: info chip detects vendor chip revisions, and --quirks vendor reproduces known vendor reverse-strand reports.
  • Native Linux ARM64: DeepVariant 1.10 runs natively on the CPU for WGS. It uses a locally built image.
  • Recognized inputs: Element AVITI read names, MyHeritage Ultima read names, and the hs38d1c/hs38d1t references.
  • QC: warns about low-coverage or heavily imputed genotype inputs.
  • MultiQC: metrics output, plus docs on handing results to other pipelines. There is also a new hardware and acceleration guide.

Fixes

  • DeepVariant: CRAM 3.1 input is automatically converted to a temporary CRAM 3.0 copy, and the whole-genome postprocess step's RAM is estimated and capped.
  • Realign streams paired reads through collate at whole-genome scale, and refuses single-end reads before extracting pairs.
  • info infers sex when chrX or chrY is missing.
  • Nested --genome IDs inside genome_library are accepted.
  • Slow tool version probes are retried, and successful ones are cached.
  • Faster: coordinate projections and catalogues for microarray are cached, GERP/PhyloP scores are read in bounded windows, consensus queries only records inside the masked regions, and both depth binning and CRAM record counting are quicker.

Full changelog: WGSExtract/wgsextract-cli@v0.6.5...v0.6.6

Full CLI release: https://github.com/theontho/wgsextract-cli/releases/tag/v0.6.6

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 01 Nov 20:16
e0f9f33

v0.6.5: bundle WGSExtract CLI v0.6.5

Bundles WGSExtract CLI v0.6.5, which includes all v0.6.4 features: https://github.com/theontho/wgsextract-cli/releases/tag/v0.6.4

GUI

  • Expose the CLI features added after v0.6.3: opt-in MultiQC reports (file and directory pickers), expanded microarray exports (quality, strand, rsID, absent-marker and filter options, AADR 1240K/2M and indel manifests), the AADR and YBrowse reference installers, and targeted Y analysis options. New controls are off or blank by default, so existing commands are unchanged. (#171)
  • Settings toggles and numbers are saved as real TOML booleans and numbers, so switching a toggle off now turns the option off in the CLI. A saved value of the wrong type shows a warning naming the setting and uses the default, without blocking the bundle or rewriting the file. (#171)
  • One-command developer setup: make setup on Linux and macOS, .\make.ps1 setup on Windows. (#175)
  • Fresh Windows installs work again (CLI #286 replaced a Get-FileHash call that fails on some PowerShell 5.1 setups). (#173)

WGSExtract CLI v0.6.5

Fixes

  • Fresh Windows installs from the app work again. v0.6.4 checked the Pixi
    download with Get-FileHash. That cmdlet is missing when the app starts
    Windows PowerShell 5.1 from PowerShell 7, so new installs failed. The
    installer now computes the SHA-256 with .NET and still refuses a mismatched
    download. (WGSExtract/wgsextract-cli#286)
  • Invalid configuration values are reported, not silently used. A value of
    the wrong type in config.toml used to be coerced silently or fail later
    with a traceback. It is now ignored with a warning that names the key and
    the expected type, and the command carries on with the default. (WGSExtract/wgsextract-cli#282, WGSExtract/wgsextract-cli#281)

New

  • One-command developer setup. From a source checkout, run
    ./scripts/dev_setup.sh (macOS/Linux) or
    powershell -ExecutionPolicy Bypass -File scripts\dev_setup.ps1 (Windows).
    The script installs Pixi and just for your user if they're missing,
    installs the locked environments and pre-commit hooks, then runs the CLI,
    deps check and the smoke tests. See
    docs/developer_setup.md.
    On Windows, just run and just test now also work under the default
    Restricted script policy. (WGSExtract/wgsextract-cli#285, WGSExtract/wgsextract-cli#289)

Full Changelog: WGSExtract/wgsextract-cli@v0.6.4...v0.6.5

Full CLI release: https://github.com/theontho/wgsextract-cli/releases/tag/v0.6.5

v0.6.3

Choose a tag to compare

@github-actions github-actions released this 30 Oct 11:49
0f037b6

v0.6.3: bundle WGSExtract CLI v0.6.3

WGSExtract CLI v0.6.3

Native Windows full-genome validation, reproducibility and memory improvements, and several Windows and download fixes.

New

  • Optional parallel SNP/indel calling: vcf snp --parallel and
    vcf indel --parallel process indexed whole-genome alignments with up to
    --threads contig workers, resolve sex/ploidy once, and concatenate in
    reference-index order. Serial calling remains the default. bcftools uses
    a random subsampling stream per process at sites with more than 255 bases;
    starting independent contig workers changes those streams and can change
    likelihoods, INFO values, or low-quality calls. Full-genome testing found
    nine differing sites among roughly 4.4 million SNPs, despite passing smaller
    comparisons. Parallel output is therefore not guaranteed byte-identical
    to serial output; opt in only if that tradeoff is acceptable. Explicit
    regions, one thread, and unsupported input/index layouts use one stream.
    (#175, #199; exactness investigation #197)
  • Thread-independent BWA batches: BWA and BWA-MEM2 now use fixed
    -K 100000000 batches in short-read, Ultima, and pet alignment. This removes
    thread-count-dependent batching; one-million-pair tests produced identical
    decoded alignment bodies at two, four, and six threads. The Windows MEM2
    subset gate recorded a 3.2% throughput loss, specifically accepted for
    reproducibility; this is not a full-genome performance claim. (#176)
  • Measured alignment memory preflight: account for resident reference
    indexes, aligner working memory, duplicate marking, threaded sorting, and
    overhead against currently available memory on Linux, macOS, and Windows.
    Automatic selection falls back to BWA when MEM2 cannot fit; explicit MEM2
    refuses with advice to select BWA or lower --memory. BWA warns only.
    Read-dependent components and sort spill now scale with input read count,
    using bounded compressed-FASTQ sampling or indexed BAM/CRAM counts rather
    than reference length. The measured H2 input estimates about 18 GiB for BWA
    and 29 GiB for MEM2 at six threads / 256M sort memory. (#179, #194)
  • Lower BWA-MEM2 sorting memory: cap samtools sort at 256 MiB per thread,
    preserve smaller explicit budgets, and use that effective budget throughout
    aligner selection, estimates and safety guards. BWA and other aligners are
    unchanged. Matched five-million-pair chr20-reference trials were strictly
    exact on Linux and Windows, with no observed throughput regression. (#178)
  • Advisory memory and disk estimates before CPU alignment/realignment,
    BAM/CRAM sorting/conversion, and SNP/indel/GATK calling: compact
    OK / LOW / UNKNOWN rows compare estimated demand with available
    resources, combining concurrent demands on shared volumes. Estimates include
    output/index space, extracted FASTQs, retained Ultima/GATK BAM intermediates,
    and unresolved reference-storage uncertainty. Estimation failures warn and
    never introduce a new command refusal; existing safety guards remain.
    A strict, read-only, versioned JSON-compatible API is available for future
    GUI integration. (#198)

Fixes

  • Indels at ambiguous reference bases no longer abort full hs38DH calling.
    Normalize IUPAC reference codes to concrete VCF-compatible bases (for example
    R to A) while retaining ordinary records unchanged. Consensus generation
    reconciles compatible ambiguity in temporary inputs without changing the
    exported VCF or its called ALT bases. (#190; fixes #191)
  • Trio input selection now honors --input for the proband when
    --proband is absent, with shared --vcf-input precedence and intact
    BAM/CRAM support. Normalize parent/proband chromosome aliases beyond the
    primaries, including random, unplaced, and ALT contigs, even when a contig
    has no proband records. This fixes Nebula-style gVCF merging against
    chr-prefixed references and preserves annotation name round-trips.
    (#195; fixes #196)
  • Native Windows Java/GATK paths: paths entered as R:/... are passed
    with native separators for references, inputs, outputs, interval files,
    temporary directories, and dictionaries, preventing
    ProviderNotFoundException: Provider "R" not found. Java launch paths for
    FastQC/HaploGrep are covered too; explicit URIs and POSIX argv are preserved.
    Hosted Windows CI includes a real regional GATK smoke test. (#201; fixes #200)
  • Safe reference re-downloads: refreshes start at byte zero rather than
    promoting a completed destination into a resumable partial. Only a genuine
    .partial is resumed. curl, urllib, and segmented downloads preserve the
    previous destination until the candidate passes configured verification,
    then atomically replace it; failed verification leaves the old file intact.
    (#203; fixes #202)
  • Correct GATK output warnings: indexes produced by GATK/htsjdk can report
    zero records even for nonempty VCFs. Confirm indexed zero counts with a
    bounded single-record probe before warning that no variants were called.
    Variant contents are unchanged. (#206; fixes #205)
  • Clear early Windows refusals for unsupported commands, including
    pyBigWig-backed PhyloP/GERP, instead of failing after input preparation or
    creating output directories. Table-backed PhyloP remains available.
    Parabricks GPU modes explicitly require Linux with an NVIDIA GPU. (#174)

Native Windows validation

We validated a full 30× human genome on native Windows (no WSL or MSYS2) against Linux:

  • Byte-identical to Linux: full-genome BWA alignment, serial SNP and indel calling, trio analysis, BAM/CRAM sorting and conversion, read extraction, annotation, lineage and QC.
  • Command coverage: 43 benchmark and 22 supplemental native-Windows command cases passed, including reference downloads. Optional FreeBayes was not installed and so was not tested.
  • GATK HaplotypeCaller calls the same sites and genotypes on Windows and Linux (124,581 chr20 records, 0 site or genotype differences). However, 26 records differ in QUAL/PL/GQ/QD/MQ/DP/AD, and Windows is roughly 4–5× slower. GATK's Intel GKL native kernels do not ship for Windows, so GATK falls back to pure-Java PairHMM and Smith-Waterman. Filters on confidence or depth may therefore behave slightly differently on Windows. Tracking: #207.
  • Parallel SNP/indel calling (--parallel) is not byte-identical to serial calling on full genomes, which is why serial remains the default (#197, #199).
  • Not validated in this release: full-human BWA-MEM2 alignment (needs about 48 GB RAM, #188) and full-genome realign on Windows (#189).

BWA-MEM2 sort-memory cap: measured impact

On matched 5-million-pair runs (6 vCPU, 10 GiB), Linux and Windows output was byte-identical with and without the cap. Wall time was unchanged (Windows 702 s → 700 s; Linux 716 s → 715 s), and peak memory fell by about 1.5 GiB on both. Windows ran within 2% of Linux.

Full Changelog: WGSExtract/wgsextract-cli@v0.6.2...v0.6.3

Full CLI release: https://github.com/theontho/wgsextract-cli/releases/tag/v0.6.3

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 10:14
52666b6

v0.6.2: native Windows CLI and optimized tools

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 19:29
3c32962

GUI for CLI v0.6.1

WGS Extract setup recognizes native Windows CLI installations and skips MSYS2 for them, while retaining MSYS2 setup for legacy CLI releases that require it.

The desktop app is packaged with Tauri on Windows, macOS, and Linux. The packaged app's install, setup, actions, and uninstall passed on all three platforms with both the native CLI tree and the pinned CLI release:
https://github.com/theontho/wgsextract-cli/actions/runs/40223207928

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 01:33
268d9f2

v0.6.0: bundles WGSExtract CLI v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 10:34
2a2c072

v0.5.0: bundles WGSExtract CLI v0.5.0

v0.4.5

Choose a tag to compare

@github-actions github-actions released this 23 Oct 16:40
dde85fd

v0.4.5

  • WGSExtract bundles CLI v0.4.3: actions that pick a reference themselves use the one shipped beside a BAM over a library genome of another build (the mtDNA haplogroup action reported no haplogroup with hs38 installed); SpliceAI scores from Ensembl; 23andMe v1/v2 microarray templates; native VEP on Apple Silicon.

v0.4.4

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:42
50291f3

v0.4.4

  • Bundle tests: dataSource steps load a control's or setting's data source the way the app does and check its output.
  • WGS Extract Microarray page: the reference dropdown's data source now receives ref_path, so it lists installed genomes.
  • Dependencies: patched follow-redirects, rustls and golang.org/x/image.

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 22 Oct 20:12
22ee9fe

WGS Extract 0.4.3: Windows render metric, macOS Uninstall fixes

  • Windows (Tauri/WebView2): reports webAppRendered (#150).
  • macOS: no crash during the app's own Uninstall, and its preferences stay deleted (#151).