Я пытаюсь создать возможный список кодонов с учетом последовательности белка.
По сути, скрипт, который я пытаюсь создать, будет обрабатывать заданный ввод строки и выводить возможные комбинации другого набора строк, которые представляет ввод.
Например, символ «F» представляет собой «UUU» или «UUC»; символ «I» представляет собой «AUU», «AUC» или «AUA».
Учитывая ввод 'FI', скрипт, который я пытаюсь создать, должен вывести:
'UUUAUU', 'UUUAUC', 'UUUAUA', 'UUCAUU', 'UUCAUC' и 'UUCAUA'.
В настоящее время я застрял с этим кодом:
import itertools
F = ['UUU', 'UUC']
I = ['AUU', 'AUC', 'AUA']
seq, pool = 'FI', []
for i in seq:
pool.append(eval(i))
for n in itertools.product(pool):
print(n)
Работает, когда я заменяю pool
в itertools.product
на pool[0], pool[1]
. Но я не могу понять, как заставить его работать так, чтобы пользователь мог вводить строку с более чем 2 символами (то есть не делать это жестко).
Заранее спасибо за помощь!