Exemplo n.º 1
0
def populate_referenced_species_databases(protein_list, referenced_species):
    for protein_id in protein_list:
        if not check_status_file_no_alignment(protein_id):
        #if FileUtilities.read_status_file(protein_id)['ENSEMBL_EXON_RETRIEVAL'] == 'FAILED':
            print "ABORTING {0} DATABASE FORMATTING: ENSEMBL_EXON_RETRIEVAL has a FAILED status!".format(protein_id)
            FileUtilities.update_entry_in_status_file(protein_id, 'REF_SP_DB_FORMATTING', 'FAILED')
            continue
        try:
            if FileUtilities.read_status_file(protein_id)['REF_SP_DB_FORMATTING'] == 'OK':
                print "SKIPPING {0} DATABASE FORMATTING: .status file -> OK!".format(protein_id)
                continue
        except KeyError:
            pass
        print "DATABASE FORMATTING: {0} for reference species {1}".format(protein_id, referenced_species)
        if Alignments.generate_referenced_species_database(protein_id, referenced_species):
            FileUtilities.update_entry_in_status_file(protein_id, 'REF_SP_DB_FORMATTING', 'OK')
        else:
            FileUtilities.update_entry_in_status_file(protein_id, 'REF_SP_DB_FORMATTING', 'FAILED')