0

私はRに非常に慣れていません。遺伝子ネットワークを構築する必要があります。遺伝子とそれに対応するモチーフのリストがあります。私の遺伝子が私の頂点になり、モチーフが私の縁になることを私は知っています。最初にデータフレームを作成する必要があることはわかっています。では、以下からプロットできるデータ フレームを作成するにはどうすればよいでしょうか。

>GENE1

hsa-miR-24-1-5p    
hsa-miR-24-2-5p    

>GENE2

hsa-miR-124-5p
hsa-miR-223-5p
hsa-miR-203a
hsa-miR-219-1-3p   

>GENE 3

hsa-miR-124-5p
hsa-miR-203a   

>GENE 4

hsa-miR-203a
hsa-miR-221-3p
hsa-miR-222-3p
hsa-miR-24-1-5p
hsa-miR-24-2-5p   

>GENE 5

hsa-miR-192-3p   

>GENE 6

hsa-miR-223-5p
hsa-miR-124-5p   

>GENE 7

hsa-miR-221-3p
hsa-miR-222-3p
hsa-miR-219-1-3p   
4

1 に答える 1

1

近づいていますが、データが少し変に見えます。解釈可能な形式で igraph にデータを提供するには、さまざまな方法があります。どちらが好きかは自分で判断する必要があります。私は edgelist 形式を好むので、ここで紹介します。この形式では、すべてのエッジのソースと宛先を定義する必要があります。以下の例では、CSV の 3 番目の列を使用して属性データを igraph に提供していることがわかります。これにより、プロット関数を使用してエッジにラベルを付けることができます。

これはあなたが書くことができるものの例です:

library(RCurl)
library(igraph)

el <- read.csv(text = "Source,Target,name
               GENE1,GENE2,hsa-miR-24-1-5p
               GENE2,GENE3,hsa-miR-124-5p
               GENE2,GENE4,hsa-miR-223-5p")
nodes <- read.csv(text = "Node
                  GENE1
                  GENE2
                  GENE3
                  GENE4")

g <- graph.data.frame(el,directed=TRUE, vertices=nodes)
plot(g, edge.label=E(g)$name)

エッジリストにはいくつかの要件があります。最初の列はソース列として定義され、2 番目の列はターゲットとして定義されます。有向ネットワークでは、ソースからターゲットに矢印が描かれます。無向ネットワークでは、これは無関係です。

すべてのエッジには、ソースとターゲットの両方が必要です。これが満たされていることを確認するには、ネットワークをチェックする必要があります。

これは素晴らしいリソースです。例では組み込みのネットワークを使用しているため、生データを取得してネットワークに変換することはあまり役に立ちません。

于 2013-06-26T01:59:42.153 に答える