diff util/Reader.py @ 0:bc00f5c4c59e draft

planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git
author yating-l
date Tue, 17 Oct 2017 17:28:05 -0400
parents
children 2ae1e96a8380
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/util/Reader.py	Tue Oct 17 17:28:05 2017 -0400
@@ -0,0 +1,95 @@
+import json
+import re
+import logging
+import codecs
+from apollo.ApolloUser import ApolloUser
+from util import santitizer 
+
+class Reader(object):
+
+    def __init__(self, input_json_file):
+        self.inputFile = input_json_file
+        self.args = self.loadJson()
+        
+    
+    def loadJson(self):
+        try:
+            data_file = codecs.open(self.inputFile, 'r', 'utf-8')   
+            return json.load(data_file) 
+        except IOError:
+            print "Cannot find JSON file\n"
+            exit(1)
+
+    def getJBrowseHubDir(self):
+        try:
+            return self.args["jbrowse_hub"]
+        except KeyError:
+            print ("jbrowse_hub is not defined in the input file!")
+            exit(1)
+
+    def getToolDir(self):
+        try:
+            return self.args["tool_directory"]
+        except KeyError:
+            print ("tool_directory is not defined in the input file!")
+            exit(1)
+
+    def getExtFilesPath(self):
+        try:
+            return self.args["extra_files_path"]
+        except KeyError:
+            print ("extra_files_path is not defined in the input file!")
+            exit(1)
+
+    def getUserEmail(self):
+        try:
+            return self.args["user_email"]
+        except KeyError:
+            print ("user_email is not defined in the input file!")
+            exit(1)
+    
+    def getDebugMode(self):
+        try:
+            return self.args["debug_mode"]
+        except KeyError:
+            print ("debug_mode is not defined in the input file!")
+            exit(1)
+    
+    def getApolloHost(self):
+        apollo_host = self.args.get("apollo_host")
+        return apollo_host
+        
+        
+    def getSpeciesName(self):
+        species_name = santitizer.sanitize_name_input(self.args["species_name"])
+        return species_name 
+        
+    def getGenomeName(self):
+        jbrowse_hub = self.getJBrowseHubDir()
+        with open(jbrowse_hub, 'r') as f:
+            html = f.read()
+        m = re.search('The new Organism "(.+?)" is created on Apollo', html)
+        if m:
+            genome_name = m.group(1)
+        else:
+            print("Cannot find genome name in the jbrowse hub file!")
+            exit(1)
+        return genome_name
+            
+
+    def getApolloUser(self):
+        user_info = self.args.get("apollo_user")
+        if not user_info:
+            firstname = "demo"
+            lastname = "user"
+            password = "gonramp"
+            user_email = self.getUserEmail()
+        else:
+            firstname = user_info['firstname']
+            lastname = user_info['lastname']
+            user_email = user_info['user_email']
+            password = user_info['password']
+        apollo_user = ApolloUser(user_email, firstname, lastname, password)
+        return apollo_user
+
+    
\ No newline at end of file