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...

Descripción completa

Detalles Bibliográficos
Autores principales: 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
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