Skip to main content

Synthetic VCF generator for structural variants (Manta, DELLY) with controlled variability and realistic artefact injection

Reason this release was yanked:

Critical bugs: VCF output not tabix-indexable, gen-pair option did not produce a real somatic VCF. Please use a later version.

Project description

svForge logo

Generate synthetic SV VCFs to stress-test your pipelines with confidence


svForge produces caller-specific VCFs (Manta, DELLY) in VCF / VCF.gz / BCF format with fine-grained control over variability (HOMLEN, SVLEN, VAF) and realistic artefact injection (SVs in ENCODE blacklist regions, gnomAD germline SVs).

Designed to be modular, it is easy to adapt to your own use case. You can tune generation parameters, plug in new callers, and customize the workflow without reworking the whole tool.

Installation

pip install svforge

Or from source:

git clone https://github.com/pieetie/svforge
cd svforge
pip install -e ".[dev,test]"

Quick start

For ready-to-run command lines (single sample, tumor/normal pair, validation, banks, and dev checks), see docs/ready-to-use.md.

Typical use cases

  • Validate downstream filters (for example, SVFORGE_SOURCE=gnomad records should disappear after your gnomAD filtering step).
  • Validate ENCODE blacklist annotation logic (for example, SVFORGE_SOURCE=blacklist records should receive your expected poor-mappability label).
  • Run reproducible CI regression tests with fixed seeds, without committing generated VCF files.
  • Smoke-test deployments and pipeline changes in seconds instead of rerunning full variant callers on BAM files.
  • Reproduce specific scenarios and edge cases (cross-chrom BNDs, contig-edge events, controlled VAF/HOMLEN ranges) for debugging and QA.
  • Demo or onboard safely with realistic SV VCFs and no patient data.

CLI

svforge gen          # one VCF for one sample
svforge gen-pair     # tumor + normal VCFs for somatic pipelines
svforge validate     # self-consistency check of injected SVs
svforge bank list    # list built-in banks
svforge bank show    # dump a bank as YAML
svforge callers      # list registered writers

Run svforge <cmd> --help for the full flag list.

Credits

  • Logo and visual identity - Elisa Perrin
  • Claude (Anthropic) - assisted with tests, documentation, refactoring, and release tooling (Ruff linting/formatting, CI cleanup)

License

svForge icon Distributed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

svforge-1.0.0.tar.gz (48.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

svforge-1.0.0-py3-none-any.whl (50.1 kB view details)

Uploaded Python 3

File details

Details for the file svforge-1.0.0.tar.gz.

File metadata

  • Download URL: svforge-1.0.0.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for svforge-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a80ef617a05ecfbae7818ab2f69d54d9100d5273277bb53225cc5cc9443187d1
MD5 257eeea0bd4b1d73c9b4375efd084cee
BLAKE2b-256 8969a17742961efa30fcff56c524735cc82c1dae309a246a971be69e3429aee6

See more details on using hashes here.

Provenance

The following attestation bundles were made for svforge-1.0.0.tar.gz:

Publisher: publish.yml on pieetie/svforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svforge-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: svforge-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 50.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for svforge-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8d591540fc2ffce930909fdb4bedb19794d5dcd980f91aac938915d171f3e72
MD5 a26154d68a8955be390ae889ea0a2445
BLAKE2b-256 6d236774d7360eeffa05b3261732c9dab8003cef673e302501a6c96df6414078

See more details on using hashes here.

Provenance

The following attestation bundles were made for svforge-1.0.0-py3-none-any.whl:

Publisher: publish.yml on pieetie/svforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page