gene network analysis for 3 conduation
Entering edit mode
18 months ago
adR ▴ 100

I would like to compare the gene network that exists in 3 different conditions (A, B, and C). For each condition, I have RNAseq data of two tissues (liver and pancreas). Therefore, I want to do a gene correlation network for these two issues of conditions A, B, and C. Eventually I would like to compare the network of these three conditions. I really don't know how to do it, hopefully, I will get some useful insight here. I have simulated my data below

# Condition A
# liver
li.A <- matrix(rnorm(100), nrow = 20)
rownames(li.A) <- LETTERS[1:20]
colnames(li.A) <- paste0("S_", ncol = 1:5)
# pancreas
pa.A <- matrix(rnorm(100), nrow = 20)
rownames(pa.A) <- LETTERS[1:20]
colnames(pa.A) <- paste0("S_", ncol = 1:5)

# Condition B
# liver
li.B <- matrix(rnorm(100), nrow = 20)
rownames(li.B) <- LETTERS[1:20]
colnames(li.B) <- paste0("S_", ncol = 1:5)
# pancreas
pa.B <- matrix(rnorm(100), nrow = 20)
rownames(pa.B) <- LETTERS[1:20]
colnames(pa.B) <- paste0("S_", ncol = 1:5)

# Condition C
# liver
li.C <- matrix(rnorm(100), nrow = 20)
rownames(li.C) <- LETTERS[1:20]
colnames(li.C) <- paste0("S_", ncol = 1:5)
# pancreas
pa.C <- matrix(rnorm(100), nrow = 20)
rownames(pa.C) <- LETTERS[1:20]
colnames(pa.C) <- paste0("S_", ncol = 1:5)
gene network • 480 views
Entering edit mode

It depends on what you mean by compare. If doing some exploratory analysis, you can try a simultaneous clustering of your networks using tensor factorization as outlined in this tutorial.

Entering edit mode

@Jean-Karim Heriche, Thank you so much for your quick answer. I will see the link you showed above. However, to make it clear, both tissues are from the same subjects of different conditions. So what I am studying is, how it looks like the interaction between liver and pancreas under those 3 different conditions? I am just a biologist spending much time in the laboratory, have no much clue on the bioinformatics thing. If my question is clear, I wish you could expand a bit more on the tutorial! I am using R for the analysis! Thank you so much!

Entering edit mode

What you get from this are two matrices, one can be interpreted as gene cluster membership and the other as tissue cluster activity. By looking at which cluster is most active in which tissue and which genes are in this cluster, you can get an idea of which genes are linked to a particular tissue. The motivation for doing it like this is that the clusters are the same with the same meaning across all tissues and genes whereas if you process tissues separately, you have no correspondence between the gene clusters in different tissues.

Entering edit mode

Hi Jeah, I have applied what you suggest in the link above. Here is the code in case you want to see it. I have 3 cross-correlation matrix crated as follow.

la <- cor(t(li.A ), t(pa.A))
write.csv(la, "lc.csv")
lb <- cor(t(li.B, t(pa.B))
write.csv(lb, "lb.csv")
lc <- cor(t(li.C ), t(pa.C)
write.csv(lc, "lc.csv")
dataDir <- getwd()

fileList <- dir(path=dataDir,pattern = ".csv") # get the matrices
A <- array(as.numeric(NA),dim=c(20,20,3)) # There are 3 matrices of size 20 x 20
for (i in 1:length(fileList)){
  A[,,i] <- as.matrix(read.delim(file.path(dataDir,fileList[i]), sep = ',', header=TRUE, row.names=1))
G <- as.tensor(A)
cpG <- cp(G,num_components = 4)

I would appreciate it if you could help me with the interpretation? which matrix is the gene cluster activity and which cluster is the tissue activity? What these negative and positive values are indicating? Should I do clustering for these two matrixes? Thank you!


Login before adding your answer.

Traffic: 877 users visited in the last hour
Help About
Access RSS

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

Powered by the version 2.3.6