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.