Construct gene coexpression network
1
0
Entering edit mode
6.6 years ago

How can I construct a gene co-expression network in R from the expression value I have in Excel sheet?

Please tell me what packages are the helpful or share any tutorial for the construction of the co-expression network in R.

Thank you

R gene • 4.9k views
ADD COMMENT
1
Entering edit mode

Please show some effort of trying. Post input data, and expected output? At the least post some links to published papers. As it stands this post is too broad and unclear.

ADD REPLY
3
Entering edit mode
6.6 years ago
zizigolu ★ 4.3k

Reading your normalized gene expression data in r which has been saved as .txt and genes are in rows and samples are in columns

    mycounts <- read.table("data.txt", header = T, sep = "\t",row.names = 1)
    # watching the head of uploaded file
    head(mycounts[,1:4])
    # watching the dimension of matrix
    dim(mycounts)

Using this R package for instance, you must put your working directory in where gene3.R and your expression files are. You must also install these packages in R that all help you to illustrate your network in Cytoscape. Download geneie3.R source from this link clicking on R/randomForest part

library(GENIE3)
        library(igraph)
        library(RCy3)
        library(Rgraphviz)
        weight.matrix <- GENIE3(mycounts)
        link.list <- linkList(weight.matrix, report.max=1000)
        edge_listsi <- link.list[!duplicated(link.list),]

        Gsi <- graph.data.frame(edge_listsi,directed = F)

        Asi <- get.adjacency(Gsi,sparse = F,attr = "weight",type = "both")

        g_arasi <- graph.adjacency(Asi,mode = "undirected",weighted = T)

        g.cyto <- igraph.to.graphNEL(g_arasi)

        cw = createNetworkFromGraph("net", graph=g.cyto)

        displayGraph (cw)
ADD COMMENT
0
Entering edit mode

Hi F I used your commands for my data but after "weight.matrix <- GENIE3(mycounts)" I got error:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘GENIE3’ for signature ‘"data.frame"

my data are log2 of FPKM and I have -INF in some rows, could you help? Thanks

ADD REPLY
0
Entering edit mode

Sorry, Perhaps you should add up 1 to your data before taking log2 to avoid INF. Hereafter, you please read your find as matrix

as.matrix(read.table("data.txt", header = T, sep = "\t",row.names = 1))

Genes are in rows and columns are your samples

ADD REPLY
0
Entering edit mode

yes, genes are in rows and samples are in columns. you think is it wise to replace -inf with 0?

Mamnun :)

ADD REPLY
0
Entering edit mode

Sorry no idea but you can try that and compare your resulted network with when you are taking log2 after adding up 1

:)

ADD REPLY
0
Entering edit mode

I have about 40K genes and 12 samples, should remove low expressed ones?

ADD REPLY
1
Entering edit mode

Of course because all of these genes are not informative even Cytoscape would get in trouble for loading such a big interactiobs. have you done any differential expression to reduce your genes ?

ADD REPLY
0
Entering edit mode

yes, I have the DE genes, but I think we should not include just DE genes and we need to filter the low expressed ones just according the normalized expression.right?

ADD REPLY
0
Entering edit mode

If you have raw read counts, before normalization the first step would be removing some genes with totally 0 read counts or another threshold. I guess I am not sure

ADD REPLY

Login before adding your answer.

Traffic: 2301 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6