2014-02-06 60 views
-1

給定一個隨機序列,我該如何檢查該序列是否是蛋白質?如何檢查序列是否是蛋白質序列?

from Bio.Seq import Seq 
from Bio.Alphabet import IUPAC 
my_prot = Seq("'TGEKPYVCQECGKAFNCSSYLSKHQR") 
my_prot 


my_prot.alphabet #How to make a check here ?? 
+0

你介意指定蛋白質字符串模式嗎? – thefourtheye

+4

你將不得不有一個標準來判斷它...... theres沒有它的魔力 –

+0

我期待任何內置的方法。 – user1140126

回答

1

如果您Seq對象有一個指定的字母,您可以檢查如果字母是蛋白質字母表:

from Bio.Seq import Seq 
from Bio.Alphabet import IUPAC, ProteinAlphabet 
my_prot = Seq("TGEKPYVCQECGKAFNCSSYLSKHQR", alphabet=IUPAC.IUPACProtein()) 

print isinstance(my_prot.alphabet, ProteinAlphabet) 

但是,如果你沒有字母表知道,你必須利用一些啓發式來猜測它是否是蛋白質序列。這可以像檢查序列完全是「ATC [GU]」還是使用其他字母代碼一樣簡單。

但這並不完美。例如,序列「ATCG」可以是丙氨酸,蘇氨酸,半胱氨酸,甘氨酸(即蛋白質),或者它可以是腺嘌呤,胸腺嘧啶,胞嘧啶,鳥嘌呤(DNA)。同樣,「ACG」可能是蛋白質,RNA或DNA。確定一個序列是DNA而不是蛋白質序列在技術上是不可能的。但是,如果您有SeqRecordSeq的其他上下文,您可能能夠檢查它是否是蛋白質序列。

+0

謝謝。這是我正在尋找的。我意識到模糊問題。但對於我的情況,這將工作得很好。 – user1140126

相關問題