Full Workflow Execution
Full Workflow Execution#
We execute the full dependency tree of the workflow by calling snakemake --cores <ncores> -s snakefile
, where we point to the snakefile and <ncores>
specifies the maximum number of parallelly running tasks. Do not forget to setup basf2 beforehand, for the recommended release use b2setup $(b2help-releases)
.
To submit rules to the KEKcc batch system, we can specify snakemake --jobs <njobs> -s snakefile --cluster bsub
, where <njobs>
specifies the maximum number of parallelly running tasks. In our case, we only want to submit the reconstructions, therefore we mark all other rules as local in the snakefile:
localrules: OfflineAnalysis, MergeEventType, MergeBatch, BatchToTextFile, Skim, SetProxy
You can run snakemake workflows dryly with snakemake -npr -s snakefile
, with printout for shell commands and a reasoning why every rule is triggered.
Snakemake does not feature a dynamic directed acyclic graph (DAG). For dynamic workflow monitoring you may us the Panoptes Server. To statically visualize the DAG for your workflow, call:
snakemake -s snakefile --forceall --dag | dot -Tpdf > dag.pdf # full DAG
snakemake -s snakefile --rulegraph | dot -Tpdf > dagsimple.pdf # simplified DAG
Snakemake workflows can be executed remotely on the Reproducible research data analysis platform for added functionalities.