Mercurial > repos > yating-l > suite_gonramp_apollo2
view jbrowsehubToApollo.py @ 0:9945eba268e6 draft default tip
planemo upload for repository https://github.com/Yating-L/suite_gonramp_apollo.git commit 9009fa8663038d2cb4a1c5130600a51f31f654a1-dirty
author | yating-l |
---|---|
date | Mon, 27 Nov 2017 12:49:27 -0500 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env python import os import sys import argparse import json import logging import socket from apollo.ApolloInstance import ApolloInstance from util.Reader import Reader from util.Logger import Logger def main(argv): parser = argparse.ArgumentParser(description='Upload a hub to display on Apollo.') parser.add_argument('-j', '--data_json', help='JSON file containing the metadata of the inputs') parser.add_argument('-o', '--output', help='HTML output') # Get the args passed in parameter args = parser.parse_args() json_inputs_data = args.data_json outputFile = args.output ##Parse JSON file with Reader reader = Reader(json_inputs_data) # Begin init variables extra_files_path = reader.getExtFilesPath() #user_email = reader.getUserEmail() species_name = reader.getSpeciesName() #apollo_host = reader.getApolloHost() apollo_port = reader.getPortNum() apollo_host = "http://localhost:"+ apollo_port + "/apollo" #apollo_host = "http://localhost:8080/apollo" #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.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 apollo.manageApolloOrganism(species_name, jbrowse_hub_dir, action) ======= apollo.loadHubToApollo(species_name, jbrowse_hub_dir, action) >>>>>>> 8b9a3b41d4dd4689764592d278ec2d67f67fbca4 outHtml(outputFile, apollo_host, species_name) logging.info('#### JBrowsehub To Apollo: Congratulation! JBrowse Hub is uploaded! ####\n') def _getHubDir(extra_files_path): for root, dirs, files in os.walk(extra_files_path): for name in files: if name == "trackList.json": logging.debug("JBrowse hub directory: %s", root) return root logging.error("Cannot find jbrowsehub") exit(-1) def outHtml(outputFile, host_name, species_name): with open(outputFile, 'w') as htmlfile: htmlstr = 'The new Organism "%s" is created 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) if __name__ == "__main__": main(sys.argv)