-
Notifications
You must be signed in to change notification settings - Fork 21
Rule Call Graph
Lucas Czech edited this page Dec 14, 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):
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 yourconfig.yaml
is located for the above snakemake calls. - The full graph might only be shown AFTER having run the pipeline, or at least after running the genome preparation steps. This is because before running, we cannot determine all rule dependencies, as we first need to process the reference genome files to know, e.g., which chromosomes are present. Hence, to get the complete rule graph, run the
all_prep
step first, as explained in Running only parts of the pipeline. - Also, these commands need graphviz to be installed, which provides the
dot
command to draw the graph layout.