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

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