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 键)