最近又做了一次这个东西,感觉意义确实不明显,主要还是因为现有数据库的质量不够吧,但是在大范围抓鱼上面还是有点借鉴意义的,就如同生信一般,想做出亮点离不开扎实的湿实验,而且目前来看耗资巨大是一大无法避免的障碍,不过总有量变引起质变的那天,未来可期。
不过还是有许多朋友有这个需求,那我就把这个东西的大致流程整理一下,算是抛砖引玉
一、网络药理学是什么?#
网络药理学这个名字挺高大上的哈,但是说是“药理学”我感觉有点大,反而是“网络”二字信息量比较大。一方面“网络”是指这个方法研究的目标是“中药——成分——基因——疾病”四者的关联网,另一方面该方法“主要通过数据库网站获取信息”,所以该方法部分并不直接涉及湿实验,总的来说压力并不大,成本也不高,大家可以放心了。
大家写文章记得一定要引用数据库和工具,科研就是一砖一瓦、一日一夜的积累
二、具体步骤#
-
TCMSP(TCMSP - Traditional Chinese Medicine Systems Pharmacology Database and Analysis Platform (tcmsp-e.com))通过这个网站可以获取“中药——成分——基因”三者的关联表,该网站数据主要来源是其他大数据库,而各大数据库如GENECARDS、DRUGBANK等的数据来源,并非单一手段获得,所以信息面很杂,但是比较广泛,所以对于目的性不是很明确的研究可以提供一些方向上的参考。主要使用流程如下,其他功能自行探索。在打开和找到某个重要的某个成分的targets表格后,需要手动逐页复制蛋白的名称到本地表格中,以供后续使用。这个网站一个被很多人诟病的问题就是不直接提供数据整理和下载,意思就是你需要通过反复的筛选和复制粘贴才能将需要的数据整合成本地的数据表格。我个人比较建议网站维护者后续提供此项功能的。不过一个简单的方法是使用爬虫获取数据,因为网站可能会改变布局,所以需要一定的维护,所以就不直接展示代码了,需要的请私信,切记仅供个人科研使用。
-
GENECARDS(GeneCards - Human Genes | Gene Database | Gene Search)通过这个网站可以获取“疾病——基因”两个的关联。这个网站搜索的结果大多是基因的词条中提到了该疾病词条,可以根据下载的搜索结果中的score去筛选相关度强的基因,但是在网络药理学的研究中通常是没必要的,因为该方法就是撒大网钓鱼。另:该网站注册很简单。
下一步就是将上面获得的两个关联合并,获得“药物——成分——基因——疾病”关联。方法很简单,就是在EXCEL中将两个关联的基因集取交集。EXCLE
去重、筛选重复项应该没难度,就不介绍了。-
STRING(STRING: functional protein association networks (string-db.org))上一步获得了两个关联网络的交叉基因,STRING这个网站可以获得基因与基因之间的关联。从而寻找这些在中药和疾病中间起作用的基因的内部关联,以寻找相对重要的基因。在下面第二张图中可以调节关联关系的可信度,下载tsv文件是为了后面用cytoscape作图以及分析hub genes。
cytoscape软件作图:这一步作图需要提前准备两个文件,具体步骤比较繁琐,后面单开一文讲一下这个软件。
GO、KEGG聚类:我个人是用R语言做的,具体代码如下。代码比较粗糙,有问题欢迎提问。
library(clusterProfiler)
library(org.Hs.eg.db)
genes<-bitr(genes,"SYMBOL",c("ENSEMBL","ENTREZID"),org.Hs.eg.db,drop=T)
ego <- enrichGO(gene = genes$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = "ENSEMBL",
ont = "ALL",
pAdjustMethod = "BH",
pvalueCutoff = 0.01,
qvalueCutoff = 0.05,
readable = T,
pool=T)
kk <- enrichKEGG(gene = genes$ENTREZID,
organism = 'hsa',
pvalueCutoff = 0.05)
write.csv(ego,'go.csv')
write.csv(kk,'kegg.csv')
#########下面是绘图
library(tidyverse)
library(ggplot2)
draw<-function(file_name="",num=20){
work<-read_delim(file_name)
work1<-arrange(work,-Count)[1:num,]
des<-rev(work1$Description)
work1$Description<-factor(work1$Description, levels=des)
ggplot(data=work1, aes(x=Description, y=Count))+
geom_point(aes(size=Count, color=qvalue))+
coord_flip()
}
draw(file_name="go.csv.csv", num=20)
- Autodock分子对接:这个软件不是很适配Windows系统,中间也遇到了很多问题,这个部分后面会在本文补充。
我个人的流程比较取巧,如下:首先在Pubchem (https://pubchem.ncbi.nlm.nih.gov/) 以及AlphaFold (https://alphafold.com/) 网站上分别获取活性成分以及蛋白质分子的蛋白三维结构数据(.pdb)文件,而后利用 AutoDockTools v1.5.6工具处理并生成PDBQT格式文件。随后上传蛋白质分子的PDB文件,利用PockDrug 工具 (http://pockdrug.rpbs.univ-paris-diderot.fr/cgi-bin/index.py?page=Home) 预测蛋白分子与活性成分可能的对接残基,筛选用药可能性在0.5以上的预测结果,并在AutoDockTools 1.5.6工具中进一步获得对接口袋参数。随后将蛋白质分子及活性成分的PDBQT文件以及对接口袋参数导入 AutoDock Vina v1.2.0工具,进行半柔性分子对接。
补充: