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...
Guardado en:
Autores principales: | , , , , , , , , , , , , , , , , , , , , , , , , , |
---|---|
Formato: | article |
Lenguaje: | EN |
Publicado: |
Public Library of Science (PLoS)
2020
|
Materias: | |
Acceso en línea: | https://doaj.org/article/39b3fd5bfd834abfb5347fc6af6789bc |
Etiquetas: |
Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
|
id |
oai:doaj.org-article:39b3fd5bfd834abfb5347fc6af6789bc |
---|---|
record_format |
dspace |
spelling |
oai:doaj.org-article:39b3fd5bfd834abfb5347fc6af6789bc2021-12-02T19:58:10ZBetter together: Elements of successful scientific software development in a distributed collaborative community.1553-734X1553-735810.1371/journal.pcbi.1007507https://doaj.org/article/39b3fd5bfd834abfb5347fc6af6789bc2020-05-01T00:00:00Zhttps://doi.org/10.1371/journal.pcbi.1007507https://doaj.org/toc/1553-734Xhttps://doaj.org/toc/1553-7358Many 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.Julia Koehler LemanBrian D WeitznerP Douglas RenfrewSteven M LewisRocco MorettiAndrew M WatkinsVikram Khipple MulliganSergey LyskovJared Adolf-BryfogleJason W LabonteJustyna KrysRosettaCommons ConsortiumChristopher BystroffWilliam SchiefDominik GrontOra Schueler-FurmanDavid BakerPhilip BradleyRoland DunbrackTanja KortemmeAndrew Leaver-FayCharlie E M StraussJens MeilerBrian KuhlmanJeffrey J GrayRichard BonneauPublic Library of Science (PLoS)articleBiology (General)QH301-705.5ENPLoS Computational Biology, Vol 16, Iss 5, p e1007507 (2020) |
institution |
DOAJ |
collection |
DOAJ |
language |
EN |
topic |
Biology (General) QH301-705.5 |
spellingShingle |
Biology (General) QH301-705.5 Julia Koehler Leman Brian D Weitzner P Douglas Renfrew Steven M Lewis Rocco Moretti Andrew M Watkins Vikram Khipple Mulligan Sergey Lyskov Jared Adolf-Bryfogle Jason W Labonte Justyna Krys RosettaCommons Consortium Christopher Bystroff William Schief Dominik Gront Ora Schueler-Furman David Baker Philip Bradley Roland Dunbrack Tanja Kortemme Andrew Leaver-Fay Charlie E M Strauss Jens Meiler Brian Kuhlman Jeffrey J Gray Richard Bonneau Better together: Elements of successful scientific software development in a distributed collaborative community. |
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 |
article |
author |
Julia Koehler Leman Brian D Weitzner P Douglas Renfrew Steven M Lewis Rocco Moretti Andrew M Watkins Vikram Khipple Mulligan Sergey Lyskov Jared Adolf-Bryfogle Jason W Labonte Justyna Krys RosettaCommons Consortium Christopher Bystroff William Schief Dominik Gront Ora Schueler-Furman David Baker Philip Bradley Roland Dunbrack Tanja Kortemme Andrew Leaver-Fay Charlie E M Strauss Jens Meiler Brian Kuhlman Jeffrey J Gray Richard Bonneau |
author_facet |
Julia Koehler Leman Brian D Weitzner P Douglas Renfrew Steven M Lewis Rocco Moretti Andrew M Watkins Vikram Khipple Mulligan Sergey Lyskov Jared Adolf-Bryfogle Jason W Labonte Justyna Krys RosettaCommons Consortium Christopher Bystroff William Schief Dominik Gront Ora Schueler-Furman David Baker Philip Bradley Roland Dunbrack Tanja Kortemme Andrew Leaver-Fay Charlie E M Strauss Jens Meiler Brian Kuhlman Jeffrey J Gray Richard Bonneau |
author_sort |
Julia Koehler Leman |
title |
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_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_sort |
better together: elements of successful scientific software development in a distributed collaborative community. |
publisher |
Public Library of Science (PLoS) |
publishDate |
2020 |
url |
https://doaj.org/article/39b3fd5bfd834abfb5347fc6af6789bc |
work_keys_str_mv |
AT juliakoehlerleman bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT briandweitzner bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT pdouglasrenfrew bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT stevenmlewis bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT roccomoretti bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT andrewmwatkins bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT vikramkhipplemulligan bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT sergeylyskov bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT jaredadolfbryfogle bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT jasonwlabonte bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT justynakrys bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT rosettacommonsconsortium bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT christopherbystroff bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT williamschief bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT dominikgront bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT oraschuelerfurman bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT davidbaker bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT philipbradley bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT rolanddunbrack bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT tanjakortemme bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT andrewleaverfay bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT charlieemstrauss bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT jensmeiler bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT briankuhlman bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT jeffreyjgray bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity AT richardbonneau bettertogetherelementsofsuccessfulscientificsoftwaredevelopmentinadistributedcollaborativecommunity |
_version_ |
1718375770231930880 |