From 29e6c2572d2d16786de28949f9de449365a1e7bd Mon Sep 17 00:00:00 2001
From: Cedric Midoux <cedric.midoux@inra.fr>
Date: Thu, 5 Sep 2019 11:48:49 +0200
Subject: [PATCH] quast

---
 assembly.smk | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 global.smk   |  1 +
 2 files changed, 47 insertions(+)

diff --git a/assembly.smk b/assembly.smk
index bb03a03..d359f42 100644
--- a/assembly.smk
+++ b/assembly.smk
@@ -99,3 +99,49 @@ def contigs_input(wildcards):
 		return ["work/megahit/{wildcards.sample}/{wildcards.sample}.contigs.fa".format(wildcards=wildcards)]
 	elif config["ASSEMBLER"] == "metaspades":
 		return ["work/metaSPADES/{wildcards.sample}/{wildcards.sample}.contigs.fasta".format(wildcards=wildcards)]
+
+def contigsExpand_input(wildcards):
+	if config["ASSEMBLER"] == "megahit":
+		return [expand("work/megahit/{sample}/{sample}.contigs.fa", sample=SAMPLES)]
+	elif config["ASSEMBLER"] == "metaspades":
+		return [expand("work/metaSPADES/{sample}/{sample}.contigs.fasta", sample=SAMPLES)]
+
+def coassembly_contigs_input(wildcards):
+	if config["ASSEMBLER"] == "megahit":
+		return ["work/megahit/coassembly/coassembly.contigs.fa"]
+	elif config["ASSEMBLER"] == "metaspades":
+		return ["work/metaSPADES/coassembly/coassembly.contigs.fasta"]
+
+rule quast:
+	input:
+		unpack(contigsExpand_input)
+	output:
+		"report/quast_results/report.html"
+	threads:
+		4
+	params:
+		output = lambda wildcards, output: os.path.dirname(str(output))
+	shell:
+		"quast "
+		"--mgm "
+		"--output-dir {params.output} "
+		"-L "
+		"--threads {threads} "
+		"{input} "
+
+rule coassembly_quast:
+	input:
+		unpack(coassembly_contigs_input)
+	output:
+		"report/quast_coassembly/report.html"
+	threads:
+		4
+	params:
+		output = lambda wildcards, output: os.path.dirname(str(output))
+	shell:
+		"quast "
+		"--mgm "
+		"--output-dir {params.output} "
+		"-L "
+		"--threads {threads} "
+		"{input} "
diff --git a/global.smk b/global.smk
index 460dcdc..dbb749c 100644
--- a/global.smk
+++ b/global.smk
@@ -9,6 +9,7 @@ rule all:
 		"report/multiqc_report.html",
 		expand("report/reads_{sample}-krona.html", sample=config["SAMPLES"]),
 		"report/contigs_coassembly-taxNames.tsv",
+		"report/quast_coassembly/report.html",
 
 include: "../workflow_metagenomics/quality.smk"
 include: "../workflow_metagenomics/preprocess.smk"
-- 
GitLab