給定一個隨機序列,我該如何檢查該序列是否是蛋白質?如何檢查序列是否是蛋白質序列?
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 ??
給定一個隨機序列,我該如何檢查該序列是否是蛋白質?如何檢查序列是否是蛋白質序列?
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 ??
如果您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而不是蛋白質序列在技術上是不可能的。但是,如果您有SeqRecord
或Seq
的其他上下文,您可能能夠檢查它是否是蛋白質序列。
謝謝。這是我正在尋找的。我意識到模糊問題。但對於我的情況,這將工作得很好。 – user1140126
你介意指定蛋白質字符串模式嗎? – thefourtheye
你將不得不有一個標準來判斷它...... theres沒有它的魔力 –
我期待任何內置的方法。 – user1140126