我正在尝试创建一个可能的给定蛋白质序列的密码子列表。
基本上,我尝试创建的脚本将处理给定的字符串输入并输出输入表示的另一组字符串的可能组合。
例如,字符“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
为. 但我不知道如何使它工作,以便用户可以输入一个超过 2 个字符的字符串(即不要使其硬编码)。itertools.product
pool[0], pool[1]
在此先感谢您的帮助!