def populate_blastn_alignments(protein_list): for protein_id in protein_list: if FileUtilities.read_status_file(protein_id)['EXP_GENE_RETRIEVAL'] == 'FAILED' or FileUtilities.read_status_file(protein_id)['REF_SP_DB_FORMATTING'] == 'FAILED': print "ABORTING {0} BLASTN: some resources have FAILED stats!".format(protein_id) FileUtilities.update_entry_in_status_file(protein_id, 'BLASTN_ALIGNMENT', 'FAILED') continue try: if FileUtilities.read_status_file(protein_id)['BLASTN_ALIGNMENT'] == 'OK': print "SKIPPING {0} BLASTN: .status file -> OK!".format(protein_id) continue except KeyError: pass print "ALIGNING BLASTN: {0}".format(protein_id) if Alignments.generate_blastn_alignments(protein_id): FileUtilities.update_entry_in_status_file(protein_id, 'BLASTN_ALIGNMENT', 'OK') else: FileUtilities.update_entry_in_status_file(protein_id, 'BLASTN_ALIGNMENT', 'PARTIAL')