簡體   English   中英

如何在 R 中使用 Rcy3 或 igraph package 從包含節點和邊緣信息的數據框中創建基因共表達網絡?

[英]How to create gene co-expression network from a data frame containing node and edge information using Rcy3 or igraph package in R?

我有一個基因共表達數據框,其中包含“來自”節點(Probe_ID1)、“至”節點(Probe_ID2)和共表達參數(Pearson_correlation)。 我想通過 R 中的 cytoscape 創建一個無向網絡。 我嘗試過一些教程,它們展示了如何使用表達式矩陣或單獨的數據表來為節點和邊創建使用 Rcy3 和 igraph 的網絡。 No luck so far.( https://bioconductor.github.io/BiocWorkshops/cytoscape-automation-in-r-using-rcy3.html ) ( http://www.vesnam.com/Rblog/viznets5/ )

數據框如下所示 -

在此處輸入圖像描述

當我使用

  • g <- graph_from_data_frame(df,directed = FALSE)
  • 繪圖(g,edge.width = E(g)$Pearson_correlation)

我得到一個 static plot 這不是很有用!

我的目標是創建如下圖 -

在此處輸入圖像描述

非常感謝你的幫助。

df <-結構(列表(Probe_ID1 = c(“1377847_at”、“1377847_at”、“1374391_at”、“1377847_at”、“1374391_at”、“1371293_at”、“1370349_a_at”、“1375043_at”、“1377847_at”、“1377847_at”、 ,“1371293_at”,“1367896_at”,“1370349_a_at”,“1367555_at”,“1377847_at”,“1374391_at”,“1371293_at”,“1367896_at”,“1371400_at”,“13717847_at”743),探頭“ 1371293_AT”,“ 1371293_AT”,“ 1367896_AT”,“ 1367896_AT”,“ 1367896_AT”,“ 1367896_AT”,“ 1367555_AT”,“ 1373759_AT”,“ 1373759_AT”,“ 1373759_AT”,“ 1371400_AT”,“ 1371400_AT__AT”,“ ", "1370150_a_at", "1370150_a_at", "1370150_a_at", "1370150_a_at", "1370150_a_at", "1387033_at"), Pearson_correlation = c(0.848285270961176, 0.811387513485743, 0.984665285551617, 0.810053803921012, 0.87996593265479, 0.831296522615296, 0.97896759238534, 0.865015908452676, 0.95200088118552, 0.897979364923317 ,0.862952264288276,0.87155181804796571,0.982470139843159,0.983310257804976,0.94444440655562906290634,0.8859666666357357357355555555252555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555飛機和 94455764, 0.890033683765388)), class = "data.frame", row.names = c(NA, -20L))

使用 RCy3,您可以通過幾種不同的方式來做到這一點。

  1. 鑒於您的 igraph object 'g',您可以簡單地運行

    RCy3::createNetworkFromIgraph(g)

    只要你有一個 Cytoscape 的本地實例正在運行,這個 function 就會打開一個與你的網絡交互的 session。 然后,您可以使用 RCy3 中的 100 多個函數來更改布局或樣式的任何方面。

  2. 給定您原來的 dataframe, 'df',您可以指定源和目標列(即使對於無向網絡)並通過以下方式加載網絡

    colnames(df)[1:2] <- c("source", "target") RCy3::createNetworkFromDataFrames(edges=df)

    Cytoscape 中的 output 應該是相同的。 您可以繼續進行網絡分析和可視化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM