Mercurial > repos > yating-l > gonramp_apollo_tools
changeset 2:4be6fcac4bf2 draft default tip
planemo upload for repository https://github.com/Yating-L/suite_gonramp_apollo.git commit 5367a00befb467f162d1870edb91f9face72e894
author | yating-l |
---|---|
date | Wed, 29 Nov 2017 15:39:32 -0500 |
parents | 78af01d73add |
children | |
files | apollo/ApolloOrganism.py apolloUserManager.py jbrowsehubToApollo.py jbrowsehubToApollo.xml util/subtools.py |
diffstat | 5 files changed, 41 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/apollo/ApolloOrganism.py Tue Nov 28 12:43:22 2017 -0500 +++ b/apollo/ApolloOrganism.py Wed Nov 29 15:39:32 2017 -0500 @@ -12,7 +12,7 @@ self.logger = logging.getLogger(__name__) def addOrganism(self): - exist = self.getOrganism(self.organism_name) + exist = subtools.arrow_get_organism(self.organism_name) if not exist: self.logger.debug("The organism does not exist.") p = subtools.arrow_add_organism(self.organism_name, self.organism_dir) @@ -29,11 +29,11 @@ #TODO: the JSON dictionary return by deleteOrganism still contains the deleted organism. Improve the API. def deleteOrganism(self): - organism_id = self.getOrganism(self.organism_name) + organism_id = subtools.arrow_get_organism(self.organism_name) if organism_id: self.logger.debug("Deleting the organism %s", self.organism_name) subtools.arrow_delete_organism(organism_id) - if not self.getOrganism(self.organism_name): + if not subtools.arrow_get_organism(self.organism_name): self.logger.debug("Organism %s has been deleted", self.organism_name) else: self.logger.error("Organism %s cannot be deleted", self.organism_name) @@ -42,13 +42,6 @@ self.logger.error("Organism %s doesn't exist", self.organism_name) exit(-1) - #TODO: filtering by commonName doesn't work. Improve the API. - @staticmethod - def getOrganism(organism_name): - p = subtools.arrow_get_organism(organism_name) - if p: - return str(p) - #TODO: API update_organism not working. Improve the API to enable updating directory. def overwriteOrganism(self): self.deleteOrganism()
--- a/apolloUserManager.py Tue Nov 28 12:43:22 2017 -0500 +++ b/apolloUserManager.py Wed Nov 29 15:39:32 2017 -0500 @@ -48,9 +48,15 @@ # Set up apollo apollo = ApolloInstance(apollo_host, apollo_admin_user, toolDirectory) apollo.manageApolloUser(operations_dictionary) - + outHtml(outputFile, apollo_host) logging.info('#### Apollo User Manager: Congratulation! ####\n') +def outHtml(outputFile, host_name): + with open(outputFile, 'w') as htmlfile: + htmlstr = 'The Apollo User Manager has done with operations on Apollo: <br>' + jbrowse_hub = '<li><a href = "%s" target="_blank">View JBrowse Hub on Apollo</a></li>' % host_name + htmlstr += jbrowse_hub + htmlfile.write(htmlstr) if __name__ == "__main__":
--- a/jbrowsehubToApollo.py Tue Nov 28 12:43:22 2017 -0500 +++ b/jbrowsehubToApollo.py Wed Nov 29 15:39:32 2017 -0500 @@ -25,6 +25,7 @@ # Begin init variables extra_files_path = reader.getExtFilesPath() + jbrowse_hub = reader.getJBrowseHubDir() #user_email = reader.getUserEmail() species_name = reader.getSpeciesName() #apollo_host = reader.getApolloHost() @@ -34,31 +35,22 @@ #apollo_user = reader.getApolloUser() apollo_admin_user = reader.getAdminUser() toolDirectory = reader.getToolDir() - #jbrowse_hub = reader.getJBrowseHubDir() debug_mode = reader.getDebugMode() action = reader.getAction() #### Logging management #### # If we are in Debug mode, also print in stdout the debug dump - log = Logger(tool_directory=toolDirectory, debug=debug_mode) + log = Logger(tool_directory=toolDirectory, debug=debug_mode, extra_files_path=extra_files_path) log.setup_logging() -<<<<<<< HEAD logging.info("#### JBrowsehub To Apollo: Start to %s JBrowse Hub to Apollo instance: %s #### ", action, apollo_host) -======= - logging.info("#### JBrowseArchiveCreator: Start to %s JBrowse Hub to Apollo instance: %s #### ", action, apollo_host) ->>>>>>> 8b9a3b41d4dd4689764592d278ec2d67f67fbca4 logging.debug('JSON parameters: %s\n\n', json.dumps(reader.args)) # Set up apollo apollo = ApolloInstance(apollo_host, apollo_admin_user, toolDirectory) - jbrowse_hub_dir = _getHubDir(extra_files_path) -<<<<<<< HEAD + jbrowse_hub_dir = _getHubDir(jbrowse_hub) apollo.manageApolloOrganism(species_name, jbrowse_hub_dir, action) -======= - apollo.loadHubToApollo(species_name, jbrowse_hub_dir, action) ->>>>>>> 8b9a3b41d4dd4689764592d278ec2d67f67fbca4 - outHtml(outputFile, apollo_host, species_name) + outHtml(outputFile, apollo_host, species_name, action) logging.info('#### JBrowsehub To Apollo: Congratulation! JBrowse Hub is uploaded! ####\n') @@ -71,9 +63,12 @@ logging.error("Cannot find jbrowsehub") exit(-1) -def outHtml(outputFile, host_name, species_name): +def outHtml(outputFile, host_name, species_name, action): with open(outputFile, 'w') as htmlfile: - htmlstr = 'The new Organism "%s" is created on Apollo: <br>' % species_name + if action == "add": + htmlstr = 'The Organism "%s" is added on Apollo: <br>' % species_name + elif action == "overwrite": + htmlstr = 'The Organism "%s" is overwritten on Apollo: <br>' % species_name jbrowse_hub = '<li><a href = "%s" target="_blank">View JBrowse Hub on Apollo</a></li>' % host_name htmlstr += jbrowse_hub htmlfile.write(htmlstr)
--- a/jbrowsehubToApollo.xml Tue Nov 28 12:43:22 2017 -0500 +++ b/jbrowsehubToApollo.xml Wed Nov 29 15:39:32 2017 -0500 @@ -11,7 +11,7 @@ </stdio> <command detect_errors="exit_code"><![CDATA[ - + mkdir -p $output.extra_files_path; ## Dump the tool parameters into a JSON file python $json_file parameters.json; python $__tool_directory__/jbrowsehubToApollo.py --data_json parameters.json -o $output @@ -24,11 +24,13 @@ file_path = sys.argv[1] #set global data_parameter_dict = {} #silent $data_parameter_dict.update({"action": str($action)}) +#silent $data_parameter_dict.update({"action": str($action)}) #silent $data_parameter_dict.update({"species_name": str($species_name)}) #set apollo_admin = {"user_email": str($admin_username), "password": str($admin_password)} #silent $data_parameter_dict.update({"apollo_admin": $apollo_admin}) #silent $data_parameter_dict.update({"tool_directory": str($__tool_directory__)}) -#silent $data_parameter_dict.update({"extra_files_path": str($jbrowse_hub.extra_files_path)}) +#silent $data_parameter_dict.update({"extra_files_path": str($output.extra_files_path)}) +#slient $data_parameter_dict.update({"jbrowse_hub": str($jbrowse_hub.extra_files_path)}) #silent $data_parameter_dict.update({"port": str($advanced_options.port)}) #silent $data_parameter_dict.update({"debug_mode": str($advanced_options.debug_mode)}) with open(file_path, 'w') as f:
--- a/util/subtools.py Tue Nov 28 12:43:22 2017 -0500 +++ b/util/subtools.py Wed Nov 29 15:39:32 2017 -0500 @@ -115,8 +115,8 @@ if "userId" in j: return j['userId'] elif "error" in j: - logging.error("User %s already exist", user_email) - raise Exception(j['error']) + logging.error("Got error message: %s", j['error']) + exit(-1) def arrow_delete_user(user_email): @@ -124,7 +124,8 @@ p = _handleExceptionAndCheckCall(array_call) j = json.loads(p) if "error" in j: - raise Exception(j['error']) + logging.error("Got error message: %s", j['error']) + exit(-1) def arrow_add_to_group(groupname, user_email): if not arrow_get_groups(groupname): @@ -133,19 +134,22 @@ p = _handleExceptionAndCheckCall(array_call) j = json.loads(p) if j != dict(): - raise Exception("Error add user %s to group %s", user_email, groupname) + logging.error("Error add user %s to group %s. The user doesn't exist", user_email, groupname) def arrow_remove_from_group(groupname, user_email): if arrow_get_groups(groupname): array_call = ['arrow', 'users', 'remove_from_group', groupname, user_email] p = _handleExceptionAndCheckCall(array_call) + j = json.loads(p) + if j != dict(): + logging.error("Error remove user %s to group %s. The user doesn't exist", user_email, groupname) else: - raise Exception("Group %s doesn't exist. Check if you spell the name correctly", groupname) + logging.error("Group %s doesn't exist. Check if you spell the name correctly", groupname) def arrow_create_group(groupname): if arrow_get_groups(groupname): - raise Exception("Group %s already exist. Create a group with another name.", groupname) + logging.error("Group %s already exist. Create a group with another name.", groupname) array_call = ['arrow', 'groups', 'create_group', groupname] p = _handleExceptionAndCheckCall(array_call) @@ -179,22 +183,22 @@ array_call = ['arrow', 'users', 'get_users'] p = _handleExceptionAndCheckCall(array_call) all_users = json.loads(p) - for d in all_users: + for d in all_users: if d['username'] == user_email: return d['userId'] logging.error("Cannot find user %s", user_email) def arrow_get_organism(organism_name): - array_call= ['arrow', 'organisms', 'get_organisms'] + array_call= ['arrow', 'organisms', 'get_organisms', '--common_name', organism_name] p = _handleExceptionAndCheckCall(array_call) - all_organisms = json.loads(p) - for org in all_organisms: - if org['commonName'] == organism_name: - return org['id'] - + org = json.loads(p) + if 'error' not in org: + return org[0]['id'] + else: + logging.debug("Got error msg %s when look for organism %s.", org['error'], organism_name) def arrow_delete_organism(organism_id): - array_call = ['arrow', 'organisms', 'delete_organism', organism_id] + array_call = ['arrow', 'organisms', 'delete_organism', str(organism_id)] p = _handleExceptionAndCheckCall(array_call) return p