2014-02-06 66 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

相关问题