From 7972b21c7c13d8f9c64bdebe06704a511c6de8b8 Mon Sep 17 00:00:00 2001
From: Jeremy Mathews <Jeremy.Mathews@utsouthwestern.edu>
Date: Thu, 7 Nov 2019 16:14:23 -0600
Subject: [PATCH] Resolve 37-Design File Check

---
 CHANGELOG.md                     | 1 +
 workflow/main.nf                 | 8 ++++++--
 workflow/scripts/check_design.py | 4 ++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 599997e..4e1b76a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
 # v1.3.0 (in development)
 **User Facing**
+* Check Design File for spaces in name and file contents
 
 **Background**
 * Add Nextflow Tower integration into CI (GHH's profile)
diff --git a/workflow/main.nf b/workflow/main.nf
index 8862991..3784116 100755
--- a/workflow/main.nf
+++ b/workflow/main.nf
@@ -87,7 +87,11 @@ process checkDesignFile {
     """
     hostname
     ulimit -a
-    python3 ${baseDir}/scripts/check_design.py -d ${designLocation} -f ${fastqList}
+    noSpaceDesign=\$(echo "${designLocation}" | tr -d ' ')
+    if [[ "\${noSpaceDesign}" != "${designLocation}" ]]; then
+      mv "${designLocation}" "\${noSpaceDesign}"
+    fi
+    python3 ${baseDir}/scripts/check_design.py -d \${noSpaceDesign} -f ${fastqList}
     """
 
 }
@@ -353,4 +357,4 @@ process multiqc {
     multiqc -c ${multiqcConf} .
     """
 
-}
\ No newline at end of file
+}
diff --git a/workflow/scripts/check_design.py b/workflow/scripts/check_design.py
index c5c679e..4a4d84c 100755
--- a/workflow/scripts/check_design.py
+++ b/workflow/scripts/check_design.py
@@ -97,7 +97,7 @@ def main():
     logger.addHandler(handler)
 
     # Read files as dataframes
-    design_df = pd.read_csv(args.design, sep=',')
+    design_df = pd.read_csv(args.design, sep=',', converters={'Sample': str.strip, 'fastq_R1': str.strip, 'fastq_R2': str.strip})
     fastq_df = pd.read_csv(args.fastq, sep='\t', names=['name', 'path'])
 
     # Check design file
@@ -107,4 +107,4 @@ def main():
     new_design_df.to_csv('design.checked.csv', header=True, sep=',', index=False)
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()
-- 
GitLab