From f54ed2c070b2eb7dd6bf9e5c339c25a9766077d5 Mon Sep 17 00:00:00 2001
From: burri0000 <dominik.burri@unibas.ch>
Date: Thu, 20 Feb 2020 15:57:25 +0100
Subject: [PATCH] renaming out.bg based on orientation

---
 snakemake/Snakefile                | 6 +++++-
 snakemake/paired_end.snakefile.smk | 9 ++++-----
 snakemake/single_end.snakefile.smk | 8 ++++----
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/snakemake/Snakefile b/snakemake/Snakefile
index 4f83c6d..1e81a7e 100644
--- a/snakemake/Snakefile
+++ b/snakemake/Snakefile
@@ -12,7 +12,11 @@ import pandas as pd
 
 samples_table = pd.read_csv(config["samples"], header=0, index_col=0, comment='#', engine='python', sep="\t")
 directionality = {"--fr": "fr-firststrand", "--rv": "fr-secondstrand"}
-
+rename_files = {"fr-firststrand": ("STAR_Signal.UniqueMultiple.out.plus.bg", 
+	"STAR_Signal.UniqueMultiple.out.minus.bg"),
+	"fr-secondstrand": ("STAR_Signal.UniqueMultiple.out.minus.bg", 
+	"STAR_Signal.UniqueMultiple.out.plus.bg")}
+	
 localrules: finish
 
 ##################################################################################
diff --git a/snakemake/paired_end.snakefile.smk b/snakemake/paired_end.snakefile.smk
index f733ca7..61d8309 100644
--- a/snakemake/paired_end.snakefile.smk
+++ b/snakemake/paired_end.snakefile.smk
@@ -401,7 +401,6 @@ rule star_rpm_paired_end:
 		--outFileNamePrefix {params.prefix}) &> {log}
 		"""
 
-
 rule alfa_bg_paired_end:
 	''' Run ALFA from stranded bedgraph files '''
 	input:
@@ -438,14 +437,14 @@ rule alfa_bg_paired_end:
 			"paired_end",
 			"{sample}",
 			"ALFA")),
+		orientation = lambda wildcards: directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]],
 		in_file_str1 = "STAR_Signal.UniqueMultiple.str1.out.bg",
-		rename_str1 = "STAR_Signal.UniqueMultiple.out.plus.bg",
+		rename_str1 = lambda wildcards: rename_files[directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]]][0],
 		in_file_str2 = "STAR_Signal.UniqueMultiple.str2.out.bg",
-		rename_str2 = "STAR_Signal.UniqueMultiple.out.minus.bg",
+		rename_str2 = lambda wildcards: rename_files[directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]]][1],
 		genome_index = lambda wildcards: os.path.abspath(os.path.join(config["alfa_indexes"], samples_table.loc[wildcards.sample, "organism"], 
 			str(samples_table.loc[wildcards.sample, "index_size"]), "ALFA", "sorted_genes")),
-		name = "{sample}",
-		orientation = lambda wildcards: directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]]
+		name = "{sample}"
 	singularity:
 		"docker://zavolab/alfa:1.1.1"
 	log: os.path.abspath(os.path.join(config["local_log"], "paired_end", "{sample}", "alfa_bg_paired_end.log"))
diff --git a/snakemake/single_end.snakefile.smk b/snakemake/single_end.snakefile.smk
index a51806f..280d4ea 100644
--- a/snakemake/single_end.snakefile.smk
+++ b/snakemake/single_end.snakefile.smk
@@ -364,14 +364,14 @@ rule alfa_bg_single_end:
 			"single_end",
 			"{sample}",
 			"ALFA")),
+		orientation = lambda wildcards: directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]],
 		in_file_str1 = "STAR_Signal.UniqueMultiple.str1.out.bg",
-		rename_str1 = "STAR_Signal.UniqueMultiple.out.plus.bg",
+		rename_str1 = lambda wildcards: rename_files[directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]]][0],
 		in_file_str2 = "STAR_Signal.UniqueMultiple.str2.out.bg",
-		rename_str2 = "STAR_Signal.UniqueMultiple.out.minus.bg",
+		rename_str2 = lambda wildcards: rename_files[directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]]][1],
 		genome_index = lambda wildcards: os.path.abspath(os.path.join(config["alfa_indexes"], samples_table.loc[wildcards.sample, "organism"], 
 			str(samples_table.loc[wildcards.sample, "index_size"]), "ALFA", "sorted_genes")),
-		name = "{sample}",
-		orientation = lambda wildcards: directionality[samples_table.loc[wildcards.sample, "kallisto_directionality"]]
+		name = "{sample}"
 	singularity:
 		"docker://zavolab/alfa:1.1.1"
 	log: os.path.abspath(os.path.join(config["local_log"], "single_end", "{sample}", "alfa_bg_single_end.log"))
-- 
GitLab