Exemple #1
0
def _import_ncbi_genome(meth, ncbi_genome_name, genome_id):
    """Import a Genome and ContigSet from NCBI into your workspace. [26]

    :param ncbi_genome_name: Name of public genome accessible on NCBI FTP. [26.1]
    :type ncbi_genome_name: kbtypes.Unicode
    :ui_name ncbi_genome_name: NCBI Genome Name
    :param genome_id: Output Genome ID. If empty, an ID will be chosen automatically. [26.2]
    :type genome_id: kbtypes.KBaseGenomes.Genome
    :ui_name genome_id: Genome Object ID
    :return: Preparation message
    :rtype: kbtypes.Unicode
    :input_widget: NcbiGenomeImportInput
    :output_widget: GenomeAnnotation
    """
    if not genome_id:
        chars = ['\'',' ','-','=','.','/','(',')','_',':','+','*','#',',','[',']']
        genome_id_prefix = ncbi_genome_name
        for ch in chars:
            genome_id_prefix = genome_id_prefix.replace(ch, '_')
        genome_id = genome_id_prefix + '.ncbi'
    meth.stages = 1
    token, workspace = meth.token, meth.workspace_id
    cmpClient = GenomeComparison(url = service.URLS.genomeCmp, token = token)
    import_ncbi_genome_params = {
        'genome_name': ncbi_genome_name, 
        'out_genome_ws': workspace, 
        'out_genome_id': genome_id, 
    }
    cmpClient.import_ncbi_genome(import_ncbi_genome_params)
    return json.dumps({'ws_name': workspace, 'ws_id': genome_id})