Skip to content

Rule Call Graph

Lucas Czech edited this page Nov 3, 2022 · 10 revisions

The default setup, using trimmomatic for read trimming, bwa mem for mapping, and GATK HaplotypeCaller for calling, has roughly following rule dependencies and data flow (disclaimer: this is not exact, as the rule graph depends on many settings - this here is only a rough overview):

Rule call dependency graph

If configured to use different tools, such as bowtie2 and bcftools call, the graph might look different, depending on which extra steps are needed for these tools.

To get the rule dependency graph (which rules depend on which other rules, as in the graph above) and the complete job call graph (called DAG, directed acyclic graph, which contains nodes for all jobs of all files that will be executed), use

snakemake --rulegraph | dot -Tsvg > rules.svg
snakemake --dag | dot -Tsvg > dag.svg

Remarks:

  • Note that you might need to specify the --directory in which your config.yaml is located for the above snakemake calls.
  • The full graph might only be shown AFTER having run the pipeline. This is because before running, we cannot determine all rule dependencies, as we first need to process the reference genome files (as part of the pipeline).
  • Also, these commands need graphviz to be installed, which provides the dot command to draw the graph layout.
Clone this wiki locally