我正在尝试创建一个可能的密码子列表,给定一个蛋白质序列。
基本上,我要创建的脚本将处理给定的字符串输入,并输出另一组字符串的可能组合,该输入表示这些字符串。
例如,字符“F”表示“UUU”或“UUC”中的任何一个;字符“I”表示“AUU”、“AUC”或“AUA”中的任何一个。
给定输入“FI”,我要创建的脚本应输出:“UUUAUU”、“UUUAUC”、“UUUAUA”、“UUCAUU”、“UUCAUC”和“UUCAUA”。
我目前卡在这段代码中:
当我将
感谢您提前的帮助!
基本上,我要创建的脚本将处理给定的字符串输入,并输出另一组字符串的可能组合,该输入表示这些字符串。
例如,字符“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)
当我将
itertools.product
中的 pool
替换为 pool[0],pool[1]
时,它能够正常工作。但是我无法弄清楚如何使其能够处理用户输入的长度大于2个字符的字符串(即不要硬编码)。感谢您提前的帮助!