From 9b5550a48d44b620c65303b54cd73f5df97bcb25 Mon Sep 17 00:00:00 2001
From: Cedric Midoux <cedric.midoux@inra.fr>
Date: Fri, 26 Jun 2020 16:03:31 +0200
Subject: [PATCH] vhm

---
 global.smk |  1 +
 virome.smk | 26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/global.smk b/global.smk
index c301908..4aea719 100644
--- a/global.smk
+++ b/global.smk
@@ -28,6 +28,7 @@ rule all:
 		#expand("work/addon/catalogue.{sample}.unmapped.taxNames.tsv", sample=config["SAMPLES"]),
 		#virome
 		expand("report/viromeQC-{sample}.txt", sample=config["SAMPLES"]),
+		expand("work/virhostmatcher/{sample}/done", sample=config["SAMPLES"]),
 
 
 include: "../workflow_metagenomics/quality.smk"
diff --git a/virome.smk b/virome.smk
index 87c9cc9..42f2a70 100644
--- a/virome.smk
+++ b/virome.smk
@@ -19,3 +19,29 @@ rule viromeQC:
 		"--tempdir /projet/tmp/ "
 		"&& "
 		"conda deactivate "
+
+rule virhostmatcher:
+	input:
+		unpack(contigs_input)
+	output:
+		done = "work/virhostmatcher/{sample}/done"
+	params:
+		splittedGenomes = "work/virhostmatcher/{sample}/splittedGenomes",
+		output = lambda wildcards, output: os.path.dirname(str(output))
+	shell:
+		"mkdir -p {params.splittedGenomes} "
+		"&& "
+		"awk '/^>/ {{if(x>0) {{close(outname); x=0}} match($0, \">([^| ]*)\", record);outname=sprintf(\"{params.splittedGenomes}/%s.fa\",record[1]); if (x>0) {{print >> outname}} else {{print > outname;}} x++; next;}} {{if(x>0) print >> outname;}}' {input} " # https://github.com/soedinglab/WIsH#tricks
+		"&& "
+		# "conda activate vhm "
+		# "&& "
+		"vhm.py "
+		"--virusFaDir {params.splittedGenomes} "
+		"--hostFaDir /projet/irstea/WIsH_2020/Host/ "
+		"--out {params.output} "
+		"--taxa /projet/irstea/WIsH_2020/Host.txt "
+		"--d2star 0 "
+		# "&& "
+		# "conda deactivate "
+		"&& "
+		"touch {output.done} "
-- 
GitLab