From 8a91ad1ba1e23e07445ede54ed2a7f0087835c8a Mon Sep 17 00:00:00 2001
From: "Gervaise H. Henry" <gervaise.henry@utsouthwestern.edu>
Date: Tue, 19 Jan 2021 09:52:31 -0600
Subject: [PATCH] Allow unexpected values for stranded/spike/species

---
 CHANGELOG.md                   |  2 ++
 workflow/rna-seq.nf            |  2 +-
 workflow/scripts/parse_meta.py | 14 +-------------
 3 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f7c6e74..deaa3b9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,8 @@
 
 **Background**
 * Add memory limit per thread for samtools sort
+* Remove parsing restrictions for submitted stranded/spike/species
+* Pass unidentified ends instead of overwriting it as unknown
 
 *Known Bugs*
 * Override params (inputBag, fastq, species) aren't checked for integrity
diff --git a/workflow/rna-seq.nf b/workflow/rna-seq.nf
index abec019..fcf77a3 100644
--- a/workflow/rna-seq.nf
+++ b/workflow/rna-seq.nf
@@ -338,7 +338,7 @@ process parseMetadata {
     then
       endsMeta="pe"
     else
-      endsMeta="unknown"
+      endsMeta=\${endsRaw}
     fi
     if [ "\${endsRaw}" == "" ]
     then
diff --git a/workflow/scripts/parse_meta.py b/workflow/scripts/parse_meta.py
index 12cc7c7..c2c71e0 100644
--- a/workflow/scripts/parse_meta.py
+++ b/workflow/scripts/parse_meta.py
@@ -43,7 +43,7 @@ def main():
     # Check experiment RID metadata from 'Experiment.csv'
     if (args.parameter == "expRID"):
         if (len(metaFile.Experiment_RID.unique()) > 1):
-            print("There are multiple experoment RID's in the metadata: " +
+            print("There are multiple experiment RID's in the metadata: " +
                   " ".join(metaFile.Experiment_RID.unique()))
             exit(1)
         else:
@@ -79,10 +79,6 @@ def main():
             stranded = "stranded"
         elif (metaFile.Has_Strand_Specific_Information.unique() == "no"):
             stranded = "unstranded"
-        else:
-            print("Stranded metadata not match expected options: " +
-                  metaFile.Has_Strand_Specific_Information.unique())
-            exit(1)
         print(stranded)
 
     # Get spike-in metadata from 'Experiment Settings.csv'
@@ -91,10 +87,6 @@ def main():
             spike = "yes"
         elif (metaFile.Used_Spike_Ins.unique() == "no"):
             spike = "no"
-        else:
-            print("Spike-ins metadata not match expected options: " +
-                  metaFile.Used_Spike_Ins.unique())
-            exit(1)
         print(spike)
 
     # Get species metadata from 'Experiment.csv'
@@ -103,10 +95,6 @@ def main():
             species = "Mus musculus"
         elif (metaFile.Species.unique() == "Homo sapiens"):
             species = "Homo sapiens"
-        else:
-            print("Species metadata not match expected options: " +
-                  metaFile.Species.unique())
-            exit(1)
         print(species)
 
     # Get read length metadata from 'Experiment Settings.csv'
-- 
GitLab