Running the Pipeline¶
Snakemake basics¶
All commands are issued from the repository root directory. The root
Snakefile is the entry point; the -s flag should not be used.
Dry run¶
To preview what will be executed without running anything:
Pipeline targets¶
| Target | What it runs |
|---|---|
snakemake --cores 4 |
Everything (default -- all scenarios, all stages) |
results/{folder}/{scenario}/epimight.done |
EPIMIGHT heritability estimation |
results/{folder}/{scenario}/scenario.done |
All stages for one scenario |
results/{folder}/{scenario}/simulate.done |
Pedigree simulation only |
results/{folder}/{scenario}/phenotype.done |
Simulation + phenotyping |
results/{folder}/{scenario}/validate.done |
Simulation + validation + folder summaries |
results/{folder}/{scenario}/stats.done |
Phenotyping + stats + plots |
Running a single scenario¶
The scenario.done sentinel file signals that all stages are complete for that scenario.
Force rebuilding¶
Use -f to force-rebuild a specific output:
Pipeline stages¶
The pipeline runs stages in order, with each stage depending on the previous:
Snakemake tracks file dependencies automatically; re-running the same command after an interrupted run resumes from where it stopped.
Resuming interrupted runs¶
When Snakemake detects incomplete files from a previously interrupted run:
Troubleshooting¶
| Problem | Solution |
|---|---|
ModuleNotFoundError: No module named 'simace' |
Run conda activate simACE first |
FileNotFoundError: config/_default.yaml |
Run snakemake from the simACE repo root directory |
| Simulation killed or frozen (large N) | Reduce --cores to lower parallel memory usage |
IncompleteFilesException on re-run |
Run with --rerun-incomplete |