タンパク質配列が与えられたコドンの可能なリストを作成しようとしています。
基本的に、私が作成しようとしているスクリプトは、指定された文字列入力を処理し、入力が表す別の文字列セットの可能な組み合わせを出力します。
たとえば、文字「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文字を超える文字列を入力できるようにする(つまり、ハードコーディングしないようにする)方法がわかりません。
助けてくれてありがとう!