Better together: Elements of successful scientific software development in a distributed collaborative community

被引:26
|
作者
Koehler Leman, Julia [1 ,2 ]
Weitzner, Brian D. [3 ,4 ,5 ,6 ]
Renfrew, P. Douglas [1 ]
Lewis, Steven M. [7 ,8 ,9 ]
Moretti, Rocco [10 ]
Watkins, Andrew M. [11 ]
Mulligan, Vikram Khipple [1 ,4 ,5 ]
Lyskov, Sergey [3 ]
Adolf-Bryfogle, Jared [12 ]
Labonte, Jason W. [3 ,13 ]
Krys, Justyna [14 ]
Bystroff, Christopher [15 ]
Schief, William [12 ]
Gront, Dominik [14 ]
Schueler-Furman, Ora [16 ]
Baker, David [4 ,5 ]
Bradley, Philip [17 ]
Dunbrack, Roland [18 ]
Kortemme, Tanja [19 ]
Leaver-Fay, Andrew [7 ]
Strauss, Charlie E. M. [20 ]
Meiler, Jens [21 ,22 ,23 ,24 ,25 ,26 ]
Kuhlman, Brian [7 ]
Gray, Jeffrey J. [3 ]
Bonneau, Richard [1 ,2 ,27 ,28 ]
机构
[1] Simons Fdn, Flatiron Inst, Ctr Computat Biol, New York, NY 10010 USA
[2] NYU, Dept Biol, New York, NY 10003 USA
[3] Johns Hopkins Univ, Dept Chem & Biomol Engn, Baltimore, MD 21218 USA
[4] Univ Washington, Dept Biochem, Seattle, WA 98195 USA
[5] Univ Washington, Inst Prot Design, Seattle, WA 98195 USA
[6] Lyell Immunopharma, Seattle, WA USA
[7] Univ N Carolina, Dept Biochem & Biophys, Chapel Hill, NC 27515 USA
[8] Duke Univ, Dept Biochem, Durham, NC USA
[9] Cyrus Biotechnol, Seattle, WA USA
[10] Vanderbilt Univ, Dept Chem, Nashville, TN USA
[11] Stanford Univ, Dept Biochem, Sch Med, Stanford, CA 94305 USA
[12] Scripps Res Inst, Dept Immunol & Microbiol, La Jolla, CA 92037 USA
[13] Franklin & Marshall Coll, Dept Chem, Lancaster, PA 17604 USA
[14] Univ Warsaw, Dept Chem, Warsaw, Poland
[15] Rensselaer Polytech Inst, Dept Biol Sci, Troy, NY USA
[16] Hebrew Univ Jerusalem, Ein Kerem Fac Med, IMRIC, Dept Microbiol & Mol Genet, Jerusalem, Israel
[17] Fred Hutchinson Canc Res Ctr, 1124 Columbia St, Seattle, WA 98104 USA
[18] Fox Chase Canc Ctr, Inst Canc Res, 7701 Burholme Ave, Philadelphia, PA 19111 USA
[19] Univ Calif San Francisco, Dept Bioengn & Therapeut Sci, San Francisco, CA 94143 USA
[20] Los Alamos Natl Lab, Biosci Div, Los Alamos, NM USA
[21] Vanderbilt Univ, Dept Chem, Nashville, TN USA
[22] Vanderbilt Univ, Dept Pharmacol, Nashville, TN USA
[23] Vanderbilt Univ, Dept Biomed Informat, 221 Kirkland Hall, Nashville, TN 37235 USA
[24] Vanderbilt Univ, Struct Biol Ctr, 221 Kirkland Hall, Nashville, TN 37235 USA
[25] Vanderbilt Univ, Inst Chem Biol, Nashville, TN USA
[26] Univ Leipzig, Inst Drug Discovery, Leipzig, Germany
[27] NYU, Dept Comp Sci, New York, NY USA
[28] NYU, Ctr Data Sci, New York, NY USA
基金
欧洲研究理事会; 美国国家卫生研究院; 以色列科学基金会; 美国国家科学基金会;
关键词
PROTEIN-STRUCTURE PREDICTION; ALL-ATOM REFINEMENT; REPRODUCIBILITY; ROSETTA3; DESIGN;
D O I
10.1371/journal.pcbi.1007507
中图分类号
Q5 [生物化学];
学科分类号
071010 ; 081704 ;
摘要
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.
引用
收藏
页数:20
相关论文
共 29 条
  • [1] BETTER TOGETHER: 20+YEARS OF SCIENTIFIC SOFTWARE DEVELOPMENT IN THE ROSETTA MACROMOLECULAR MODELING SUITE
    Leman, Julia Koehler
    Weitzner, Brian
    Renfrew, Douglas
    Bonneau, Richard
    [J]. PROTEIN SCIENCE, 2019, 28 : 69 - 69
  • [2] Collaborative Teaching of Globally Distributed Software Development: Community Building Workshop (CTGDSD 2011)
    Faulk, Stuart
    Young, Michal
    Weiss, David
    Yu, Lian
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 1208 - +
  • [3] Knowledge Management in Distributed Scientific Software Development
    Taweel, Adel
    Delaney, Brendan
    Zhao, Lei
    [J]. ICGSE 2009: FOURTH IEEE INTERNATIONAL CONFERENCE ON GLOBAL SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 299 - 300
  • [4] A reference model for successful distributed development of software systems
    Lings, Brian
    Lundell, Bjoern
    Agerfalk, Par J.
    Fitzgerald, Brian
    [J]. SECOND IEEE INTERNATIONAL CONFERENCE ON GLOBAL SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 130 - 139
  • [5] On preparing students for distributed software development with a synchronous, collaborative development platform
    North Carolina State University, Raleigh, NC, United States
    [J]. SIGCSE - Proc. ACM Tech. Symp. Comput. Sci. Educ., (529-533):
  • [6] Building a Community System to Teach Collaborative Software Development
    Villarrubia, Andrew
    Kim, Hyunju
    [J]. 10TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION (ICCSE 2015), 2015, : 829 - 833
  • [7] A requirement elicitation method in collaborative software development community
    Shimakage, M
    Hazeyama, A
    [J]. PRODUCT FOCUSED SOFTWARE PROCESS IMPROVEMENT, 2004, 3009 : 509 - 522
  • [8] CollabPL-Science: Using Collaborative Elements in a Scientific Software Product Line
    Pereira, Anrafel F.
    David, Jose Maria N.
    Braga, Regina
    Campos, Fernanda
    [J]. 2014 IEEE 10TH INTERNATIONAL CONFERENCE ON ESCIENCE WORKSHOPS (ESCIENCE 2014), VOL 2, 2014, : 49 - 54
  • [9] Distributed Software Development of a Cloud Solution for Collaborative Manufacturing Networks
    Bendas, Dan
    Saari, Leila
    de Juan Marin, Ruben
    Bernabe Gisbert, Josep
    Coutinho, Carlos
    Lopes, Luis
    [J]. 2017 INTERNATIONAL CONFERENCE ON ENGINEERING, TECHNOLOGY AND INNOVATION (ICE/ITMC), 2017, : 741 - 749
  • [10] Tracing distributed collaborative development in apache software foundation projects
    Gharehyazie, Mohammad
    Filkov, Vladimir
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (04) : 1795 - 1830