Key Points
Aggregated resource
Key Points
This page is generated from episode key points.
6 episodes covered
24 takeaways
Best for recap and publish checks
-
A workflow is defined in a
Snakefile. - Snakemake works backwards from the output you request.
- Rules are connected by matching outputs to inputs.
-
rule alldefines the default target for the workflow. - Snakemake only reruns outputs that are missing or stale.
- Wildcards let one rule match many input and output files.
- Snakemake can run many independent jobs in parallel and then combine their outputs in a later step.
- expand() is a convenient way to define a collection of target files.
- script: is useful when a workflow step is more naturally written as a small Python script than as a shell one-liner.
-
Use a
checkpointwhen the downstream file list is only known after an earlier step has run. -
A
checkpointlets Snakemake pause, run a discovery step, and then reevaluate the DAG. -
Input functions can inspect
checkpointoutputs and construct the downstream targets dynamically. -
If the file list is already known in advance, ordinary wildcards and
expand()are simpler.
- container: lets a rule declare the software environment it needs.
-
--software-deployment-method apptainertells Snakemake to execute containerised rules with Apptainer. - Per-rule containers keep workflow logic and software requirements explicit.
- Some details depend on where you run the workflow, for example, whether Apptainer is already installed or whether extra bind mounts are needed.
-
The
Snakefileshould usually stay the same across local and batch execution. - A workflow profile is the clean place to store HTCondor-specific executor settings.
- Resource requests and batching strategy strongly affect queue efficiency.
- The native HTCondor executor plugin avoids older submission wrappers.
- DAG: A visual map of your analysis dependencies.
- Dry-run (-n): Always perform a dry-run to verify the plan before executing.
- Rule Graph: A simplified visualization showing the relationship between rules rather than individual files.