1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# 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