私は3つの引数を取る関数codon_pairs(pairs, codonsA, codonsB)
を作ろうとしています。 pairs
と2つのリストcodonsA
とcodonsB
があります。辞書は塩基対を含み、コドンリストはコドン配列を含む。私はcodonsA
で各コドン配列のためにcodonsB
相補コドン配列を見つけ、次のように一致するペアを返すようにしようとしています:辞書を使用してコドンを照合する
pairs = {'A':'T', 'C':'G', 'T':'A', 'G':'C'}
codonsA = ['AAG', 'TAC', 'CGG', 'GAT', 'TTG', 'GTG', 'CAT', 'GGC', 'ATT', 'TCT']
codonsB = ['TAA', 'CTA', 'AAC', 'TTC', 'AGA', 'CCC', 'CCG', 'GTA']
print(codons_pairs(pairs, condonsA, codonsB))
[('AAG', 'TTC'), ('GAT', 'CTA'), ('TTG', 'AAC'), ('CAT', 'GTA'), ('GGC', 'CCG'), ('ATT', 'TAA'), ('TCT', 'AGA')]
2タプルの最初の項目はcodonsA
からコドンと2番目の項目です一致するコドンはcodonsB
である。例えば、Aの塩基対はTであり、Gの塩基対はCであり、pairs
辞書でハイライト表示されているので、配列AAG(codonsA[0]
)およびTCC(codonsB[3]
)は、対の対である。
一致するペアが見つからない場合は、最終結果から省略されます。
これは私がこれまで持っているものです。
pairs = {'A':'T', 'C':'G', 'T':'A', 'G':'C'}
codonsA = ['AAG', 'TAC', 'CGG', 'GAT', 'TTG', 'GTG', 'CAT', 'GGC', 'ATT', 'TCT']
codonsB = ['TAA', 'CTA', 'AAC', 'TTC', 'AGA', 'CCC', 'CCG', 'GTA']
def codons_pairs(pairs, codonsA, codonsB):
for A in codonsA:
for B in codonsB:
for i in A:
for j in B:
私はちょうど辞書に関して、codonsA
とcodonsB
の間でペアをチェックするかどうかはわかりません。どんな助けでも大歓迎です。
おかげで:)私は降伏を使用する必要はありません方法はありますか? – RoadRunner
関数の先頭にリストを作成し、yieldを使用するのではなく、リストに追加して最後にリストを返します。 –
ええ、ありがとう、これは素晴らしい答えです。私は完全にset()メソッドの使用を忘れていました。 – RoadRunner