1.寫(xiě)在前面
最近在中國(guó)知網(wǎng)刷到一篇關(guān)于網(wǎng)絡(luò)藥理學(xué)的文章,文章的邏輯和使用的技術(shù)還挺簡(jiǎn)單。記錄一下學(xué)習(xí)流程,為了避免不必要的麻煩,就不用原文舉例了。
為了簡(jiǎn)化接下來(lái)的教程,我就以關(guān)鍵詞“肝癌”和“中藥”在知網(wǎng)搜索,查看有哪些中藥可以治療肝癌。搜索到這篇文章

鏈接如下:https://kns.cnki.net/kcms2/article/abstract?v=OHSidZhWKUkSVAcEooQbXpIa97MtfCTTNozL3raYBCkQtL2jMZtpJzuXggfz3MR0MjMc87DUBdV6DSf-WGGq6fZEe4rbC8GCIqB_FKeVzdR3ELZ2dLBN7rFND6cc-o-8&uniplatform=NZKPT&flag=copy
接下來(lái)的研究對(duì)象就有了:
中藥:山豆根
疾?。焊伟?/p>
2.數(shù)據(jù)準(zhǔn)備
1.TCMSP:https://old.tcmsp-e.com/tcmsp.php
這個(gè)數(shù)據(jù)庫(kù)主要用于搜索中藥成分和中藥成分對(duì)應(yīng)的靶點(diǎn),參考山西醫(yī)科大學(xué)發(fā)布的TCMSP教程《7--手把手教你從TCMSP數(shù)據(jù)庫(kù)獲取中藥有效成分和中藥靶點(diǎn)》:http://www.sxmu.edu.cn/bdcd/info/1110/1291.htm
1.打開(kāi)官網(wǎng),搜索“山豆根”;
Screen Shot 2023-12-31 at 09.06.04.png

2.點(diǎn)擊“Sophorae Tonkinensis Radix Et Rhizome”;
Screen Shot 2023-12-31 at 09.07.44.png

3.按照山西醫(yī)科學(xué)發(fā)布的教程,選擇OB>30%,DL>0.18,篩選中藥中的有效成分。

4.請(qǐng)注意Mol ID這一列,我們要根據(jù)這一列下載Related Targets。
TCSMP不好的一點(diǎn)是不能直接下載搜索到的結(jié)果,需要一頁(yè)頁(yè)的復(fù)制到excel里。注意這里的Mol ID是無(wú)序的,下載起來(lái)會(huì)很麻煩,點(diǎn)一Mol ID列可以根據(jù)升序進(jìn)行排列。
接下來(lái)下載Related Targets,將Mol ID按照生序排列,然后根據(jù)剛剛下載的有效成分的Mol ID下載這個(gè)有效成分的Related Targets,依然是一頁(yè)頁(yè)的復(fù)制到excel里。
素質(zhì)使然就不要用爬蟲(chóng)去爬了。

5. 結(jié)果:我們一共篩選到山豆根的21個(gè)有效成分,這個(gè)21個(gè)有效成分又有394個(gè)靶基因。
注意:不是每個(gè)有效成分都有靶基因,如果找不到某個(gè)有效成分的靶基因直接跳過(guò)這個(gè)有效成分就可以了。
3.準(zhǔn)備肝癌基因相關(guān)的數(shù)據(jù)集
1. genecars: https://www.genecards.org

2.在右上角搜索框以“l(fā)iver cancer”搜索

3.點(diǎn)擊export導(dǎo)出搜索結(jié)果。操作此步驟需要注冊(cè)genecards賬戶。

到目前為止,所需要的數(shù)據(jù)文件我們已經(jīng)準(zhǔn)備的差不多了,但需要對(duì)下載的文件進(jìn)行進(jìn)一步的處理。
3.數(shù)據(jù)處理
打開(kāi)中藥成分的靶基因文件,在Target name這一列,可以看到顯示的是基因的全名,而在我們從genecards導(dǎo)出的肝癌數(shù)據(jù)顯示的是基因的Symbol,因此,我們需要把Target name這一列轉(zhuǎn)換成基因的Symbol。
1.打開(kāi)uniprot網(wǎng)站:https://www.uniprot.org
Screen Shot 2023-12-31 at 09.58.55.png

2.點(diǎn)擊proteins,然后搜索,按照箭頭指示,最后導(dǎo)出搜索到的數(shù)據(jù)就可以了。

3.最終把下載的文件整理成以下格式即可。
Screen Shot 2023-12-31 at 10.21.34.png

4. 在靶基因文件中添加Symbol列,使用R語(yǔ)言完成。
library(tidyverse)
library(dplyr)
library(readxl)
# 讀取靶基因文件
Related_Targets <- read_excel("Related Targets.xlsx")
head(Related_Targets)
# 讀取基因注釋文件
gene_annotation <- read_excel("gene_annotation.xlsx")
head(gene_annotation)
data = merge(Related_Targets, gene_annotation, by.x = "Target name", by.y = "Protein names")
head(data)
# 保存文件
write.table(data, "ingredient_target.txt",row.names = F,sep = "\t", quote = F)
最終整理成的數(shù)據(jù)格式如下所示:

5.篩選genecards下載的"liver cancer"數(shù)據(jù)集
一般選擇Relevance score大于中間值的基因就可以了,也可以自定義篩選標(biāo)準(zhǔn)。
# 讀取genecards數(shù)據(jù)集
liver_data = read.csv("GeneCards-liver cancer.csv",header = T)
dim(liver_data) # 4493 8
filter_liver_data = filter(liver_data, Relevance.score > median(liver_data$Relevance.score))
dim(filter_liver_data) # 2241 8
# 過(guò)濾后一共有2241個(gè)基因
# 保存文件
write.table(filter_liver_data, "filter_liver_data.txt", row.names = F,sep = "\t", quote = F)
4.到此為止,我們已經(jīng)準(zhǔn)備好了所有的數(shù)據(jù),接下來(lái)可以進(jìn)行分析了。
分析所需的文件:ingredient_target.txt,filter_liver_data.txt
1.首先查看藥物成分-靶基因與肝癌基因集中有多少個(gè)交集基因,繪制venn圖。
# 清空變量
rm(list = ls())
# 讀取數(shù)據(jù)
target = read.table("ingredient_target.txt", header = T, sep = "\t")
liver = read.table("filter_liver_data.txt", header = T, sep = "\t")
# 查看數(shù)據(jù)集
head(target)
head(liver)
# 查看交集基因
inter_gene = intersect(target$Gene.Names, liver$Gene.Symbol)
length(inter_gene) # 一個(gè)有98個(gè)基因
# 可視化
library(ggvenn)
gene = list(Ingredient_target_gene = target$Gene.Names, liver_cancaer_gene = liver$Gene.Symbol)
ggvenn(gene,fill_color = c("red","blue"))# 根據(jù)自己的喜好更改顏色就可以了

2.將交集中的基因從Ingredient-targets中挑選出來(lái),使用cytoscape軟件繪圖
我電腦沒(méi)裝cytoscape軟件,就不展示這部分結(jié)果了,cytoscape軟件使用很簡(jiǎn)單。
select_ingredient_target = subset(target,Gene.Names %in% inter_gene)
dim(select_ingredient_target) # 165 6
write.table(select_ingredient_target,"select_ingredient_target.txt", row.names = F,sep = "\t", quote = F)
head(select_ingredient_target)
# Target.name Mol.ID Molecule.name Source status Gene.Names
# 7 72 kDa type IV collagenase MOL005944 matrine DrugBank validated MMP2
# 8 72 kDa type IV collagenase MOL000098 quercetin DrugBank validated MMP2
# 9 Acetyl-CoA carboxylase 1 MOL000098 quercetin DrugBank validated ACACA
# 33 Apoptosis regulator BAX MOL000422 kaempferol N/A validated BAX
# 34 Apoptosis regulator BAX MOL000098 quercetin N/A validated BAX
# 35 Apoptosis regulator Bcl-2 MOL000098 quercetin DrugBank validated BCL2
3.富集分析
就是將篩選出來(lái)的98個(gè)基因使用clusterprofiler包進(jìn)行GO和KEGG富集分析。
GO富集分析
可以將GO富集分析的結(jié)果保存下來(lái),挑選合適的GO term展示。
在這里隨機(jī)展示GO富集分析的結(jié)果。
富集分析
library(clusterProfiler)
library(enrichplot)
library(org.Hs.eg.db)
# 基因ID轉(zhuǎn)換
gene_id = bitr(inter_gene, fromType = "SYMBOL", toType = "ENTREZID", OrgDb = "org.Hs.eg.db")$ENTREZID
head(gene_id)
# go富集分析
go = enrichGO(gene_id,
OrgDb = "org.Hs.eg.db",
keyType = "ENTREZID",
ont = "all",
pvalueCutoff = 0.05,
pAdjustMethod = "BH",
qvalueCutoff = 0.2)
barplot(go,
showCategory = 5,
label_format = 50,
split = "ONTOLOGY")+
facet_grid(ONTOLOGY~., scale = "free")
# 保存go富集分析結(jié)果
write.csv(go,"go.csv")

KEGG富集分析
以可以挑選合適KEGG富集分析的結(jié)果用于展示,選擇自己感興趣的信號(hào)通路即可。這里隨機(jī)展示KEGG富集分析的結(jié)果。
kegg = enrichKEGG(gene_id,
organism = "hsa",
keyType = "kegg",
pvalueCutoff = 0.05,
pAdjustMethod = "BH",
qvalueCutoff = 0.2)
barplot(kegg)
# write.csv(kegg,"kegg.csv")

寫(xiě)在最后:
經(jīng)過(guò)以上分析,我們根據(jù)自己的研究背景應(yīng)該已經(jīng)可以得出自己想要研究的藥物成分和目的基因了,接下來(lái)就是進(jìn)行分子對(duì)接,我電腦里目前還沒(méi)裝這些分子對(duì)接所需的軟件。這幾天我把軟件裝好以后就寫(xiě)接下來(lái)如何進(jìn)行分子對(duì)接。
(我就是看到別人的水文時(shí)突發(fā)奇想寫(xiě)了這個(gè)教程,也不知道算不算教程,思路有點(diǎn)亂,等不忙了再修改吧。)