From 17fd164c3356a87adb889d2338b298041dcfb853 Mon Sep 17 00:00:00 2001
From: Venkat Malladi <venkat.malladi@utsouthwestern.edu>
Date: Sun, 22 Oct 2017 20:35:20 -0500
Subject: [PATCH] Fix passing of bedpe reads.

---
 workflow/main.nf                     | 2 +-
 workflow/scripts/convert_reads.py    | 9 ++++++---
 workflow/tests/test_convert_reads.py | 1 +
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/workflow/main.nf b/workflow/main.nf
index a71f30d..70ea405 100644
--- a/workflow/main.nf
+++ b/workflow/main.nf
@@ -203,7 +203,7 @@ process convertReads {
 
   output:
 
-  set sampleId, file('*.tagAlign.gz'), file('*.bedpe.gz'), biosample, factor, treatment, replicate, controlId into tagReads
+  set sampleId, file('*.tagAlign.gz'), file('*.bed{pe,se}.gz'), biosample, factor, treatment, replicate, controlId into tagReads
 
   script:
 
diff --git a/workflow/scripts/convert_reads.py b/workflow/scripts/convert_reads.py
index 8019f15..8c090ae 100644
--- a/workflow/scripts/convert_reads.py
+++ b/workflow/scripts/convert_reads.py
@@ -64,10 +64,9 @@ def check_tools():
         raise Exception('Missing samtools')
 
 
-def convert_mapped(bam, bam_basename):
+def convert_mapped(bam, tag_filename):
     '''Use bedtools to convert to tagAlign.'''
 
-    tag_filename = bam_basename + '.tagAlign.gz'
     out, err = utils.run_pipe([
         "bamToBed -i %s" % (bam),
         r"""awk 'BEGIN{OFS="\t"}{$4="N";$5="1000";print $0}'""",
@@ -110,10 +109,14 @@ def main():
     bam_basename = os.path.basename(
         utils.strip_extensions(bam, ['.bam']))
 
-    convert_mapped(bam, bam_basename)
+    tag_filename = bam_basename + 'tagAlign.gz'
+    convert_mapped(bam, tag_filename)
 
     if paired:  # paired-end data
         convert_mapped_pe(bam, bam_basename)
+    else:
+        bedse_filename =  bam_basename + ".bedse.gz"
+        shutil(tag_filename, bedse_filename)
 
 
 if __name__ == '__main__':
diff --git a/workflow/tests/test_convert_reads.py b/workflow/tests/test_convert_reads.py
index 8d25fbc..6be1f96 100644
--- a/workflow/tests/test_convert_reads.py
+++ b/workflow/tests/test_convert_reads.py
@@ -9,6 +9,7 @@ test_output_path = os.path.dirname(os.path.abspath(__file__)) + \
 
 def test_convert_reads_singleend():
     assert os.path.exists(os.path.join(test_output_path, 'ENCFF646LXU.tagAlign.gz'))
+    assert os.path.exists(os.path.join(test_output_path, 'ENCFF646LXU.bedse.gz'))
 
 
 def test_map_qc_pairedend():
-- 
GitLab