Skip to main content

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

Project description

svForge logo

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

PyPI version License DOI


svForge produces caller-shaped 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 gen, paired somatic gen-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     # one 2-sample somatic VCF (NORMAL + TUMOR)
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.1.tar.gz (52.8 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.1-py3-none-any.whl (51.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: svforge-1.0.1.tar.gz
  • Upload date:
  • Size: 52.8 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.1.tar.gz
Algorithm Hash digest
SHA256 b25d4579945a75698db8de68a479da799bb3124e0b5cac07c9746036245ba238
MD5 aa9edd367fb182b9d20cb40bd3015c02
BLAKE2b-256 bd759faa0abfbddcaf062872f4e09ce108f7f5d771c388347408a7318133af23

See more details on using hashes here.

Provenance

The following attestation bundles were made for svforge-1.0.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: svforge-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 51.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c9fbf86c552656974383740fba1ac7dcdd8da90b28435f1a7daca3c0a880f99a
MD5 40b5f58e5658d2c1f1b2c228b3b39735
BLAKE2b-256 668255bde167ed718dfb9f6b3a48a58fe45a88a9619f61dbce811ccc48ec44c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for svforge-1.0.1-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