问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

网络药理学:零基础复现生信文章,从数据处理到可视化详解

创作时间:
作者:
@小白创作中心

网络药理学:零基础复现生信文章,从数据处理到可视化详解

引用
CSDN
1.
https://blog.csdn.net/zhiaidaidai/article/details/141980762

网络药理学是研究药物与生物系统相互作用的科学,其中PPI(蛋白质-蛋白质相互作用)网络分析是重要的一环。本文将详细介绍如何使用String数据库和Cytoscape软件进行PPI网络分析和可视化,特别针对中药-成分-靶点网络的构建。

前言

数据库网址

String数据库(https://string-db.org/)是一个用于检索已知蛋白和预测蛋白之间相互作用的数据库,常与Cytoscape软件联合使用来构建蛋白质-蛋白质相互作用(PPI)网络。

本文复现论文步骤

  • 对交集靶点做PPI网络,对应步骤【一】和【二】和【三】

一、String获得活性成分-靶点网络tsv文件

String数据库主要用于检索已知蛋白和预测蛋白之间的相互作用。它通常与Cytoscape软件联合使用,用于构建蛋白质-蛋白质相互作用(PPI)网络。

网站首页和搜索

String数据库的首页如下:

点击SEARCH后出现如下界面:

  • 如果有一个目标蛋白/基因,想要查看这个蛋白/基因的可能的相互作用蛋白,可以选择"Protein by name"
  • 如果有很多蛋白/基因,想要查看这些蛋白/基因之间的相互作用关系,可以选择"Multiple proteins"

输入成分潜在靶点和疾病作用靶点的交集靶点基因(注意:该数据库不支持一次性输入超过2000个基因),将Organisms选为智人种,点击搜索。

页面加载完成后,可以看到网络图如下:

搜索结果处理

往下拉可以看到Settings选项,这里需要关注的是minnimun required interaction score,即调节置信度/置信区间的地方。置信度越高,结果准确性越高,在这我们将它调节到0.9(一般是0.4),然后再勾选上hide disconnected nodes in the network,隐藏掉没有连接的节点。最后选择UPDATE等待更新整张图。

可以看到图变成如下,干净了很多:

然后我们选择Exports,如果我们已经提前打开了Cytoscape软件,那么可以点击右上角直接发送到Cytoscape。同时我们保存PNG格式和tsv格式文件(用于在Cytoscape打开)。

二、PPI网络(中药-成分-靶点)前置数据处理

成分-靶点文件

可以简单就有两列,第一列是成分对应的MOL ID或者成分名,第二列是靶点基因名。也可以比较复杂,如下,第一列是成分名称,第二列是靶点基因名,第三列是靶点的Uniprot ID,第四列是成分的mol ID:

注意在这里,可以把同一个成分对应到的多个靶点进行去重。但是不同成分对应到同一个靶点不算重复,需要保留。

如果你要制作的是“中药-成分-靶点”网络图,这个比较模糊,可以直接是药物靶点,也可以是药物和疾病的靶点交集。前者适用于展示中药活性成分的多靶点作用和整体潜在药理网络。后者适用于研究特定疾病,使用成分靶点和疾病靶点的交集更有针对性。不过一般后者居多。

如果你要制作的是“中药-成分-疾病靶点”网络图或者说“中药-疾病-成分-靶点”网络图,那么靶点就是药物和疾病靶点的交集。

具体的数据处理后续补充。

网络文件

就是PPI网络图中会出现的节点,因为我们要构建的网络图是“中药-成分-靶点”的图,所以节点一共会有三种,分别是“中药”、“成分”、“靶点”。那么这个网络文件有两列,共分为两部分。并且一定需要表头,无论表头名字是什么。第一部分就是把“成分-靶点文件”的成分名和靶点基因名复制过来,如图的蓝框部分,第二部分就是中药名和对应的成分名,如图的红框部分。

属性文件

然后新建一个excel文件,将刚刚网络文件的第二列复制过来为第一列,去重,

怎么确定同心圆的层数和每层节点数

查看一共有多少个数据,譬如这里我是88个数据(只看靶点,不算成分和中药),那么会是大概会是两圈,第一圈是30个数据,第二圈是58个数据这样。

所以新建第二列,将前30个靶点的第二列输入为1。后面58个数据输入为2,然后再把成分粘贴过来放到第一列,对应的第二列输入为3,最后粘贴中药名作为第一列,对应的第二列输入为4。(这里的第二列的1、2、3、4只是作为区分,你也可以改成a、b、c、d等等),最终如下:

注意表格也是一定要列名的。

如果同心圆一个有200个节点,那么一般是4层(不包含圆心),分别是20、40、60、80个。

Cytoscape处理

点击后导入网络文件。

问题1:导入网络文件报错Could not Initialize Preview

如果导入网络文件报错如下:

那么说明网络文件存在以下情况:

  1. 电脑上的excel版本过老,导致保存的.xlsx或者.xlx文件格式不兼容,建议保存为CSV格式重试。或者一开始就是CSV格式的话,改成以UTF-8编码的CSV:
    选择【文件】/【另存为】/选择【所有文件格式】/选择【CSV UTF-8】格式
  2. 文件中存在特殊字符,譬如逗号、换行符、分号、空格等,用替换换掉:
    关于换行符怎么打:按Ctrl+J
    将第一列设置为绿色实心圆圈(这里的Ingredient是我网络文件第一列列名)
    将第二列设置为黄色圆圈(这里的Common name是我网络文件第二列列名)
    最终网络图如下:

问题2:出现一些空白节点或者全是空白节点

如果出现一些空白节点说明该节点没有连线,可能是Uniprot校正基因名时出错了。可以单独查看并校正下基因名,或者删去。
如果发现全都是空白节点,如下,那么建议鼠标滚轮放大一下视图,可能只是Cytoscape为了预览性能没有显示而已。

然后点击如下导入属性文件,然后直接点击OK
然后点击左侧栏的Filter,选择Column Filter
再选择Node:type
我们将搜索范围调为1到1,是我们刚刚第一圈定义的type值,可以看到变黄的节点就是那些节点。
然后选择Layout/Attribute Circle Layout/Selected Nodes Only/type
就可以看到刚刚选中的节点变成了一个圈
接着如法炮制处理第二圈,现在网络图长这样:
接着我们将范围变为3到3,是我们的中药成分,选中成分的节点后,选择Layout/Grid Layout/Selected Nodes Only,将节点排列为两列。
我们调整下字体大小和同心圆的半径,最终如下:
然后我们来到侧栏的Style,选择Fill Color的Map列(不选择Def.列,因为它是调整整个网络图),然后将Column选择为type,将Mapping Type选择为Discrete Mapping,然后给type分别为1、2、3、4的选择上不同的颜色。
同时我还调整了Size、Shape属性(注意有时候要勾选Lock node width and height才能调整Size属性),如下:
最终网络图如下:
导出时记得看下右下角缩略图,网络图是否在图片正中央。然后点击图标导出。
记得Network to file和Network to PNG都要导出,前者是sif工程文件(备份用),后者是图片。导出图片时将Image Size拉满到500%,这是清晰度的意思。

三、Cytoscape制作PPI网络

Cytoscape使用

File/Import/network from file,导入我们在String网站上下载的.tsv文件,页面如下:

Style/Create New Style
调整网络图格式:
然后将Label标签下的Column调整为shared name,Mapping Type调整为Passthrough Mapping,可以看到每个节点上都出现了基因名,如下:

点击Tools/Analyze Network,然后直接点击OK,可以看到网络图下方和右侧有分析结果的呈现。双击下方Degree列,让结果从大到小排列。
然后还是在左侧Style选项,选中Fill Color,将Column选为Degree,将Mapping Type选为Continuous Mapping。然后点击Currengt Mapping的颜色卡片,点击Current Palette的None,将颜色色柱选为自己喜欢的,一般选择红色。
然后可以看到网络图变为类似如下的形式:
然后还是在左侧Style选项,选中Size,将Column选为Degree,将Mapping Type选为Continuous Mapping。然后点击Current Mapping后面的小图,在这里我们可以双击最大值和最小值的方框,输入对应的同心圆的半径,在这里我最大输入了120,最小输入了50,可以看到网络图不同权重的节点也有了大小之分。
然后我们来到最下方的数据栏,选中最大Degree值(或者最大的几个值),右键选择Select nodes from selected rows(或者我们直接在网络图中点击节点,如果有多个节点就ctrl点击多个)
然后可以看到网络图中我们选中的节点变成了黄色,同时下方数据栏也只剩选中的行。
然后我们选择Layout/Attribute Circle Layout/Selected Nodes Only/Selected,此时可以让我们之前选中的节点和其他节点都产生联系(连线),然后我们将这个节点拖拽到一旁,点击空白处退出选中状态。
如下,我是选择了两个点(因为有两个子图)
然后我们再选择次大的一批Degree值对应的节点(相当于同心圆的第二圈),重复上述步骤,可以看到网络图变成如下:
好的,接下来,我们选择最小的一批Degree值对应的节点(相当于同心圆的第三圈)

同心圆半径过大或过小

如下,遇到了一个问题,就是这第三圈同心圆的半径实在是太小了,和第二圈挨得很近。
这时候我们选择Layout/Layout Tools,然后选中侧栏的Filgter/Degree Filter,将我们第三圈节点对应的Degree值的范围输入进去,可以看到它选中了我们的第三圈
然后我们拖动调节同心圆的大小
最终调整结束如下:
当然,也可能遇到一种情况,就是可以看到LayoutTools是有上下限的,譬如下调到1/8时,同心圆的半径还是过大的话,建议把前面SwissTargetPrediction等的标准提高一下,从而减小药物靶点的数量。
或者可以将同心圆设置为更多层。
我们点击Style/Label Font Size,然后直接点击数字12(默认字体大小是12),输入我们想要的字体大小,一般是18。
最后选择File/Export/Network to file和Network to Image分别到处成sif工程文件做备份和PNG格式图片。

CytoHubba分析PPI网络得到Hub genes

在App/App Manage中下载CytoHubba插件
选择Calculate,然后选择根据Degree值排序后的前10个基因作为Hub genes,点击Export可以将网络图中所有节点拓扑分析的结果保存为csv文件。我们先保存一下,然后再点击Submit进行前十个的筛选。
可以看到页面变成如下:
点击Save Current Rank可以保存筛选的结果。这里一样的可以这10个节点的网络图保存为工程文件或图片。
最下方切换到Unassigned Tables其实也可以看到我们刚刚点击Export的内容
打开Export出来的文件看看,也是一样的。
在这里我们只要degree排前10的节点,和其Closeness、Betweenness,最终表格如下:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号