hisat2-simulate-reads-py
Quick Start
- Command:
hisat2_simulate_reads.py [genome_file] [gtf_file] [snp_file] [base_fname] - Local executable:
/home/vimalinx/miniforge3/envs/bio/bin/hisat2_simulate_reads.py - Full reference: See
references/help.mdfor complete options and usage details
When To Use This Tool
- Use
hisat2_simulate_reads.pywhen you need synthetic HISAT2-style benchmark reads from a genome, annotation, and SNP set. - It is appropriate for RNA-seq by default, but can also simulate DNA-seq with
-d. - Use it when benchmarking alignment settings, validating graph-aware variant handling, or generating controlled test data with fixed read and fragment lengths.
- Reach for it when you need reproducible simulations with explicit random seeds and optional sanity checks.
Common Patterns
# Default paired-end RNA-seq simulation
hisat2_simulate_reads.py genome.fa annotation.gtf variants.snp sim
# Single-end RNA-seq with shorter reads
hisat2_simulate_reads.py genome.fa annotation.gtf variants.snp sim --single-end -r 75 -n 100000
# DNA-seq simulation with explicit random seed
hisat2_simulate_reads.py genome.fa annotation.gtf variants.snp sim -d --random-seed 42
# Run internal sanity checks and print extra statistics
hisat2_simulate_reads.py genome.fa annotation.gtf variants.snp sim --sanity-check -v
Recommended Workflow
- Prepare a reference genome FASTA file and corresponding GTF annotation file
- Optionally prepare a SNP file if variant incorporation is needed
- Run
hisat2_simulate_reads.pywith required positional arguments and desired options (e.g.,-nfor fragment count,-efor expression profile) - Validate output using
--sanity-checkand review statistics with-vif needed
Guardrails
- Requires both genome FASTA and GTF files as positional inputs
- Defaults to paired-end RNA-seq reads; use
--single-endand/or-dfor alternative modes - Set
--random-seedfor reproducible simulations - The script writes output files based on
base_fname, includingbase_fname.samand at leastbase_fname_1.fa(plusbase_fname_2.fafor paired-end mode) - In the current environment,
-hprints a non-fatal PythonSyntaxWarningbefore the usage text; treat that as a script warning, not a failed invocation