def upload_tfs(organism): with open('%s.txt' % organism) as infile: tfs = [line.strip() for line in infile] data_ws = kbase.workspace(config.get('KBase', 'ws_service_url'), ws_name=config.get('KBase', 'data_workspace'), user=config.get('KBase', 'user'), password=config.get('KBase', 'password')) print "saving tfs..." kbase.save_gene_list(data_ws, '%s.tfs' % organism, 'nwportal:nwportal_data/%s.genome' % organism, tfs) print "saved"
def get_object(objref): ws_name, inst_name = objref.split('/') result_ws = kbase.workspace(config.get('KBase', 'ws_service_url'), ws_name=ws_name, user=config.get('KBase', 'user'), password=config.get('KBase', 'password')) result = result_ws.get_object(inst_name) # DEBUG: list workspace objects #objs = result_ws.ws_service.list_workspace_objects({'workspace': ws_name}) #for obj in objs: # print obj # DEBUG END return result
def get_result_object(jobid): """retrieve result data from the job service""" jobstate = kbase.user_job_state(config.get('KBase', 'ujs_service_url'), config.get('KBase', 'user'), config.get('KBase', 'password'), jobid) jobstatus = jobstate.get_job_status() status = jobstatus[1] if status == 'error': print "Problem: ", jobstatus[2] return None elif status == 'complete': result_ref = jobstate.get_results()['workspaceids'][0] print "result at: ", result_ref ws_name, inst_name = result_ref.split('/') result_ws = kbase.workspace(config.get('KBase', 'ws_service_url'), ws_name=ws_name, user=config.get('KBase', 'user'), password=config.get('KBase', 'password')) return result_ws.get_object(inst_name)
def msg_consumer(channel, method, header, body): params = json.loads(body) print params try: print "logging in to KBase" ws_service = wsc.Workspace(config.get('KBase', 'ws_service_url'), user_id=config.get('KBase', 'user'), password=config.get('KBase', 'password')) data_ws = kbase.workspace(config.get('KBase', 'ws_service_url'), config.get('KBase', 'data_workspace'), ws_service_obj=ws_service) print "logged in to KBASE data workspace" # KBase is picky with identifier names, no colons, e.g. username = params['username'] timestamp = str(time.time()) if params['use_ensemble']: input_ws_name = 'cm_ensemble-%s-%s' % (username, timestamp) else: input_ws_name = 'cm_single-%s-%s' % (username, timestamp) input_ws_info = kbase.create_workspace(ws_service, input_ws_name) print "created input workspace under: ", input_ws_info input_ws = kbase.workspace(config.get('KBase', 'ws_service_url'), input_ws_name, ws_service_obj=ws_service) print "logged in to KBASE input workspace" organism = params['organism'] genome_name = '%s.genome' % organism ratios_name = 'ratios-%s-%s' % (organism, timestamp) string_obj_name = None operon_obj_name = None kbase.import_ratios_matrix(input_ws, data_ws, ratios_name, genome_name, params['ratio_file_path'], sep='\t') if 'string_file_path' in params: string_obj_name = 'string-%s-%s' % (organism, timestamp) kbase.import_string_network(input_ws, string_obj_name, params['string_file_path']) print "uploaded STRING network" if 'operon_file_path' in params: print "uploading operome..." operon_obj_name = 'operon-%s-%s' % (organism, timestamp) kbase.import_mo_operome_file(input_ws, operon_obj_name, params['operon_file_path']) print "uploaded operome" start_cm_single(params['nwp_jobid'], data_ws, input_ws, organism, timestamp, ratios_name, string_obj_name, operon_obj_name) channel.basic_ack(delivery_tag=method.delivery_tag) except: print "Error occurred" #channel.basic_cancel() channel.basic_ack(delivery_tag=method.delivery_tag) traceback.print_exc()