varforge 0.2.0

Synthetic cancer sequencing test data generator
Documentation
# panel_umi.yaml — Targeted gene panel with UMI-tagged reads
#
# Simulates a typical 500x hybrid-capture panel sequencing run with inline
# 8-mer UMI barcodes.  Suitable for benchmarking tools such as fgbio,
# HUMID, UMI-tools, and duplex-consensus pipelines.
#
# The capture section models realistic on-target enrichment with edge
# dropoff and per-target coverage variability.  Mutations are seeded at
# low VAF (0.1–10 %) to stress-test variant callers at the sensitivity
# boundary.
#
# Run:
#   varforge simulate --config examples/panel_umi.yaml

reference: ${reference}  # set with --set reference=/path/to/hg38.fa

output:
  directory: out/panel_umi
  fastq: true
  bam: true
  truth_vcf: true
  manifest: true

sample:
  name: PANEL_UMI
  read_length: 150
  coverage: 500.0
  platform: illumina

fragment:
  model: normal
  mean: 200.0
  sd: 30.0

quality:
  mean_quality: 37
  tail_decay: 0.002

tumour:
  purity: 0.50
  ploidy: 2

mutations:
  random:
    count: 50
    vaf_min: 0.001
    vaf_max: 0.10
    snv_fraction: 0.80
    indel_fraction: 0.15
    mnv_fraction: 0.05

umi:
  length: 8
  duplex: false
  pcr_cycles: 10
  family_size_mean: 3.0
  family_size_sd: 1.5
  inline: true

capture:
  enabled: true
  targets_bed: ${targets_bed}  # set with --set targets_bed=/path/to/panel.bed
  off_target_fraction: 0.05
  coverage_uniformity: 0.3
  edge_dropoff_bases: 50

seed: 1234
threads: 4