I am working with an in silico model to measure the distances between drugs targets and disease proteins of a disease. I would want to compare these distances with the distances of random networks but I don't know which is the best way to do the comparison. For instance, if I have 300 drug targets and 500 disease proteins mapped in the interactome and I want to measure the distance between them and then compare to random networks with the same features.

How do I generate these random networks? Choosing the same number of drug targets (300) and disease genes (500) randomly in my referral network? Choosing the same number of nodes (300 and 500) and the same number of links?

I'd appreciate your help!

  • $\begingroup$ Why not gain these parameters from the distribution of real PPI networks? Say, ebi.ac.uk/intact. $\endgroup$ Commented Jan 25, 2020 at 19:26
  • $\begingroup$ I have calculated these parameters from the real PPi but I want to compare with the random expectation to see if my datasets are significantly close between them... $\endgroup$ Commented Jan 27, 2020 at 12:25
  • $\begingroup$ A worry here I reckon is the distribution. I mean the model that you choose, say equiprobable vs. some form of power law. In the most simplest system, a mix of ideal gases the collision frequencies will depend on the concentrations, so will be equiprobable only if the concentrations are equal. In reality, protein have different concentrations and interactions strengths. The distribution of these will strongly depend on the dataset —I don't suggest a good model that accounts for size etc. but just a fit to a gamma distribution. $\endgroup$ Commented Jan 27, 2020 at 14:27
  • $\begingroup$ Matteo Ferla, thanks for the comment but we don't have information about the strengths of the interactions and protein concentration. We only have an undirected and unweighted network with two different groups of proteins and I'm new in this topic so I don't understand what you said about fitting to a gamma distribution. :( I have seen that in most cases they compare their networks with random networks with the same number of nodes and/or links randomly choosen. $\endgroup$ Commented Jan 28, 2020 at 9:37

1 Answer 1


If your goal is only to account for degree distribution (i.e. Matteo Ferla's comment), a simulation approach you could use is:

  1. measure the degree (number of links) of each protein in your PPI
  2. find a large set of proteins that are equal or similar in degree to each of your proteins of interest (you may have to use a range of degrees to get a large enough set for comparison, ideally >=1000). We'll call these "comparable proteins" for each of your proteins of interest.
  3. For each protein of interest, make all of your measurements also for its set of comparable proteins
  4. Compare your measurement (shortest distance?) for the protein of interest to that for its comparable proteins. You could compute Z-scores from the parameters of the comparable protein distribution, or just empirical Monte Carlo p-values from where it falls in the distribution.

This will give you at least a heuristic null distribution for each protein. It should be relatively easy to code up in whatever your favorite language is.

Hope that helps-


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.