def METHOD_NAME(base_taxonomy, accessions):
    result = base_taxonomy
    for item in accessions.keys():
        acc = accessions[item]
        acc_taxon = acc['taxon']
        if (acc_taxon in base_taxonomy) and ('strain' in acc):
            parent_name = base_taxonomy[acc_taxon]['name']
            strain_name = acc['strain']
            if (parent_name.find(strain_name) == -1):
                parent_id = base_taxonomy[acc_taxon]['id']
                subtaxname = parent_name + ' ' + acc['strain']
                subtaxid = parent_id + '.' + acc['strain']
                subtax = {'id': subtaxid,
                          'name': subtaxname,
                          'parent_uid': parent_id}
                if subtaxid not in result:
                    result[subtaxid] = subtax
            else:
                if not parent_name.endswith(strain_name):
                    embed_name = strain_name + '('
                    embed_name2 = '(' + strain_name + ')'
                    if ((parent_name.find(embed_name) == -1) and
                        (parent_name.find(embed_name2) == -1)):
                        print STRAIN_WARNING % (acc['strain'], parent_name)
    return result