diff build_ctb_explorer.py @ 0:e80a66932a1e draft

planemo upload for repository https://github.com/SANBI-SA/tools-sanbi-uwc/tree/master/tools/build_ctb_explorer commit a955714f2385d7b35f795cf1442a15492ecacb8f
author sanbi-uwc
date Thu, 09 Jun 2016 09:55:53 -0400
parents
children 0819302402d3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build_ctb_explorer.py	Thu Jun 09 09:55:53 2016 -0400
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+from __future__ import print_function
+import argparse
+import os
+import sys
+import glob
+import shlex
+import shutil
+import datetime
+import time
+import random
+from subprocess import check_call, check_output, CalledProcessError
+import socket
+
+try:
+    from urllib.parse import urlparse
+except ImportError:
+    from urlparse import urlparse
+import logging
+
+log = logging.getLogger(__name__)
+
+
+class BuildCtbExplorerRunner(object):
+    def __init__(self, args=None):
+        """
+        Initializes an object to run CtbRunner in Galaxy.
+        """
+        # Check whether the options are specified and saves them into the object
+        self.args = args
+        self.outputdir1 = args.outputdir1
+        self.outputdir2 = args.outputdir2
+        self.input_file1 = args.input_file1
+        self.input_file2 = args.input_file2
+
+    def build_ctb_explorer(self):
+        """
+        :rtype: boolean
+        """
+        self.copy_output_file_to_dataset(self.outputdir1, self.input_file1)
+        self.copy_output_file_to_dataset(self.outputdir2, self.input_file2)
+        return True
+
+    def copy_output_file_to_dataset(self, dir, input_dir):
+        """
+        Retrieves the output files from the gx working directory and copy them to the Galaxy output directory
+        """
+        result_file = glob.glob(input_dir + '/*')
+        for file_name in result_file:
+            if os.path.isfile(file_name):
+                shutil.copy2(file_name, dir)
+            elif os.path.isdir(file_name):
+                # create the parent dir before copytree
+                os.chdir(dir)
+                shutil.copytree(file_name, file_name.rsplit('/', 1)[-1])
+
+
+def main():
+    parser = argparse.ArgumentParser(description="Tool used to build a combat-tb explorer dataset")
+    parser.add_argument('--outputdir1')
+    parser.add_argument('--outputdir2')
+    parser.add_argument('--input_file1')
+    parser.add_argument('--input_file2')
+    args = parser.parse_args()
+
+    ctb_explorer_runner = BuildCtbExplorerRunner(args)
+
+    # make the output directory (neo4j)
+    if not os.path.exists(args.outputdir1):
+        os.makedirs(args.outputdir1)
+
+    # make the output directory (jbrowser)
+    if not os.path.exists(args.outputdir2):
+        os.makedirs(args.outputdir2)
+
+    status = ctb_explorer_runner.build_ctb_explorer()
+
+    if status is None:
+        exit(1)
+
+if __name__ == "__main__": main()