예제 #1
0
    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}
예제 #2
0
    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
예제 #3
0
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
예제 #5
0
    def get_number_contigs(self, token=None, ref=None):
        assembly_api = AssemblyAPI(self.services, token, ref)
        result = assembly_api.get_number_contigs()

        return result
예제 #6
0
    def get_stats(self, token=None, ref=None):
        assembly_api = AssemblyAPI(self.services, token, ref)
        result = assembly_api.get_stats()

        return ttypes.AssemblyStats(**result)
예제 #7
0
    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)
예제 #8
0
    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
예제 #9
0
    def get_assembly_id(self, token=None, ref=None):
        assembly_api = AssemblyAPI(self.services, token, ref)
        result = assembly_api.get_assembly_id()

        return result
예제 #10
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
예제 #11
0
#!/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'],