What exactly is the difference between protein-protein interaction (PPI) networks and gene co-expression networks? Based on my rudimentary understanding, PPIs are constructed from gene co-expression networks, and so represent processed data. But could someone elaborate more on the differences?
Based on my rudimentary understanding, PPIs are constructed from gene co-expression networks
Not really, no. PPI stands for protein-protein interaction. In PPI networks, each node is a protein and each edge (line) connecting it to another node represents an interaction. A very common example is that an edge represents a physical interaction between these two proteins. This means that there have been experiments to indicate that these two proteins come into contact in the cell and interact.
For example, they might form part of a protein complex, so their interaction was seen using chromatin immunoprecipitation, where the two proteins were captured together. Or, they may have been seen together using FRET, a technique that lets you detect when two molecules are in very close proximity.
Alternatively, some interactions can be theoretical, where in silico modelling has suggested that these two proteins can interact, even though we don't have any direct evidence that they do so.
Finally, yes, it is also possible to make a PPI network based on gene co-expression data, under the assumption that if two genes are co-expressed, then their protein products will be present in the same tissue. However, that doesn't mean they interact in any way, so it isn't really a very common way of building PPI networks, as far as I know.
In co-expression networks, on the other hand, each node is a gene and not its protein product. And here, the edges indicate the coexpression. Often the level of correlation between the two genes' expression data.
The most important difference between these two kinds of network, apart from the obvious mentioned above, is that they are used in different ways. A gene coexpression network lets you identify genes that are regulated in similar ways. It is a tool you can use to investigate the regulatory network of the cell, to see what genes are "turned on" or "off" together.
The PPI network, on the other hand, is a way of understanding the result of this gene co-regulation. You are not looking at how the gene network is regulated any more, but how the products of the genes interact with one another. So it is a very different focus.
You can maybe think of this in terms of school children and their parents. You could make a network where each node represents a pair of parents, and then draw lines between them if their children were born in the same year. That would give you a general overview of when this group of people procreated. However, that two children were born on the same day doesn't necessarily imply that the children themselves will ever come into contact. This could be the equivalent of the gene co-expression network.
Then, make another network where each node is a child and draw a line between any children who know each other. This would be the equivalent of the PPI network. You would likely find some correlations between the two, with children who know each other being more likely to have been born at around the same time, but the two networks give you very different information.
Co-expression networks are based on gene expression data. Genes are compared using their expression profiles over multiple samples. A common distance measurement is the Pearson Correlation Coefficient, assuming that co-expressed genes (genes expressed simultaneously in similar conditions) will have a high correlation coefficient.
In its simple form, a co-expression network is done like this. An expression matrix containing n genes x p samples is used in input (from microarrays or RNA-seq) to calculate a distance matrix of size n x n. Then the distance matrix is thresholded to keep only the most significant relationship (eg correlation >0.8). Gene pairs are connected if their correlation coefficient is above this threshold. Then all connections are visualized in a network, which can then be subjected to community detection algorithms to find more densely connected set of genes.
PPI are usually built on in vitro assays such as Yeast-2-Hybrid. But connections can also be inferred from literature data and expression data. You may have a look at the StringDB for example to see which kind of data can be used to connect proteins.