首先,需要先識別mrna中的翻譯起始位點,即aug,然後從該位置,根據標準遺傳密碼表,將整個mrna序列翻譯成蛋白質,如果中途遇到終止密碼子,則顯示stop.
當然,biopython也提供了翻譯蛋白質的模組,可以很方便的將mrna或者dna翻譯成蛋白質。
這是不用biopython的**:
#*_coding: utf-8_*
import re
def mrna_protein(rna_string):
'''將mrna翻譯成蛋白質'''
start_code = 'aug'
end_code = ['uaa', 'uag', 'uga']
protein_table =
#找到起始密碼子的位置
start_sit = re.search(start_code, rna_string)
protein = ''
#按閱讀框匹配蛋白質
for sit in range(start_sit.end(), len(rna_string), 3):
protein = protein + protein_table[rna_string[sit:sit+3]]
print protein
if __name__ == '__main__':
rna_string = open('e:\\bioinfo\data\\rosalind_prot\\rosalind_prot.txt', 'r').read().strip()
mrna_protein(rna_string)
下面是使用biopython的**:
#_*_ coding: utf-8 _*
from bio import seq
from bio.alphabet import generic_dna, generic_rna
from bio import seqio
from bio.data import codontable
#載入mrna序列
rna_string = open('e:\\bioinfo\data\\rosalind_prot\\rosalind_prot.txt', 'r').read().strip()
my_seq = seq.seq(rna_string, generic_rna)
#載入標準遺傳密碼表
standard_table = codontable.unambiguous_rna_by_name['standard']
#將mrna翻譯成蛋白質
protein = my_seq.translate(table='standard')
print protein
Python基礎練習題4
基本的資料型別 數值 int,float,bool 序列 列表,字串,元組 字典,元組 可變的型別 列表,字典,集合 不可變型別 數值 字串 元組 集合中只能存在不可變型別的資料print 第1題 1 有下面幾個資料 t1 aa 11 t2 bb 22 li1 cc 22 請通過學過的知識點,進行相...
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...
python的練習題 Python練習題
1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...