From 8c192e823ba33668fce0a0a532330cd1ebf53e1e Mon Sep 17 00:00:00 2001
From: kehillio <kenzo-hugo.hillion1@pasteur.fr>
Date: Mon, 13 May 2019 15:26:59 +0200
Subject: [PATCH] add subworkflow part and subworkflow metaphlan to graphlan

---
 workflows/subworfklows/README.md              |  4 +++
 .../graphlan_from_metaphlan2/SnakeFile        | 30 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 workflows/subworfklows/README.md
 create mode 100644 workflows/subworfklows/graphlan_from_metaphlan2/SnakeFile

diff --git a/workflows/subworfklows/README.md b/workflows/subworfklows/README.md
new file mode 100644
index 0000000..b960b6c
--- /dev/null
+++ b/workflows/subworfklows/README.md
@@ -0,0 +1,4 @@
+# Snakemake subworkflows
+
+Similar to tools, subworkflows cannot be used directly but need to be called in a higher Snakefile
+by setting up the required variables.
diff --git a/workflows/subworfklows/graphlan_from_metaphlan2/SnakeFile b/workflows/subworfklows/graphlan_from_metaphlan2/SnakeFile
new file mode 100644
index 0000000..dfd7278
--- /dev/null
+++ b/workflows/subworfklows/graphlan_from_metaphlan2/SnakeFile
@@ -0,0 +1,30 @@
+configfile: "config.yaml"
+
+"""
+This subworkflow need to be called to be used by specifying:
+- __graphlan_from_metaphlan2_input
+- __graphlan_from_metaphlan2_output
+- __graphlan_from_metaphlan2_output_dir
+"""
+
+# ==== Rule paths ==== 
+__export2graphlan_rules = "../../tools/metaphlan2/metaphlan2/metaphlan2.rules"
+__graphlan_annotate_rules = "../../tools/metaphlan2/metaphlan2_merge/metaphlan2_merge.rules"
+__graphlan_rules = "../../tools/metaphlan2/metaphlan2_heatmap/metaphlan2_heatmap.rules"
+
+# ---- export2graphlan
+__export2graphlan_input = __graphlan_from_metaphlan2_input
+__export2graphlan_output_tree = __graphlan_from_metaphlan2_output + ".tree.txt"
+__export2graphlan_output_annotation = __graphlan_from_metaphlan2_output + ".annot.txt"
+include: __export2graphlan_rules
+
+# ---- graphlan_annotate
+__graphlan_annotate_input_tree = __export2graphlan_output_tree
+__graphlan_annotate_input_annotation = __export2graphlan_output_annotation
+__graphlan_annotate_output = __graphlan_from_metaphlan2_output + ".annot.xml"
+include: __graphlan_annotate_rules
+
+# ---- graphlan
+__graphlan_input = __graphlan_annotate_output
+__graphlan_output = __graphlan_from_metaphlan2_output
+include: __graphlan_rules
-- 
GitLab