def get_contigs(self, token=None, ref=None, contig_id_list=None): assembly_api = AssemblyAPI(self.services, token, ref) if contig_id_list is None: result = assembly_api.get_contigs() else: result = assembly_api.get_contigs(contig_id_list) return {x: ttypes.AssemblyContig(**result[x]) for x in result}
def get_contig_gc_content(self, token=None, ref=None, contig_id_list=None): assembly_api = AssemblyAPI(self.services, token, ref) if contig_id_list is None: result = assembly_api.get_contig_gc_content() else: result = assembly_api.get_contig_gc_content(contig_id_list) return result
def setup(): shared.setup() global t_new, t_old, t_new_e, t_old_e, t_client_new, t_client_old, g_skip_shock g_skip_shock = not shared.services["shock_service_url"].startswith("http") t_new = AssemblyAPI(shared.services, shared.token, assembly_new) t_new_e = _Assembly(shared.services, shared.token, assembly_new) t_old = AssemblyAPI(shared.services, shared.token, assembly_old) t_old_e = _KBaseGenomes_ContigSet(shared.services, shared.token, assembly_old) t_client_new = AssemblyClientAPI(shared.services["assembly_service_url"], shared.token, assembly_new) t_client_old = AssemblyClientAPI(shared.services["assembly_service_url"], shared.token, assembly_old)
count = 0 limit = 10000 skip = 0 done = False while not done: results = ws.list_objects({"workspaces": [fix_workspace], "type": "KBaseGenomeAnnotations.Assembly", "skip": skip, "limit": limit}) if len(results) == 0: done = True for x in results: count += 1 ac = AssemblyAPI(services, token, ref="{}/{}".format(fix_workspace, x[1])) handle_ref = ac.get_data()["fasta_handle_ref"] shock_node_id = None try: handle = hc.hids_to_handles([handle_ref])[0] shock_node_id = handle["id"] except Exception, e: print "Failed to retrieve handle {} from {}".format(handle_ref, services["handle_service_url"]) _log.exception(e) shock_node_id = handle_ref print "#"*80 print x[1], shock_node_id print "#"*80
def get_number_contigs(self, token=None, ref=None): assembly_api = AssemblyAPI(self.services, token, ref) result = assembly_api.get_number_contigs() return result
def get_stats(self, token=None, ref=None): assembly_api = AssemblyAPI(self.services, token, ref) result = assembly_api.get_stats() return ttypes.AssemblyStats(**result)
def get_external_source_info(self, token=None, ref=None): assembly_api = AssemblyAPI(self.services, token, ref) result = assembly_api.get_external_source_info() return ttypes.AssemblyExternalSourceInfo(**result)
def get_genome_annotations(self, token=None, ref=None): assembly_api = AssemblyAPI(self.services, token, ref) result = assembly_api.get_genome_annotations(ref_only=True) return result
def get_assembly_id(self, token=None, ref=None): assembly_api = AssemblyAPI(self.services, token, ref) result = assembly_api.get_assembly_id() return result
done = False while not done: results = ws.list_objects({ "workspaces": [fix_workspace], "type": "KBaseGenomeAnnotations.Assembly", "skip": skip, "limit": limit }) if len(results) == 0: done = True for x in results: count += 1 ac = AssemblyAPI(services, token, ref="{}/{}".format(fix_workspace, x[1])) handle_ref = ac.get_data()["fasta_handle_ref"] shock_node_id = None try: handle = hc.hids_to_handles([handle_ref])[0] shock_node_id = handle["id"] except Exception, e: print "Failed to retrieve handle {} from {}".format( handle_ref, services["handle_service_url"]) _log.exception(e) shock_node_id = handle_ref print "#" * 80 print x[1], shock_node_id
#!/usr/bin/python #Usage: python data_api_test.py ws-url shock-url handle-url token ref id import sys import json import doekbase.data_api from doekbase.data_api.sequence.assembly.api import AssemblyAPI , AssemblyClientAPI assemb = AssemblyAPI({ 'workspace_service_url' : sys.argv[1], 'shock_service_url' : sys.argv[2], 'handle_service_url' : sys.argv[3] },token = sys.argv[4],ref = sys.argv[5]); contigset = { 'id' : sys.argv[6], 'name' : assemb.get_external_source_info()["external_source_id"], 'md5' : "", 'source_id' : assemb.get_external_source_info()["external_source_id"], 'source' : assemb.get_external_source_info()["external_source"], 'type' : "Genome", 'contigs' : [] }; contigdata = assemb.get_contigs(); for contigid in contigdata.keys(): newcontig = { 'id' : contigdata[contigid]['contig_id'], 'length' : contigdata[contigid]['length'], 'md5' : contigdata[contigid]['md5'],