Mercurial > repos > yating-l > jbrowsehubtoapollo
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bc00f5c4c59e |
---|---|
1 import json | |
2 import re | |
3 import logging | |
4 import codecs | |
5 from apollo.ApolloUser import ApolloUser | |
6 from util import santitizer | |
7 | |
8 class Reader(object): | |
9 | |
10 def __init__(self, input_json_file): | |
11 self.inputFile = input_json_file | |
12 self.args = self.loadJson() | |
13 | |
14 | |
15 def loadJson(self): | |
16 try: | |
17 data_file = codecs.open(self.inputFile, 'r', 'utf-8') | |
18 return json.load(data_file) | |
19 except IOError: | |
20 print "Cannot find JSON file\n" | |
21 exit(1) | |
22 | |
23 def getJBrowseHubDir(self): | |
24 try: | |
25 return self.args["jbrowse_hub"] | |
26 except KeyError: | |
27 print ("jbrowse_hub is not defined in the input file!") | |
28 exit(1) | |
29 | |
30 def getToolDir(self): | |
31 try: | |
32 return self.args["tool_directory"] | |
33 except KeyError: | |
34 print ("tool_directory is not defined in the input file!") | |
35 exit(1) | |
36 | |
37 def getExtFilesPath(self): | |
38 try: | |
39 return self.args["extra_files_path"] | |
40 except KeyError: | |
41 print ("extra_files_path is not defined in the input file!") | |
42 exit(1) | |
43 | |
44 def getUserEmail(self): | |
45 try: | |
46 return self.args["user_email"] | |
47 except KeyError: | |
48 print ("user_email is not defined in the input file!") | |
49 exit(1) | |
50 | |
51 def getDebugMode(self): | |
52 try: | |
53 return self.args["debug_mode"] | |
54 except KeyError: | |
55 print ("debug_mode is not defined in the input file!") | |
56 exit(1) | |
57 | |
58 def getApolloHost(self): | |
59 apollo_host = self.args.get("apollo_host") | |
60 return apollo_host | |
61 | |
62 | |
63 def getSpeciesName(self): | |
64 species_name = santitizer.sanitize_name_input(self.args["species_name"]) | |
65 return species_name | |
66 | |
67 def getGenomeName(self): | |
68 jbrowse_hub = self.getJBrowseHubDir() | |
69 with open(jbrowse_hub, 'r') as f: | |
70 html = f.read() | |
71 m = re.search('The new Organism "(.+?)" is created on Apollo', html) | |
72 if m: | |
73 genome_name = m.group(1) | |
74 else: | |
75 print("Cannot find genome name in the jbrowse hub file!") | |
76 exit(1) | |
77 return genome_name | |
78 | |
79 | |
80 def getApolloUser(self): | |
81 user_info = self.args.get("apollo_user") | |
82 if not user_info: | |
83 firstname = "demo" | |
84 lastname = "user" | |
85 password = "gonramp" | |
86 user_email = self.getUserEmail() | |
87 else: | |
88 firstname = user_info['firstname'] | |
89 lastname = user_info['lastname'] | |
90 user_email = user_info['user_email'] | |
91 password = user_info['password'] | |
92 apollo_user = ApolloUser(user_email, firstname, lastname, password) | |
93 return apollo_user | |
94 | |
95 |