From 76dcf439935250287bda4ad0e242f3f6f28a3552 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Wed, 8 Mar 2023 18:43:52 +0100 Subject: [PATCH] add rule for dag, use shutil to purge outputs --- Snakefile | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/Snakefile b/Snakefile index b8586005..3be6afb9 100644 --- a/Snakefile +++ b/Snakefile @@ -3,7 +3,7 @@ # SPDX-License-Identifier: MIT from os.path import normpath, exists -from shutil import copyfile, move +from shutil import copyfile, move, rmtree from snakemake.remote.HTTP import RemoteProvider as HTTPRemoteProvider @@ -33,6 +33,7 @@ BENCHMARKS = "benchmarks/" + RDIR RESOURCES = "resources/" + RDIR if not run.get("shared_resources") else "resources/" RESULTS = "results/" + RDIR +localrules: purge wildcard_constraints: simpl="[a-zA-Z0-9]*", @@ -61,6 +62,21 @@ if config["foresight"] == "myopic": rule purge: - message: "Removing generated resources and results. Downloads are kept." - shell: - "rm -r resources/ results/" + message: "Purging generated resources and results. Downloads are kept." + run: + rmtree("resources/") + rmtree("results/") + + +rule dag: + output: + dot=RESOURCES + "dag.dot", + pdf=RESOURCES + "dag.pdf", + png=RESOURCES + "dag.png" + conda: "envs/environment.yaml" + shell: + """ + snakemake --rulegraph all | sed -n "/digraph/,\$p" > {output.dot} + dot -Tpdf -o {output.pdf} {output.dot} + dot -Tpng -o {output.png} {output.dot} + """ \ No newline at end of file