Bio.SeqUtils.ProtParam 模块

简单的蛋白质分析。

示例

>>> from Bio.SeqUtils.ProtParam import ProteinAnalysis
>>> X = ProteinAnalysis("MAEGEITTFTALTEKFNLPPGNYKKPKLLYCSNGGHFLRILPDGTVDGT"
...                     "RDRSDQHIQLQLSAESVGEVYIKSTETGQYLAMDTSGLLYGSQTPSEEC"
...                     "LFLERLEENHYNTYTSKKHAEKNWFVGLKKNGSCKRGPRTHYGQKAILF"
...                     "LPLPV")
>>> print(X.count_amino_acids()['A'])
6
>>> print(X.count_amino_acids()['E'])
12
>>> print("%0.2f" % X.get_amino_acids_percent()['A'])
0.04
>>> print("%0.2f" % X.get_amino_acids_percent()['L'])
0.12
>>> print("%0.2f" % X.molecular_weight())
17103.16
>>> print("%0.2f" % X.aromaticity())
0.10
>>> print("%0.2f" % X.instability_index())
41.98
>>> print("%0.2f" % X.isoelectric_point())
7.72
>>> sec_struc = X.secondary_structure_fraction()  # [helix, turn, sheet]
>>> print("%0.2f" % sec_struc[0])  # helix
0.33
>>> print("%0.2f" % sec_struc[1])  # turn
0.29
>>> print("%0.2f" % sec_struc[2])  # sheet
0.37
>>> epsilon_prot = X.molar_extinction_coefficient()  # [reduced, oxidized]
>>> print(epsilon_prot[0])  # with reduced cysteines
17420
>>> print(epsilon_prot[1])  # with disulfid bridges
17545
其他公共方法是
  • gravy

  • protein_scale

  • flexibility

  • charge_at_pH

class Bio.SeqUtils.ProtParam.ProteinAnalysis(prot_sequence, monoisotopic=False)

基类: object

包含蛋白质分析方法的类。

构造函数接受两个参数。第一个是蛋白质序列,以字符串或 Seq 对象的形式给出。

第二个参数是可选的。如果设置为 True,则氨基酸的重量将使用它们的单一同位素质量(每个元素最丰富同位素的重量)计算,而不是平均分子量(每个元素所有稳定同位素的平均重量)。如果设置为 false(默认值)或省略,则将使用 IUPAC 平均分子量进行计算。

__init__(prot_sequence, monoisotopic=False)

初始化类。

count_amino_acids()

统计标准氨基酸,返回字典。

统计蛋白质序列中每种氨基酸出现的次数。返回一个字典 {氨基酸: 数量}。

返回值保存在 self.amino_acids_content 中。在后续调用中不会重新计算它。

get_amino_acids_percent()

计算氨基酸含量百分比。

与 count_amino_acids 相同,只是返回整个序列中数量的百分比。返回一个字典 {氨基酸: 百分比}。

返回值保存在 self.amino_acids_percent 中。

输入是字典 self.amino_acids_content。输出是包含氨基酸作为键的字典。

molecular_weight()

根据蛋白质序列计算分子量。

aromaticity()

根据 Lobry, 1994 计算芳香性。

根据 Lobry, 1994 计算蛋白质的芳香性值。它只是 Phe+Trp+Tyr 的相对频率。

instability_index()

根据 Guruprasad 等人 1990 的方法计算不稳定性指数。

Guruprasad 等人 1990 方法的实现,用于测试蛋白质的稳定性。任何高于 40 的值意味着蛋白质是不稳定的(半衰期短)。

参见: Guruprasad K., Reddy B.V.B., Pandit M.W. 蛋白质工程 4:155-161(1990)。

flexibility()

根据 Vihinen, 1994 计算灵活性。

没有参数可以更改窗口大小,因为参数针对窗口=9 进行了优化。使用的参数针对确定灵活性进行了优化。

gravy(scale='KyteDoolitle')

根据 Kyte 和 Doolitle, 1982 计算 GRAVY(疏水性的大平均值)。

利用给定的疏水性尺度,默认情况下使用 Kyte 和 Doolittle 提出的原始尺度(KyteDoolitle)。其他选项是:Aboderin、AbrahamLeo、Argos、BlackMould、BullBreese、Casari、Cid、Cowan3.4、Cowan7.5、Eisenberg、Engelman、Fasman、Fauchere、GoldSack、Guy、Jones、Juretic、Kidera、Miyazawa、Parker、Ponnuswamy、Rose、Roseman、Sweet、Tanford、Wilson 和 Zimmerman。

可以在 ProtParamData 中添加新的尺度。

protein_scale(param_dict, window, edge=1.0)

使用任何氨基酸尺度计算轮廓。

氨基酸尺度由分配给每种类型氨基酸的数值定义。最常用的尺度是疏水性或亲水性尺度,以及二级结构构象参数尺度,但还存在许多其他基于氨基酸不同化学和物理性质的尺度。您可以设置几个参数来控制尺度轮廓的计算,例如窗口大小和窗口边缘相对权重值。

窗口大小:窗口大小是用于轮廓计算的间隔长度。对于窗口大小为 n,我们使用每侧的 i-(n-1)/2 个相邻残基来计算残基 i 的分数。残基 i 的分数是这些氨基酸的缩放值的总和,可以选择根据它们在窗口中的位置进行加权。

边缘:窗口的中心氨基酸始终具有权重 1。默认情况下,窗口中剩余位置的氨基酸具有相同的权重,但您可以通过将间隔开头和结尾位置的残基的边缘值设置为 0 到 1 之间的值来使窗口中心的残基具有比其他残基更大的权重。例如,对于 Edge=0.4 且窗口大小为 5,权重将为:0.4、0.7、1.0、0.7、0.4。

该方法返回一个值列表,可以将其绘制出来以查看蛋白质序列上的变化。存在许多尺度。只需将您喜欢的尺度添加到 ProtParamData 模块中即可。

类似于 expasy 的 ProtScale:http://www.expasy.org/cgi-bin/protscale.pl

isoelectric_point()

计算等电点。

使用 IsoelectricPoint 模块计算蛋白质的 pI。

charge_at_pH(pH)

计算蛋白质在给定 pH 值下的电荷。

secondary_structure_fraction()

计算螺旋、转角和片层的比例。

分别根据 Haimov 和 Srebnik, 2016;Hutchinson 和 Thornton, 1994;以及 Kim 和 Berg, 1993 返回倾向于处于螺旋、转角或片层中的氨基酸比例的列表。

螺旋中的氨基酸:E、M、A、L、K。转角中的氨基酸:N、P、G、S、D。片层中的氨基酸:V、I、Y、F、W、L、T。

请注意,在 v1.82 之前,此方法错误地返回了 (Sheet, Turn, Helix),同时声称返回 (Helix, Turn, Sheet)。

返回三个浮点数的元组 (Helix, Turn, Sheet)。

molar_extinction_coefficient()

计算摩尔消光系数。

计算摩尔消光系数,假设半胱氨酸(还原)和胱氨酸残基(Cys-Cys 键)