diff --git a/workflow/main.nf b/workflow/main.nf index a71f30d033deba8edf63f78ef8458c7ac6d7e501..70ea40582ac2b8ad500bef0b27e8b5d332c0229c 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 8019f15cb792dcdee6bc0a34f6854684642cf5a0..8c090aee9774f9925118b8a062a799e73dfc8c5a 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 8d25fbc093faed5b4a4a7184fcbd499386da9734..6be1f969c988b97c225684a83447824d3fb4e8c1 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():