前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言可视化STRING分析的蛋白互作网络(PPI)

R语言可视化STRING分析的蛋白互作网络(PPI)

作者头像
用户7010445
发布2020-03-05 14:57:00
4.4K3
发布2020-03-05 14:57:00
举报
使用STRING构建蛋白互作网络(PPI)

STRING 链接 https://string-db.org/ 数据集我使用R语言包clusterProfiler中经常用作示例的基因列表 获取gene symbol的代码

代码语言:javascript
复制
library(clusterProfiler)
help(package="clusterProfiler")
library(DOSE)
data(geneList)
geneList
genelist<-names(geneList)[1:30]
gene.df<-bitr(genelist,fromType = "ENTREZID",
              toType = "SYMBOL",OrgDb = "org.Hs.eg.db")
gene.df
write.table(gene.df$SYMBOL,file="../../PPI_pra_example_gene_symbol.txt",
            row.names = F,quote = F,col.names = F)

将gene symbol上传到 STRING网站 得到结果

image.png

但是现在我想编辑这个图像,所以我就可以下载文件

image.png

通常可以把这个文件导入到Cytoscape软件里进行可视化,但是我昨天试了一下,没有找到批量分组添加颜色的办法,比如这个30个基因是我转录组差异分析得到的结果,其中10个上调表达基因,20个下调表达基因。我想给上调基因添加红色,下调基因添加蓝色。我不知道Cytoscape是否可以实现,反正我现在还不知道怎么实现。

下面记录自己用R语言的ggraph包的实现过程

准备数据
  • 基因列表文件 PPI_pra_example_gene_symbol.txt
  • PPI分析结果文件 string_interactions.tsv

初步结果

代码语言:javascript
复制
library(ggraph)
help(package="ggraph")
library(igraph)
nodes<-read.csv("../../PPI_pra_example_gene_symbol.txt",header=F)
links<-read.table("../../string_interactions.tsv",header=F,sep="\t")
nodes
links
net<-graph_from_data_frame(d=links,vertices=nodes,directed = T)
plot(net)
ggraph(net,layout = "linear",circular=T)+
  geom_edge_link(color="blue")+
  geom_node_point(size=10,color="red",alpha=0.5)+
  theme_void()

image.png

image.png

代码语言:javascript
复制
ggraph(net,layout = "kk")+
  geom_edge_link(color="blue")+
  geom_node_point(size=10,color="red",alpha=0.5)+
  theme_void()

几个layout比较下来还是layout="kk"好看一点。

接下来试着添加基因名字并按照上调和下调添加颜色
代码语言:javascript
复制
library(ggraph)
help(package="ggraph")
library(igraph)
nodes<-read.csv("../../PPI_pra_example_gene_symbol.txt",header=F)
links<-read.table("../../string_interactions.tsv",header=F,sep="\t")
nodes
links
nodes$Name<-nodes$V1
nodes$Group<-c(rep("Up",10),rep("Down",20))
net<-graph_from_data_frame(d=links,vertices=nodes,directed = T)
ggraph(net,layout = "kk")+
  geom_edge_link()+
  geom_node_point(size=10,aes(color=Group))+
  geom_node_text(aes(label=Name))+
  theme_void()

image.png

以上用到的数据大家可以自己准备,或者在我的公众号留言就可以了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用STRING构建蛋白互作网络(PPI)
  • 准备数据
  • 接下来试着添加基因名字并按照上调和下调添加颜色
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档