Итак, этот вопрос является продолжением предыдущего поста Python-скрипт, который должен переводить 1000 ДНК-последовательностей в белки с помощью 1152 различных кодонабельных таблиц, не работает . С того времени я редактировал скрипт в PyCharm, и теперь этот скрипт выглядит так:
import yaml
file = open('/home/ihor/Документи/біоінформатика/DNA_Sequence72 - Копія.py', 'r')
DNA = file.read()
DNA_Sequences = DNA.split(',')
Genetic_Codes = open('/home/ihor/Документи/біоінформатика/Genetic_Codes.py', 'r')
Genetic_Codes = Genetic_Codes.read()
Genetic_Codes_list = Genetic_Codes.split('\n')
for row in range(1152): #for str in list[Genetic_Codes_list] in range(1152):
Alternative_Genetic_Codes = Genetic_Codes_list.pop(0)
for line in range(1000):
dna = DNA_Sequences.pop(0)
codontable = yaml.load(Alternative_Genetic_Codes)
codontable_sequence = ""
for i in range(0, len(dna)-(3 + len(dna) % 3), 3):
if codontable.get(dna[i:i + 3], codontable_sequence) == "_":
break
codontable_sequence += codontable.get(dna[i:i + 3], codontable_sequence)
print(list([codontable_sequence]))
А теперь в этом скрипте есть только одна ошибка:
IndexError: всплывающее из пустого списка
После исследования переменных в Debugger, я увидел, что переменной DNA_Sequences
в строке DNA_Sequences = DNA.split(',')
было присвоено значение '[] (пустой список)'. Мой скрипт переводит список строк из 1000 ДНК-последовательностей в белок только по 1 кодируемому словарю (словарю), но я хочу, чтобы этот скрипт переводил список строк из 1000 ДНК-последовательностей в белки по 1152 различным кодонтаблиям за один прогон. Я прочитал много учебников и других источников об этой ошибке, списках и т. Д., Но я не нашел решения для своей проблемы. Все остальные переменные полностью в порядке. Как я могу исправить эту ошибку с пустым списком? Я буду очень благодарен за вашу помощь.