今天继续分享python编程小练习,不是什么多复杂的程序哦,实现把DNA序列转录成RNA序列,再将RNA翻译成蛋白质序列,思路比较简单,就不多写注释了。程序主要演示了字符串的replace()方法和python 字典的应用, 没什么难度 。
#!coding=utf-8
d = {'ACC': 'T', 'AUA': 'I', 'AAG': 'K', 'AAA': 'K', 'GUU': 'V', 'AAC': 'N', 'AGG': 'R', 'UAU': 'Y',
'GUC': 'V', 'UAG': '*', 'AGC': 'S', 'AUC': 'I', 'AGA': 'R', 'AAU': 'N', 'AGU': 'S', 'ACU': 'T',
'GUG': 'V', 'CAC': 'H', 'ACG': 'T', 'CAA': 'Q','CAG': 'Q', 'CCG': 'P', 'CCC': 'P', 'GGU': 'G',
'UCU': 'S', 'AUG': 'M', 'CGA': 'R', 'CCA': 'P', 'UGA': '*', 'UGG': 'W', 'CGG': 'R', 'UCG': 'S',
'CCU': 'P', 'GGG': 'G', 'GGA': 'G', 'GGC': 'G', 'GAG': 'E', 'UCC': 'S', 'UAC': 'Y', 'GAC': 'D',
'UGU': 'C', 'GCA': 'A', 'GCC': 'A', 'CUU': 'L', 'UCA': 'S', 'GCG': 'A', 'CUG': 'L', 'UAA': '*',
'GCU': 'A', 'CAU': 'H', 'CUA': 'L', 'CUC': 'L', 'GAU': 'D', 'UUU': 'F', 'CGU': 'R', 'GUA': 'V',
'UGC': 'C', 'GAA': 'E', 'ACA': 'T', 'AUU': 'I', 'UUG': 'L', 'UUA': 'L', 'CGC': 'R', 'UUC': 'F'}
dna = 'ATGAGTAAAGGAGAAGAACTTTTCACTGGAGTTGTCCCAATTCTTGTTGAATTAGATGGTGATGTTAATG'
rna = dna.replace('T', 'U')
i = 0
p = []
while i + 2
codon = rna[i:i+3]
i += 3
if codon.upper() in d.keys():
p.append(d[codon])
else:
p.append("*")
print "DNA: %s" % dna.upper()
print "mRNA %s" % rna
print "protein : %s" % ''.join(p)
同样,以一段GFP 基因序列为例,验证程序测试结果:
完全符合预期 ! 程序还有很多可以完善的地方,比如验证等,这里主要完成了写代码的思路 !
领取专属 10元无门槛券
私享最新 技术干货