I am trying to find out how one can using gene expression data can infer gene regulatory network applying graph theory concepts. But I could not find a proper reference that

  1. explain how one can get the adjacency matrix for a gene regulatory network? like what are nodes what are the edges? which kinds of parameters one should infer?

  2. how one can use gene expression data for this modeling?

Any reference or help regarding these questions is highly appreciated if even it is going to be a keyword.

  • 1
    $\begingroup$ Hi @Raz, this does not seem like a specific question, and needs more information to be properly answered. Could you please add in information about the specific situation or problem that you are trying to solve? $\endgroup$
    – gringer
    Commented Jan 22, 2022 at 0:06

2 Answers 2


This is an incomplete answer since it's not my field of expertise, but it sounds like Weighted correlation network analysis is what you are referring to.

There is a paper which describes how it can be applied to gene expression data.

Langfelder, P., Horvath, S. WGCNA: an R package for weighted correlation network analysis. BMC Bioinformatics 9, 559 (2008). https://doi.org/10.1186/1471-2105-9-559


There are many different kinds of "gene regulatory networks", so how to model them with gene expression data depends on what you're trying to model and what type of regulatory mechanisms you want to study.

Pick a random gene in the human genome and use a resource database like StringDB. Let's take the TET1 protein for example. Some edges in that graph represent co-expression that you'd be able to find from protein expression data (e.g. NANOG, DNMT3B, and more are linked to TET1 this way). This type of graph tries to model how different proteins interact with each other inside a cell.

Alternatively, you can look at 3D chromatin interactions from Hi-C data, for example. Nodes in that graph could be regulatory elements like enhancers and promoters, and the edges could be how frequently these elements interact with each other. This type of graph tries to model how DNA elements interact with each other to control expression of nearby genes. This is a different purpose to the one above, so it needs to be modelled and interpreted differently.

Each of these are their own type of "gene regulatory network" which require their own methods for constructing adjacency matrices. For example, you could construct an adjacency matrix by looking at the correlation of expression for each pair of proteins (or transcripts, or genes) across a large set of samples. Or in the promoter-enhancer interaction case, a Hi-C contact matrix is itself a type of adjacency matrix.

Different graph models (and thus different adjacency matrices) will be useful for different purposes. So it might be worth trying to refine what you mean by a "gene regulatory network", what aspect of biology you're trying to study using this network, and how different types of gene expression data may be useful to construct these networks.

John Quackenbush's and Andrea Califano's labs have produced a lot of papers modelling different types of gene regulatory networks, like The Network Zoo and ARACNe. These mostly use gene expression data from RNA-seq measurements, but you can read up on some of these to get some ideas on how these types of models may work.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.