| Literature DB >> 22068329 |
Saket Navlakha1, Ziv Bar-Joseph.
Abstract
Computer science and biology have enjoyed a long and fruitful relationship for decades. Biologists rely on computational methods to analyze and integrate large data sets, while several computational methods were inspired by the high-level design principles of biological systems. Recently, these two directions have been converging. In this review, we argue that thinking computationally about biological processes may lead to more accurate models, which in turn can be used to improve the design of algorithms. We discuss the similar mechanisms and requirements shared by computational and biological processes and then present several recent studies that apply this joint analysis strategy to problems related to coordination, network analysis, and tracking and vision. We also discuss additional biological processes that can be studied in a similar manner and link them to potential computational problems. With the rapid accumulation of data detailing the inner workings of biological systems, we expect this direction of coupling biological and computational studies to greatly expand in the future.Entities:
Mesh:
Year: 2011 PMID: 22068329 PMCID: PMC3261700 DOI: 10.1038/msb.2011.78
Source DB: PubMed Journal: Mol Syst Biol ISSN: 1744-4292 Impact factor: 11.429
Examples of biological systems that have inspired computational algorithms
| Biology | Computer science | References |
|---|---|---|
| Most of these examples were based on a high-level understanding of the system and therefore usually did not directly lead to new biological insights. | ||
| Neural networks | Machine learning | |
| Sequence evolution | Genetic algorithms | |
| Sequence evolution | DNA computing | |
| Ant colonies, swarms | Search optimization | |
| Social insects, flocks | Network design | |
| Immune system | Modeling and optimization | |
| Visual system | Dimensionality reduction | |
Figure 1Traditional studies versus computational thinking. (A) Traditionally, biologists leveraged computing power to analyze and process data (e.g., hierarchically clustering gene expression microarrays to predict protein function), and computer scientists used high-level design principles of biological systems to motivate new computational algorithms (e.g., neural networks). Rarely these two directions were coupled and mutually beneficial. (B) By thinking computationally about how biological systems process information (Nurse, 2008; Hogeweg, 2011), we can develop improved models and algorithms and provide a more coherent explanation of how and why the system operates as it does.
Figure 2Parallels between computational and biological systems. (A) Biological and computational systems often coordinate and maintain functionality without relying on a central controller. (B) Networks are often the medium through which processes spread, either on the Web or in the cell. (C) Modularity is a common design principle in programming languages and also serves as the basis for increasing complexity and flexibility in evolving systems. (D) Stochastic processes in computational and biological settings help to remain robust in constrained, noisy environments.
Examples of new synergistic relationship between biology and computer science
| Area | Biological system | Computational problem | References | Model | Algorithm |
|---|---|---|---|---|---|
| The biological systems are divided into three areas: coordination, networks, and tracking and vision. For each system, we show the analogous computational problem and whether a model or algorithm was derived by previous works. Rows beginning with a star denote potential future work. | |||||
| Coordination | Fly SOP selection | Maximal independent set | ✓ | ✓ | |
| Fireflies flashing | Synchronization | ✓ | ✓ | ||
| *Octopus neural control | Hierarchical computing | × | × | ||
| *Fish shoals/honeybees | Ensemble methods | ✓ | × | ||
| *Quorum sensing | Consensus | ( | ✓ | × | |
| *DNA replication | Resource allocation | × | × | ||
| *Mate selection | Graph matching | — | × | × | |
| Networks | Slime mold tunneling | Network design | ✓ | ✓ | |
| Gene regulation | Fault tolerance | ✓ | ✓ | ||
| *Protein localization | Routing | × | × | ||
| *Brain networks | Network design | × | × | ||
| *Cell signaling | Clustering | ✓ | ✓ | ||
| Tracking and Vision | Visual cortex | Object recognition | ✓ | ✓ | |
| Echolocation in bats | Localization | ✓ | ✓ | ||
| *Visual cortex | One-shot machine learning | × | × | ||
Figure 3Examples of biological systems and their analog computational problems. Bidirectional studies have led to insights into how biological systems operate, while at the same time advancing computational methods. These studies have explored coordination issues (A), network design principles (B), and vision problems (C). See text for complete details.
The five primary studies highlighted in this review (rows) each annotated with the principles it shares with computational systems (columns)
| Distributed | Robust | Networks | Modular | Stochastic | Adaptive | |
|---|---|---|---|---|---|---|
| Most biological systems operate distributedly and seek a design that is robust and adaptive to changing environments. Networks often serve as a basis for carrying forth interactions and propagating information. These similarities provide a deep basis for the shared analysis of biological processes and computational algorithms. | ||||||
| Fly SOP selection | ✓ | ✓ | ✓ | ✓ | ✓ | × |
| Slime mold tunneling | ✓ | ✓ | ✓ | × | ✓ | ✓ |
| Gene regulation | ✓ | ✓ | ✓ | ✓ | × | ✓ |
| Bat localization | × | ✓ | × | × | × | ✓ |
| Brain processing | ✓ | ✓ | ✓ | ✓ | × | ✓ |