From cd9551eb8bf5320432c71c68f6a3f32280008fb3 Mon Sep 17 00:00:00 2001
From: Venkat Malladi <venkat.malladi@utsouthwestern.edu>
Date: Tue, 19 Jun 2018 14:28:45 -0500
Subject: [PATCH] Fix utils reference.

---
 workflow/conf/biohpc.config                  |  2 +-
 workflow/scripts/call_peaks_macs.py          |  2 +-
 workflow/scripts/convert_reads.py            |  2 +-
 workflow/scripts/frip.py                     | 84 ++++++++++++++++++++
 workflow/scripts/map_reads.py                |  2 +-
 workflow/scripts/pool_and_psuedoreplicate.py |  2 +-
 workflow/scripts/xcor.py                     |  2 +-
 7 files changed, 90 insertions(+), 6 deletions(-)
 create mode 100644 workflow/scripts/frip.py

diff --git a/workflow/conf/biohpc.config b/workflow/conf/biohpc.config
index df20dd9..21a5343 100644
--- a/workflow/conf/biohpc.config
+++ b/workflow/conf/biohpc.config
@@ -70,7 +70,7 @@ params {
       tssfile = '/project/shared/bicf_workflow_ref/GRCh38/gencode.tss'
     }
     'GRCm38' {
-      bwa = '/project/shared/bicf_workflow_ref/GRCm38'
+      git'
       genomesize = 'mm'
       chromsizes = '/project/shared/bicf_workflow_ref/GRCm38/genomefile.txt'
       tssfile = '/project/shared/bicf_workflow_ref/GRCh38/gencode.tss'
diff --git a/workflow/scripts/call_peaks_macs.py b/workflow/scripts/call_peaks_macs.py
index d853f17..62e8e34 100644
--- a/workflow/scripts/call_peaks_macs.py
+++ b/workflow/scripts/call_peaks_macs.py
@@ -7,7 +7,7 @@ import argparse
 import shutil
 import logging
 from multiprocessing import cpu_count
-from python_utils import utils
+import utils
 from quality_metrics.xcor import xcor as calculate_xcor
 
 EPILOG = '''
diff --git a/workflow/scripts/convert_reads.py b/workflow/scripts/convert_reads.py
index 72e5d98..d099794 100644
--- a/workflow/scripts/convert_reads.py
+++ b/workflow/scripts/convert_reads.py
@@ -9,7 +9,7 @@ import subprocess
 import shlex
 import logging
 from multiprocessing import cpu_count
-from python_utils import utils
+import utils
 
 EPILOG = '''
 For more details:
diff --git a/workflow/scripts/frip.py b/workflow/scripts/frip.py
new file mode 100644
index 0000000..18e2782
--- /dev/null
+++ b/workflow/scripts/frip.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python3
+
+'''Generate FRiP from data.'''
+
+import sys
+import os
+import argparse
+import utils
+import logging
+import subprocess
+
+
+# SETTINGS
+
+logger = logging.getLogger(__name__)
+logger.addHandler(logging.NullHandler())
+logger.propagate = False
+logger.setLevel(logging.INFO)
+
+
+EPILOG = '''
+For more details:
+        %(prog)s --help
+'''
+
+
+def parse_arguments():
+
+    parser = argparse.ArgumentParser(
+        description=__doc__, epilog=EPILOG,
+        formatter_class=argparse.RawDescriptionHelpFormatter)
+
+    parser.add_argument('-p', '--peak',
+                        help='The peak file to perform qc on.',
+                        required=True)
+
+    parser.add_argument('-t', '--tag',
+                        help="The tagAlign file to perform qc on.",
+                        required=True)
+
+    args = parser.parse_args()
+
+    args = parser.parse_args()
+    return args
+
+# Functions
+
+def frip(tag, peak):
+    '''Calculate FRiP'''
+
+    prefix = os.path.basename(utils.strip_extensions(peak, ['.narrowPeak']))
+
+    frip_qc = '{}.frip.qc'.format(prefix)
+
+
+    cmd = 'bedtools intersect -a {} -b {} -wa -u'
+    cmd = cmd.format(
+        tag, # ta
+        peak) # peak
+    out, err = utils.run_pipe([
+        '%s' % (cmd),
+        'wc -l'
+        ])
+    val2 = utils.count_lines(tag)
+    qc_val =  str(float(out)/float(val2))
+    f = open(frip_qc, 'w+')
+    f.write(qc_val)
+    return frip_qc
+
+
+def main():
+    # read params
+    args = parse_arguments()
+    tag = args.tag
+    peak = args.peak
+
+    handler = logging.FileHandler('frip.log')
+    logger.addHandler(handler)
+
+    frip_qc = frip(tag, peak)
+
+
+if __name__=='__main__':
+    main()
diff --git a/workflow/scripts/map_reads.py b/workflow/scripts/map_reads.py
index 877c7c7..dee86d5 100644
--- a/workflow/scripts/map_reads.py
+++ b/workflow/scripts/map_reads.py
@@ -9,7 +9,7 @@ import shutil
 import shlex
 import logging
 from multiprocessing import cpu_count
-from python_utils import utils
+import utils
 
 EPILOG = '''
 For more details:
diff --git a/workflow/scripts/pool_and_psuedoreplicate.py b/workflow/scripts/pool_and_psuedoreplicate.py
index 20369ff..a39a79a 100644
--- a/workflow/scripts/pool_and_psuedoreplicate.py
+++ b/workflow/scripts/pool_and_psuedoreplicate.py
@@ -8,7 +8,7 @@ import pandas as pd
 import numpy as np
 import os
 import sys
-from python_utils import utils
+import utils
 
 EPILOG = '''
 For more details:
diff --git a/workflow/scripts/xcor.py b/workflow/scripts/xcor.py
index 5047469..09e2cb6 100644
--- a/workflow/scripts/xcor.py
+++ b/workflow/scripts/xcor.py
@@ -7,7 +7,7 @@ import argparse
 import shutil
 import logging
 from multiprocessing import cpu_count
-from python_utils import utils
+import utils
 
 EPILOG = '''
 For more details:
-- 
GitLab