TY - JOUR
T1 - Better together
T2 - Elements of successful scientific software development in a distributed collaborative community
AU - RosettaCommons Consortium
AU - Leman, Julia Koehler
AU - Weitzner, Brian D.
AU - Renfrew, P. Douglas
AU - Lewis, Steven M.
AU - Moretti, Rocco
AU - Watkins, Andrew M.
AU - Mulligan, Vikram Khipple
AU - Lyskov, Sergey
AU - Adolf-Bryfogle, Jared
AU - Labonte, Jason W.
AU - Krys, Justyna
AU - Bystroff, Christopher
AU - Schief, William
AU - Gront, Dominik
AU - Schueler-Furman, Ora
AU - Baker, David
AU - Bradley, Philip
AU - Dunbrack, Roland
AU - Kortemme, Tanja
AU - Leaver-Fay, Andrew
AU - Strauss, Charlie E.M.
AU - Meiler, Jens
AU - Kuhlman, Brian
AU - Gray, Jeffrey J.
AU - Bonneau, Richard
N1 - Funding Information:
The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. The U.S. National Institutes of Health software infrastructure grant R01-GM078221 supported refactoring, testing, documentation, and scientist training. We are also grateful for financial support from the Alfred P. Sloan Foundation, the Beckman Foundation, the European Research Council (Grant 310873), the Howard Hughes Medical Institute, the Israel Science Foundation (grant 2017717), the National Science Center in Poland (grant 2018/29/B/ST6/ 01989), the RosettaCommons, Los Alamos National Lab (grant LANL LDRD 20160044DR), the Packard Foundation, the Simons Foundation, USA Israel Binational Science Foundation (grants 2009418, 2015207), the U.S. National Institutes of Health (F32-CA189246; P01-U19AI117905, R01- AI113867, R01-DK097376, R01-GM073151, R01- GM080403, R01-GM084453, R01-GM088277, R01-GM092802, R01-GM098101, R01- GM099827, R01-GM099842, R01-GM110089, R01-GM117189, R01-GM117968, R01- GM121487, R01-GM127578, R01-HL122010, R21-AI121799, R21-CA219847, R35-GM122517, RL1-CA133832, RL1-GM084433, T32-AI007244, T32-GM008403, U19-AI117905, UM1-Al100663), the U.S. National Science Foundation (CHE 1305874, CISE 1629811, DBI-1262182, DMR 1507736), and the Washington Research Foundation.
Publisher Copyright:
© 2020 Public Library of Science. All rights reserved.
PY - 2020/5/1
Y1 - 2020/5/1
N2 - Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the Rosetta- Commons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities.
AB - Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the Rosetta- Commons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities.
UR - http://www.scopus.com/inward/record.url?scp=85084276754&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85084276754&partnerID=8YFLogxK
U2 - 10.1371/journal.pcbi.1007507
DO - 10.1371/journal.pcbi.1007507
M3 - Review article
C2 - 32365137
AN - SCOPUS:85084276754
VL - 16
JO - PLoS Computational Biology
JF - PLoS Computational Biology
SN - 1553-734X
IS - 5
M1 - e1007507
ER -