Skip to content

Other assays

Besides bisulfite sequencing, BSReadSim simulates whole-genome sequencing (WGS), whole-exome sequencing (WES), and targeted sequencing (TS).

Non-bisulfite workflow

The non-bisulfite workflow shares the genome, fragment, read, output, and seed controls without methylation modeling or bisulfite conversion.

reference FASTA
  -> prepared diploid genome
  -> fragment generation and sampling
  -> read extraction, base quality, and substitution errors
  -> FASTQ or annotated BAM + manifest
  • WGS: Samples fragments from eligible positions across the genome and requires no target file.
  • WES: Samples fragments around exome intervals supplied with --targets.
  • TS: Samples fragments around custom panel intervals supplied with --targets.

WES, TS, and TBS use the same target-centered fragment model.

Choose an assay

WGS

Use wgs for whole-genome sampling. This example uses the default uniform sampling.

bsreadsim run wgs \
  -r reference.fa \
  -o runs/wgs \
  -n 100000 \
  -t 4 \
  --mutation-rate 0 \
  --seed 42

See Generate fragments and Sample fragments for whole-genome fragment geometry and sampling controls.

WES

Use wes with exome intervals in a strand-aware BED6 file. This example uses the default uniform target sampling.

bsreadsim run wes \
  -r reference.fa \
  -o runs/wes \
  -n 100000 \
  -t 4 \
  --targets exome.bed \
  --insert-mean 300 \
  --center-sd 50 \
  --mutation-rate 0 \
  --seed 42

TS

Use ts with a custom target panel in a strand-aware BED6 file. This example weights targets by the scores in BED column 5.

bsreadsim run ts \
  -r reference.fa \
  -o runs/ts \
  -n 100000 \
  -t 4 \
  --sampling score \
  --targets panel.bed \
  --insert-mean 300 \
  --center-sd 50 \
  --mutation-rate 0 \
  --seed 42

Shared simulation controls

The following controls also apply to non-bisulfite assays:

Control Use in non-bisulfite assays
Genome Keep the reference unchanged, generate de novo variants, or load a diploid VCF
Fragment generation Use whole-genome geometry for WGS and target-centered geometry for WES and TS
Fragment length Set the minimum, mean, maximum, and standard deviation
Fragment sampling Use uniform by default, gc for WGS, or score for WES and TS
Read count Set an exact read count or assay-aware depth
Read layout Choose single- or paired-end reads and set the read length
Quality and errors Use fixed values or data-derived models for Phred scores and substitutions
Output and truth Write FASTQ or annotated BAM, a manifest, and optional variant truth
Random seeds Control genome preparation and fragment and read generation; the methylation seed is unused
How depth is calculated

WGS depth uses the full length of every contig with positive fragment- allocation weight. WES and TS depth use the union of all validated target intervals, including intervals whose individual geometry or score prevents selection. Use --reads instead when an exact output record count is required.

Outputs and simulation truth

Each run writes FASTQ or an origin-annotated BAM, together with a manifest. With the default prefix sim, a paired-end FASTQ run using --save-truth has the following structure:

OUTPUT/
├── sim.R1.fastq.gz
├── sim.R2.fastq.gz
├── sim.manifest.json
└── truth/
    └── sim.variants.vcf.gz

Single-end FASTQ omits sim.R2.fastq.gz. BAM output replaces the FASTQ files with sim.bam and omits bisulfite-specific XG, XR, and YS annotations. The required generic zt and zr fields remain present but contain no methylation or conversion events. For non-bisulfite assays, --save-truth exports only the prepared, phased variant set as VCF.

See Configure output, Save simulation truth, and Outputs for the available representations, artifact names, and completion rules.