Comparing genomes to computer operating systems in terms of the topology and evolution of their regulatory control networks

Proc Natl Acad Sci U S A. 2010 May 18;107(20):9186-91. doi: 10.1073/pnas.0914771107. Epub 2010 May 3.

Abstract

The genome has often been called the operating system (OS) for a living organism. A computer OS is described by a regulatory control network termed the call graph, which is analogous to the transcriptional regulatory network in a cell. To apply our firsthand knowledge of the architecture of software systems to understand cellular design principles, we present a comparison between the transcriptional regulatory network of a well-studied bacterium (Escherichia coli) and the call graph of a canonical OS (Linux) in terms of topology and evolution. We show that both networks have a fundamentally hierarchical layout, but there is a key difference: The transcriptional regulatory network possesses a few global regulators at the top and many targets at the bottom; conversely, the call graph has many regulators controlling a small set of generic functions. This top-heavy organization leads to highly overlapping functional modules in the call graph, in contrast to the relatively independent modules in the regulatory network. We further develop a way to measure evolutionary rates comparably between the two networks and explain this difference in terms of network evolution. The process of biological evolution via random mutation and subsequent selection tightly constrains the evolution of regulatory network hubs. The call graph, however, exhibits rapid evolution of its highly connected generic components, made possible by designers' continual fine-tuning. These findings stem from the design principles of the two systems: robustness for biological systems and cost effectiveness (reuse) for software systems.

Publication types

  • Comparative Study

MeSH terms

  • Algorithms*
  • Escherichia coli
  • Evolution, Molecular*
  • Gene Regulatory Networks / genetics*
  • Genome, Bacterial / genetics*
  • Metaphor*
  • Software Design*