真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法

今天就跟大家聊聊有關(guān)R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、重慶小程序開發(fā)公司、H5頁面制作、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、網(wǎng)絡(luò)營銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。 

R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)(PPI)

有一些朋友留言說在重復(fù)

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

遇到了報(bào)錯(cuò)

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可視化網(wǎng)絡(luò)需要準(zhǔn)備兩個(gè)文件
  • 一個(gè)是節(jié)點(diǎn)文件
  • 另一個(gè)是節(jié)點(diǎn)之間的連線文件

比如我的網(wǎng)絡(luò)是四個(gè)節(jié)點(diǎn),分別是A,B,C,D, 

節(jié)點(diǎn)之間兩兩連線

對應(yīng)的數(shù)據(jù)應(yīng)該是

> 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()
 
R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法  
image.png

但是如果你的edges文件里出現(xiàn)了nodes文件里沒有的節(jié)點(diǎn),

比如我在向edges這個(gè)文件里添加一個(gè)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
 

接下來合并節(jié)點(diǎn)和邊的時(shí)候就會遇到報(bào)錯(cuò)

> 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的這條邊給他去掉。那如何判斷邊中哪個(gè)節(jié)點(diǎn)是多與的呢?

可以使用 %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添加到節(jié)點(diǎn)里
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()
 
R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法  
image.png

關(guān)于string中蛋白互作網(wǎng)絡(luò)輸出文件為什么會出現(xiàn)

邊文件中有的節(jié)點(diǎn)不是我們自己輸入的基因id。這個(gè)我也不清楚。

我猜,完全是猜

比如你輸入基因 a,b,c ,數(shù)據(jù)庫中某個(gè)基因 d 剛好是鏈接這三個(gè)基因的中間點(diǎn) 就像這種,中間是d


R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法

那么最終的網(wǎng)絡(luò)文件中就會多出來d 如果是這種情況,就不能在邊文件刪除d而是只能在節(jié)點(diǎn)中添加d了。

看完上述內(nèi)容,你們對R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


當(dāng)前名稱:R語言可視化STRING分析的蛋白互作網(wǎng)絡(luò)報(bào)錯(cuò)的解決方法
本文路徑:http://weahome.cn/article/jedhej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部