今天就跟大家聊聊有关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
在这里记录一下原因和解决办法
比如我的网络是四个节点,分别是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 node1 A2 B3 C4 D> edges node1 node21 A B2 A C3 A D4 B C5 B D6 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()
但是如果你的edges文件里出现了nodes文件里没有的节点,
比如我在向edges这个文件里添加一个C~E的边
df<-data.frame(node1="C",node2="E")edges1<-rbind(edges,df)edges1 node1 node21 A B2 A C3 A D4 B C5 B D6 C D7 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
可以使用 %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里。
那我们就可以把这一行删掉了
df1<-data.frame(node="E")nodes1<-rbind(nodes,df1)nodes1net<-graph_from_data_frame(d=edges1,vertices = nodes1,directed = F)ggraph(net)+ geom_edge_link()+ geom_node_point()
关于string中蛋白互作网络输出文件为什么会出现
边文件中有的节点不是我们自己输入的基因id。这个我也不清楚。
我猜,完全是猜
比如你输入基因 a,b,c ,数据库中某个基因 d 刚好是链接这三个基因的中间点 就像这种,中间是d
那么最终的网络文件中就会多出来d 如果是这种情况,就不能在边文件删除d而是只能在节点中添加d了。
看完上述内容,你们对R语言可视化STRING分析的蛋白互作网络报错的解决方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4579431/blog/4347457