使用String-db进行蛋白质-蛋白质相互作用(PPI)分析#
STRING是一个已知和预测蛋白质-蛋白质相互作用的数据库。这些相互作用包括直接(物理)和间接(功能)关联;它们来源于计算预测、物种间的知识转移以及从其他(初级)数据库汇总的相互作用。
本教程展示如何使用Python构建蛋白质-蛋白质相互作用网络。
Colab_Reproducibility:https://colab.research.google.com/drive/1ReLCFA5cNNcem_WaMXYN9da7W0GN4gzl?usp=sharing
import omicverse as ov
ov.utils.ov_plot_set()
准备数据#
这里我们使用string-db的示例数据进行分析。
FAA4及其十个置信度最高的相互作用蛋白。 FAA4在酵母中是长链脂肪酰-CoA合成酶;可以看到它与其他合成酶以及调控因子相连接。
Saccharomyces cerevisiae NCBI分类ID:4932 其他名称:ATCC 18824, Candida robusta, NRRL Y-12632, S. cerevisiae, Saccharomyces capensis, Saccharomyces italicus, Saccharomyces oviformis, Saccharomyces uvarum var. melibiosus, lager beer yeast, yeast
gene_list=['FAA4','POX1','FAT1','FAS2','FAS1','FAA1','OLE1','YJU3','TGL3','INA1','TGL5']
此外,我们还需要设置基因的类型和颜色。这里,我们随机将前5个基因命名为Type1,其余命名为Type2。
gene_type_dict=dict(zip(gene_list,['Type1']*5+['Type2']*6))
gene_color_dict=dict(zip(gene_list,['#F7828A']*5+['#9CCCA4']*6))
STRING相互作用分析#
network API方法还允许您以各种文本格式检索一个或多个蛋白质的STRING相互作用网络。它将告诉您蛋白质集合的综合评分和所有通道特定评分。您还可以通过设置”add_nodes”来扩展网络邻域,该参数将按置信度顺序向网络中添加新的相互作用伙伴。
G_res=ov.bulk.string_interaction(gene_list,4932)
G_res.head()
| stringId_A | stringId_B | preferredName_A | preferredName_B | ncbiTaxonId | score | nscore | fscore | pscore | ascore | escore | dscore | tscore | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 4932.YBR041W | 4932.YKL182W | FAT1 | FAS1 | 4932 | 0.69 | 0 | 0 | 0 | 0 | 0 | 0 | 0.69 |
| 1 | 4932.YBR041W | 4932.YKL182W | FAT1 | FAS1 | 4932 | 0.69 | 0 | 0 | 0 | 0 | 0 | 0 | 0.69 |
| 2 | 4932.YBR041W | 4932.YPL231W | FAT1 | FAS2 | 4932 | 0.692 | 0 | 0 | 0 | 0 | 0 | 0 | 0.692 |
| 3 | 4932.YBR041W | 4932.YPL231W | FAT1 | FAS2 | 4932 | 0.692 | 0 | 0 | 0 | 0 | 0 | 0 | 0.692 |
| 4 | 4932.YBR041W | 4932.YOR081C | FAT1 | TGL5 | 4932 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0.7 |
STRING PPI网络#
我们也可以使用ov.bulk.pyPPI获取gene_list的PPI网络,首先对其进行初始化。
ppi=ov.bulk.pyPPI(gene=gene_list,
gene_type_dict=gene_type_dict,
gene_color_dict=gene_color_dict,
species=4932)
<networkx.classes.graph.Graph at 0x1056abb80>
然后我们连接到string-db计算蛋白质-蛋白质相互作用。
ppi.interaction_analysis()
<networkx.classes.graph.Graph at 0x17aa86fd0>
我们提供了一个非常简单的函数来绘制网络,您可以参考ov.utils.plot_network了解参数说明。