Cargando…
Better together: Elements of successful scientific software development in a distributed collaborative community
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 un...
Autores principales: | , , , , , , , , , , , , , , , , , , , , , , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Public Library of Science
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7197760/ https://www.ncbi.nlm.nih.gov/pubmed/32365137 http://dx.doi.org/10.1371/journal.pcbi.1007507 |
_version_ | 1783528877182681088 |
---|---|
author | Koehler Leman, Julia Weitzner, Brian D. Renfrew, P. Douglas Lewis, Steven M. Moretti, Rocco Watkins, Andrew M. Mulligan, Vikram Khipple Lyskov, Sergey Adolf-Bryfogle, Jared Labonte, Jason W. Krys, Justyna Bystroff, Christopher Schief, William Gront, Dominik Schueler-Furman, Ora Baker, David Bradley, Philip Dunbrack, Roland Kortemme, Tanja Leaver-Fay, Andrew Strauss, Charlie E. M. Meiler, Jens Kuhlman, Brian Gray, Jeffrey J. Bonneau, Richard |
author_facet | Koehler Leman, Julia Weitzner, Brian D. Renfrew, P. Douglas Lewis, Steven M. Moretti, Rocco Watkins, Andrew M. Mulligan, Vikram Khipple Lyskov, Sergey Adolf-Bryfogle, Jared Labonte, Jason W. Krys, Justyna Bystroff, Christopher Schief, William Gront, Dominik Schueler-Furman, Ora Baker, David Bradley, Philip Dunbrack, Roland Kortemme, Tanja Leaver-Fay, Andrew Strauss, Charlie E. M. Meiler, Jens Kuhlman, Brian Gray, Jeffrey J. Bonneau, Richard |
author_sort | Koehler Leman, Julia |
collection | PubMed |
description | 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 RosettaCommons, 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. |
format | Online Article Text |
id | pubmed-7197760 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
publisher | Public Library of Science |
record_format | MEDLINE/PubMed |
spelling | pubmed-71977602020-05-12 Better together: Elements of successful scientific software development in a distributed collaborative community Koehler Leman, Julia Weitzner, Brian D. Renfrew, P. Douglas Lewis, Steven M. Moretti, Rocco Watkins, Andrew M. Mulligan, Vikram Khipple Lyskov, Sergey Adolf-Bryfogle, Jared Labonte, Jason W. Krys, Justyna Bystroff, Christopher Schief, William Gront, Dominik Schueler-Furman, Ora Baker, David Bradley, Philip Dunbrack, Roland Kortemme, Tanja Leaver-Fay, Andrew Strauss, Charlie E. M. Meiler, Jens Kuhlman, Brian Gray, Jeffrey J. Bonneau, Richard PLoS Comput Biol Review 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 RosettaCommons, 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. Public Library of Science 2020-05-04 /pmc/articles/PMC7197760/ /pubmed/32365137 http://dx.doi.org/10.1371/journal.pcbi.1007507 Text en https://creativecommons.org/publicdomain/zero/1.0/ This is an open access article, free of all copyright, and may be freely reproduced, distributed, transmitted, modified, built upon, or otherwise used by anyone for any lawful purpose. The work is made available under the Creative Commons CC0 (https://creativecommons.org/publicdomain/zero/1.0/) public domain dedication. |
spellingShingle | Review Koehler Leman, Julia Weitzner, Brian D. Renfrew, P. Douglas Lewis, Steven M. Moretti, Rocco Watkins, Andrew M. Mulligan, Vikram Khipple Lyskov, Sergey Adolf-Bryfogle, Jared Labonte, Jason W. Krys, Justyna Bystroff, Christopher Schief, William Gront, Dominik Schueler-Furman, Ora Baker, David Bradley, Philip Dunbrack, Roland Kortemme, Tanja Leaver-Fay, Andrew Strauss, Charlie E. M. Meiler, Jens Kuhlman, Brian Gray, Jeffrey J. Bonneau, Richard Better together: Elements of successful scientific software development in a distributed collaborative community |
title | Better together: Elements of successful scientific software development in a distributed collaborative community |
title_full | Better together: Elements of successful scientific software development in a distributed collaborative community |
title_fullStr | Better together: Elements of successful scientific software development in a distributed collaborative community |
title_full_unstemmed | Better together: Elements of successful scientific software development in a distributed collaborative community |
title_short | Better together: Elements of successful scientific software development in a distributed collaborative community |
title_sort | better together: elements of successful scientific software development in a distributed collaborative community |
topic | Review |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7197760/ https://www.ncbi.nlm.nih.gov/pubmed/32365137 http://dx.doi.org/10.1371/journal.pcbi.1007507 |
work_keys_str_mv | AT koehlerlemanjulia bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT weitznerbriand bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT renfrewpdouglas bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT lewisstevenm bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT morettirocco bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT watkinsandrewm bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT mulliganvikramkhipple bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT lyskovsergey bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT adolfbryfoglejared bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT labontejasonw bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT krysjustyna bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT bystroffchristopher bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT schiefwilliam bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT grontdominik bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT schuelerfurmanora bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT bakerdavid bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT bradleyphilip bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT dunbrackroland bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT kortemmetanja bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT leaverfayandrew bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT strausscharlieem bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT meilerjens bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT kuhlmanbrian bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT grayjeffreyj bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT bonneaurichard bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity |