The roles of code in biology

Sci Prog. 2021 Apr-Jun;104(2):368504211010570. doi: 10.1177/00368504211010570.

Abstract

The way in which computer code is perceived and used in biological research has been a source of some controversy and confusion, and has resulted in sub-optimal outcomes related to reproducibility, scalability and productivity. We suggest that the confusion is due in part to a misunderstanding of the function of code when applied to the life sciences. Code has many roles, and in this paper we present a three-dimensional taxonomy to classify those roles and map them specifically to the life sciences. We identify a "sweet spot" in the taxonomy-a convergence where bioinformaticians should concentrate their efforts in order to derive the most value from the time they spend using code. We suggest the use of the "inverse Conway maneuver" to shape a research team so as to allow dedicated software engineers to interface with researchers working in this "sweet spot." We conclude that in order to address current issues in the use of software in life science research such as reproducibility and scalability, the field must reevaluate its relationship with software engineering, and adapt its research structures to overcome current issues in bioinformatics such as reproducibility, scalability and productivity.

Keywords: Bioinformatics; reproducibility; scalability; software engineering.

Publication types

  • Research Support, Non-U.S. Gov't

MeSH terms

  • Biological Science Disciplines*
  • Computational Biology / methods
  • Reproducibility of Results
  • Software*