千家信息网

R语言可视化STRING分析的蛋白互作网络报错的解决方法

发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,今天就跟大家聊聊有关R语言可视化STRING分析的蛋白互作网络报错的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。R语言可视化STRI
千家信息网最后更新 2024年12月03日R语言可视化STRING分析的蛋白互作网络报错的解决方法

今天就跟大家聊聊有关R语言可视化STRING分析的蛋白互作网络报错的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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

有一些朋友留言说在重复

net<-graph_from_data_frame(d=links,vertices=nodes,directed = T)

遇到了报错

Error in graph_from_data_frame(d = links, vertices = nodes, directed = T) : Some vertex names in edge list are not listed in vertex data frame

在这里记录一下原因和解决办法

R语言包ggraph可视化网络需要准备两个文件
  • 一个是节点文件
  • 另一个是节点之间的连线文件

比如我的网络是四个节点,分别是A,B,C,D,

节点之间两两连线

对应的数据应该是

> nodes<-data.frame(node=c("A","B","C","D"))
> edges<-data.frame(node1=c("A","A","A","B","B","C"),
+ node2=c("B","C","D","C","D","D"))
> nodes
node
1 A
2 B
3 C
4 D
> edges
node1 node2
1 A B
2 A C
3 A D
4 B C
5 B D
6 C D

接下来是可视化

library(ggraph)
library(igraph)
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
geom_edge_link()+
geom_node_point()
image.png

但是如果你的edges文件里出现了nodes文件里没有的节点,

比如我在向edges这个文件里添加一个C~E的边

df<-data.frame(node1="C",node2="E")
edges1<-rbind(edges,df)
edges1

node1 node2
1 A B
2 A C
3 A D
4 B C
5 B D
6 C D
7 C E

接下来合并节点和边的时候就会遇到报错

> net<-graph_from_data_frame(d=edges1,vertices = nodes,directed = F)
Error in graph_from_data_frame(d = edges1, vertices = nodes, directed = F) :
Some vertex names in edge list are not listed in vertex data frame
一种解决办法是把带E的这条边给他去掉。那如何判断边中哪个节点是多与的呢?

可以使用 %in% 来看

比如

> edges1$node1 %in% nodes$node
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
> edges1$node2 %in% nodes$node
[1] TRUE TRUE TRUE TRUE TRUE TRUE FALSE
> which(edges1$node2 %in% nodes$node)
[1] 1 2 3 4 5 6
> which(! edges1$node2 %in% nodes$node)
[1] 7

这就说明node2这一列第7行没有在 nodes里。

那我们就可以把这一行删掉了

还有一种办法是把E添加到节点里
df1<-data.frame(node="E")
nodes1<-rbind(nodes,df1)
nodes1
net<-graph_from_data_frame(d=edges1,vertices = nodes1,directed = F)
ggraph(net)+
geom_edge_link()+
geom_node_point()
image.png

关于string中蛋白互作网络输出文件为什么会出现

边文件中有的节点不是我们自己输入的基因id。这个我也不清楚。

我猜,完全是猜

比如你输入基因 a,b,c ,数据库中某个基因 d 刚好是链接这三个基因的中间点 就像这种,中间是d


那么最终的网络文件中就会多出来d 如果是这种情况,就不能在边文件删除d而是只能在节点中添加d了。

看完上述内容,你们对R语言可视化STRING分析的蛋白互作网络报错的解决方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

文件 节点 网络 可视化 蛋白 语言 基因 分析 内容 办法 方法 接下来 之间 数据 输入 清楚 一行 三个 两个 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库是什么服务器 下载我的世界大橙子服务器 广东信息教育2.0网络技术 网络安全教育班队活动总结 深圳市天弩网络技术有限公司 lol服务器登录异常 服务器本地网络与客户端冲突 我的世界服务器自定义地图怎么画 怎么在数据库给字段建个分类 出租美国服务器 重庆微商系统软件开发 奥丁神叛手游版一直服务器繁忙 2019年网络安全问题比重 徐州信息软件开发活动方案 小米sip服务器设置 我的世界服务器怎么设置平坦 数据库原理课程设计选题 时间源服务器报价 软件开发 职业目标 北京软件开发培训机构排行 保山软件开发定制 网络安全知识专题答案 深圳市天弩网络技术有限公司 沈阳网络安全警察报警电话 凹凸世界国际服服务器 网络安全需要遵守什么什么 泰州销售管理软件开发平台 西双版纳州网络安全 虚拟机需要装什么数据库 数据库课程设计java实现
0