美文网首页Cytoscape网络图生物信息学
STRINGdb | 交互式可视化蛋白网络互作

STRINGdb | 交互式可视化蛋白网络互作

作者: 生命数据科学 | 来源:发表于2023-01-20 13:26 被阅读0次

在STRING数据库中提交基因,获取PPI网络是比较常规的操作,包括下游使用cytoscape进行美化和hub网络的提取,但过程还是比较麻烦,本期介绍通过R语言来挖掘STRING数据库

1. 效果展示

通过利用差异分析结果,使用STRINGdb挖掘蛋白交互关系,使用visNetwork构建互作网络,并利用RPubs将网络上传至服务器,实现蛋白互作网络的交互式可视化

image

2. 前期准备

2.1 R包

library(STRINGdb)
library(visNetwork)

2.2 差异分析结果


> head(diff_exp_example1)
     genes      logFC    logCPM       PValue          FDR
1   CYP1A1  -9.900908  6.373327 6.248616e-10 8.596222e-06
2     CSF3 -10.224338 10.540303 4.759447e-09 3.273786e-05
3     IL1B  -6.791297  7.881774 2.937997e-08 1.347267e-04
4 TNFSF13B   3.304202  5.305227 8.005570e-08 2.280509e-04
5     FOSB  -5.449454  7.196261 8.288541e-08 2.280509e-04
6    PTGDS   3.771284 11.508825 2.298475e-07 5.270021e-04

2.3 备注

本期内容主要借鉴了部分STRINGcb的教程:STRINGdb.pdf,里面也有很多其他功能,并未纳入进来,感兴趣的朋友可以看一下原文档~

3. 代码

diffSig.xls放入file文件夹中,一定保证列名顺序一致

library(STRINGdb)
library(visNetwork)

string_db <- STRINGdb$new( version="11",# STRING版本
                           species=9606, # 物种
                           score_threshold=700, # 交互强度阈值,如果低于此阈值的关系将不被纳入
                           input_directory="./file") #可以设置,将数据库配置文件保存到本地
diff_exp_example1<-read.table("./file/diffSig.xls", #输入文件
                              sep = "\t",header = T)
example1_mapped <- string_db$map(diff_exp_example1,
                                  "genes",#gene列列名
                                 removeUnmappedRows = TRUE )

inter_raw<-string_db$get_interactions(example1_mapped$STRING_id)

plot_data<-merge(inter_raw,example1_mapped,by.x = "from",by.y = "STRING_id")

edges <- plot_data[,c(1:2)]

nodes <- example1_mapped
nodes$type <- ifelse(nodes$logFC>0,"up","down")
nodes$label <- nodes$gene
colnames(nodes)[c(1,4,2,6,7,8)]<-c("gene", #genesymbol列
                                   "pvalue", # P值列
                                   "logFC",
                                   "id", # ENSP列
                                   "group", # 上下调列
                                   "label") # genesymbol列
nodes <- nodes[nodes$id%in%c(edges$from,edges$to),]

visNetwork(nodes, edges) %>%
  visIgraphLayout()%>%
  # darkblue square with shadow for group "A"
  visGroups(groupname = "down", color = "#034889", shape = "square", 
            shadow = list(enabled = TRUE)) %>% 
  # red triangle for group "B"
  visGroups(groupname = "up", color = "#af002b", shape = "triangle")%>%
  visLegend()%>%
  visNodes(font=list(size = 50))%>%
  visEdges(
    shadow = FALSE,
    color = list(color = "#0085AF", highlight = "#C62F4B")
  ) %>%
  visOptions(highlightNearest = list(enabled = T, degree = 1, hover = T),
             selectedBy = "group") %>% 
  visLayout(randomSeed = 123)%>% 
  visEdges(arrows = 'from')%>% 
  visInteraction(navigationButtons = TRUE)

4. 将交互网络上传至公共服务器

首先点击这个像眼睛一样的图标


image

我这里使用的是RPubs

image

然后跟着流程注册账号,设置网页名称即可~

原始project后台联系获取


image.png

感谢观看,如果有用还请多多点赞,关注,在看,转发!

相关文章

网友评论

    本文标题:STRINGdb | 交互式可视化蛋白网络互作

    本文链接:https://www.haomeiwen.com/subject/ykdchdtx.html