这是我正在使用的当前值:
DNA_list=['ATTGAT','CTGGCA','TAGGAC','GAGGCT'] #transcription
RNA_list=['UAACUA','GACCGU','AUCCUG','CUCCGA']
protein_list=['_L','DV','IL','LR']
我需要帮助将DNA序列列表转换为蛋白质序列。从本质上讲,程序应该以3对读取RNA_list以模仿密码子的读取,然后获取3个序列并从字典或任何存储氨基酸的东西中提取值(如BioPython或其他模块)。这是我到目前为止所拥有的,但我只能从单个序列而不是列表完成此操作:
codon = {"AAA":"K", "AAC":"N", "AAG":"K", "AAU":"N",
"ACA":"T", "ACC":"T", "ACG":"T", "ACU":"T",
"AGA":"R", "AGC":"S", "AGG":"R", "AGU":"S",
"AUA":"I", "AUC":"I", "AUG":"M", "AUU":"I",
"CAA":"Q", "CAC":"H", "CAG":"Q", "CAU":"H",
"CCA":"P", "CCC":"P", "CCG":"P", "CCU":"P",
"CGA":"R", "CGC":"R", "CGG":"R", "CGU":"R",
"CUA":"L", "CUC":"L", "CUG":"L", "CUU":"L",
"GAA":"E", "GAC":"D", "GAG":"E", "GAU":"D",
"GCA":"A", "GCC":"A", "GCG":"A", "GCU":"A",
"GGA":"G", "GGC":"G", "GGG":"G", "GGU":"G",
"GUA":"V", "GUC":"V", "GUG":"V", "GUU":"V",
"UAA":"_", "UAC":"Y", "UAG":"_", "UAU":"T",
"UCA":"S", "UCC":"S", "UCG":"S", "UCU":"S",
"UGA":"_", "UGC":"C", "UGG":"W", "UGU":"C",
"UUA":"L", "UUC":"F", "UUG":"L", "UUU":"F"}
protein_seq = ""
for x in range(0, len(RNA_list),3):
codon=RNA_list[i:i+3]
protein_seq += RNA_codon[codon]
同样,问题是这仅适用于单个序列,而不适用于列表。任何帮助将不胜感激!
result = []
for rna in RNA_list:
protein_seq = ""
for i in range(0, len(rna), 3):
rna_codon = codon[rna[i:i+3]]
protein_seq += rna_codon
result.append(protein_seq)
print(result)
i
和x
是不同的变量。您需要两个循环,外部循环遍历序列列表,内部循环遍历每个序列。
注意结果与protein_list
不同,第二个元素是DR
,而不是DV
。
这行不通吗?
result = []
for rna in RNA_list:
protein_seq = ""
for i in range(0, len(rna),3):
codon=rna[i:i+3]
protein_seq += RNA_codon[codon]
result.append(protein_seq)