Programming with models: modularity and abstraction provide powerful capabilities for systems biology

   page       BibTeX_logo.png   
Aneil Mallavarapu, Matthew Thomson, Benjamin Ullian, Jeremy Gunawardena
Journal of the Royal Society Interface

Mathematical models are increasingly used to understand how phenotypes emerge from systems of molecular interactions. However, their current construction as monolithic sets of equations presents a fundamental barrier to progress. Overcoming this requires modularity, enabling sub-systems to be specified independently and combined incrementally, and abstraction, enabling generic properties of biological processes to be specified independently of specific instances. These, in turn, require models to be represented as programs rather than as datatypes. Programmable modularity and abstraction enables libraries of modules to be created, which can be instantiated and reused repeatedly in different contexts with different components. We have developed a computational infrastructure that accomplishes this. We show here why such capabilities are needed, what is required to implement them and what can be accomplished with them that could not be done previously.

keywordsbioinformatics, biology, lisp, programming, systems