building a local community of practice in scientific ...community page building a local community of...
TRANSCRIPT
UvA-DARE is a service provided by the library of the University of Amsterdam (http://dare.uva.nl)
UvA-DARE (Digital Academic Repository)
Building a local community of practice in scientific programming for life scientists
Stevens, S.L.R.; Kuzak, M.; Martinez, C.; Moser, A.; Bleeker, P.; Galland, M.
Published in:PLoS Biology
DOI:10.1371/journal.pbio.2005561
Link to publication
Creative Commons License (see https://creativecommons.org/use-remix/cc-licenses):CC BY
Citation for published version (APA):Stevens, S. L. R., Kuzak, M., Martinez, C., Moser, A., Bleeker, P., & Galland, M. (2018). Building a localcommunity of practice in scientific programming for life scientists. PLoS Biology, 16(11), [e2005561].https://doi.org/10.1371/journal.pbio.2005561
General rightsIt is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s),other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons).
Disclaimer/Complaints regulationsIf you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, statingyour reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Askthe Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam,The Netherlands. You will be contacted as soon as possible.
Download date: 17 May 2020
COMMUNITY PAGE
Building a local community of practice in
scientific programming for life scientists
Sarah L. R. Stevens1, Mateusz Kuzak2, Carlos Martinez3, Aurelia Moser4, Petra Bleeker5,
Marc Galland5*
1 Department of Bacteriology, University of Wisconsin–Madison, Madison, Wisconsin, United States of
America, 2 Dutch Techcentre for Life Sciences, Utrecht, Netherlands, 3 Netherlands eScience Center,
Amsterdam, Netherlands, 4 Mozilla Foundation, Mountain View, California, United States of America,
5 Department of Plant Physiology, Swammerdam Institute for Life Sciences, University of Amsterdam,
Amsterdam, Netherlands
Abstract
In this paper, we describe why and how to build a local community of practice in scientific
programming for life scientists who use computers and programming in their research. A
community of practice is a small group of scientists who meet regularly to help each other
and promote good practices in scientific programming. While most life scientists are well
trained in the laboratory to conduct experiments, good practices with (big) data sets and
their analysis are often missing. We propose a model on how to build such a community of
practice at a local academic institution, present two real-life examples, and introduce chal-
lenges and implemented solutions. We believe that the current data deluge that life scien-
tists face can benefit from the implementation of these small communities. Good practices
spread among experimental scientists will foster open, transparent, and sound scientific
results beneficial to society.
Introduction
Life sciences is becoming a data-driven field
In the last 10 years, since the advent of the first next-generation sequencing (NGS) technolo-
gies, DNA and RNA sequencing costs have plunged to levels that make genome sequencing an
affordable reality for every life scientist [1,2]. Yet the vast majority of wet lab biologists need
tailor-made, practical training to learn scientific programming and data analysis [3–6, 10, 11].
Current efforts in bioinformatics and data science training for life scientists have been initiated
worldwide to cope with these training demands [7–11].
Good practices in scientific programming are needed to increase research
reproducibility
Modern biology is facing reproducibility issues [12]. While evidence suggests that this might
not be as bad as it sounds [13], there is clearly a need for increased reproducibility. For
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 1 / 10
a1111111111
a1111111111
a1111111111
a1111111111
a1111111111
OPEN ACCESS
Citation: Stevens SLR, Kuzak M, Martinez C,
Moser A, Bleeker P, Galland M (2018) Building a
local community of practice in scientific
programming for life scientists. PLoS Biol 16(11):
e2005561. https://doi.org/10.1371/journal.
pbio.2005561
Published: November 28, 2018
Copyright: © 2018 Stevens et al. This is an open
access article distributed under the terms of the
Creative Commons Attribution License, which
permits unrestricted use, distribution, and
reproduction in any medium, provided the original
author and source are credited.
Funding: NWO http://www.stw.nl/ (grant number
12988). Defence in the wild: from trichome
transcriptomes and metabolomes to breeding tools
for defence markers in tomato. Received by PB.
The funder had no role in study design, data
collection and analysis, decision to publish, or
preparation of the manuscript. Marie-Curie
Individual Fellowship https://ec.europa.eu/
research/mariecurieactions/about/individual-
fellowships_en (grant number 655656). DURETO
project. The funder had no role in study design,
data collection and analysis, decision to publish, or
preparation of the manuscript. National Science
Foundation https://www.nsf.gov/ (grant number
MCB-1518130). Received by SS. The funder had
no role in study design, data collection and
analysis, decision to publish, or preparation of the
manuscript.
instance, out of 400 algorithms presented at two conferences, only 6% had their corresponding
code published [14]. Thus, most research code remains a “black box” [15], although program-
ming is a central tool in research [16]. Use of laboratory notebooks is widely taught in biology
but not emphasized for coding. Both code documentation and better practices in data manage-
ment are needed so anyone can redo or understand the analyses later on. Part of the solution
lies in dedicated training to researchers to promote good programming practices [17]. One of
the recent relevant initiatives is the Findable, Accessible, Interoperable, and Reusable (FAIR)
principles initiative, which provides guidelines to boost reproducibility and reuse of data sets
[18]. Therefore, the long-term goal of any programming scientist should be to steward good
practices in code-intensive research by promoting open science, reproducible research, and
sustainable software development.
Part of the solution: Building a local community of practice
Training workshops in scientific programming are often offered as one-time courses, but
researchers would benefit from more permanent support. Fueled by Etienne Wenger’s idea
that learning is usually a social activity [19,20], we propose to build a local community of prac-
tice in scientific programming for life scientists. This community fulfills the three require-
ments of Wenger’s definition: it has a specific domain, i.e., bioinformatics and data science; its
members engage in common activities, e.g., training events; and they are practitioners, i.e.,
researchers currently engaged in research that involves scientific programming. Community
building and organization is a field in itself that has been considerably reviewed [21–26].
Requirements include a few motivated leaders and a safe environment in which participants
can experiment with their new knowledge [23]. As stated by Wenger and Snyder [27], commu-
nities of practice “help to solve problems quickly,” “transfer best practices,” and “develop pro-
fessional skills.” While short-term immediate issues (“help me now to debug my code”) can be
solved, the community also has the capacity to steward solutions for long-term data-related
problems (“how do I comply with the FAIR guidelines?”) and can therefore help to solve
reproducibility issues. Communities of practice can also foster the adoption of good practices
[28] since by coworking with their peers, scientists are probably more likely to compare their
methods and embrace best practices.
This paper will explicitly describe why and how to build a local community of practice in scien-
tific programming. We propose a model of how to build such a community that we exemplify in
two case studies. Finally, we discuss the challenges and possible solutions that we encountered
when building these communities. Overall, we believe that building these local communities of
practice in scientific programming will support and speed up scientific research, spread good
practices, and ultimately help to tackle the data deluge in the life sciences.
Why do we need to build up local community of practice in
scientific programming?
Isolation
Wet lab biologists are increasingly being asked by their supervisors to analyze a set of pre-exist-
ing data in labs where their peers have little to no coding experience. Without access to experi-
enced bioinformaticians, they can lead to a sentiment of isolation deleterious to their work.
Self-learning and adoption of bad practices
In such a scenario, most researchers tend to invent their own solution, sometimes reinventing
the wheel. While wasting time, it also leads to the adoption of bad practices (e.g., lack of
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 2 / 10
Competing interests: The authors have declared
that no competing interests exist.
Abbreviations: ComBEE, Computational Biology,
Ecology, and Evolution; FAIR, Findable, Accessible,
Interoperable, and Reusable; NGS, next-generation
sequencing; QC, quality check.
version control) and irreproducible results. While some compiled easy-to-use software, such
as samtools [29], can help to get started, typically researchers need to build their own collection
of tools and scripts. For instance, version control is essential: we believe that using git (https://
git-scm.com) and github (https://github.com), should be considered a mandatory, good prac-
tice just like accurate pipetting in the molecular lab.
Apprehension
Researchers may also fear the breadth of knowledge they need before achieving anything,
which may lead to "impostor syndrome:" the researcher feels like he will be exposed as a fraud,
and someone more competent will unveil his lack of knowledge of coding and bioinformatics.
This also inhibits continued learning since the researcher is then afraid to ask for help.
The issue of how to get started
Learning to code in a research team is akin to an apprenticeship. The “apprentice” will benefit
from the experience and knowledge of more experienced team members. For instance, a
researcher working on RNA-Seq for several years will be able to demonstrate the use of basic
quality check (QC) tools, short-read aligners, differential gene expression calls, etc. Yet many
research teams do not have an experienced bioinformatician on staff. Even in the best case for
which an expert bioinformatician is available, it may be problematic for beginners to get all
their knowledge in one field from one person. Instead, we propose building a community to
spread good practices and help to connect novices and experts. Ideally, a novice should make
progress toward increased skill levels, as illustrated in Fig 1 [30].
Fig 1. Different learning stages in scientific programming. This figure displays the different stages of learning encountered by experimental biologists.
https://doi.org/10.1371/journal.pbio.2005561.g001
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 3 / 10
How do we build local communities in scientific programming: A
model inspired by experience
Here, we propose a three-stage working model (Fig 2) to create a local community of practice
in scientific programming composed of life scientists at any given institution without any
prior community structure.
In stage 1, we form the "primer" of a local community of practice by first running basic pro-
gramming workshops organized by local community leads ("champions") and then coupling
them to the formation of a study group. Champions do not necessarily have to be experts
themselves. In our experience, Carpentries workshops work well since they provide training
aimed at researchers and possess a long history of teaching programming to scientists [8, 17].
These programming workshops serve as a starting point for both learning and gathering
researchers together in one room where people are actively paired and invited to learn about
each other. Often, beginners and bioinformaticians who might have never met despite work-
ing at the same institution will connect and engage afterwards.
When absolute beginners join these workshops, they become "advanced beginners" once
they gain some programming notions. During their daily work, "advanced beginners" often
lack the support needed to face programming issues that they may encounter frequently. Com-
munity "champions" and "advanced beginners" can "seed" a local community of practice (Fig
1), which meets regularly to continue practicing the skills they learned at these programming
workshops. Therefore, a local coworking group that follows a well-documented handbook
such as that of the Mozilla Study Group should be set up with a regular meeting schedule.
Other forms of coworking groups can be used, but we believe that Mozilla Study Groups offer
the best existing model.
In stage 2, the study group becomes a regular practice for advanced beginners for which
they progressively become competent practitioners (Fig 1). This study group also welcomes
new novice members as they join the research institution or as they hear about the existence of
the group. The community leads will provide guidance, specific lessons, and assistance during
hands-on practicals, which will nurture the community and raise the community global scien-
tific programming level. Again, leading sessions is not restricted to champions, and any moti-
vated individual can lead. Also, champions do not necessarily have to be experts themselves
but can instead invite experts and facilitate discussions. At the end of this stage, most advanced
beginners will likely have become competent practitioners.
In stage 3, a subset of the competent practitioners from the local community will become
community leads ("champions", Fig 1) by increasing their teaching and facilitating skills and
recognizing the skill level of their audience (Fig 1). These competencies can be attained by
becoming a Carpentries instructor, which requires attending an instructor training event;
these sessions can be organized by initial community champions since they usually have both
the network and know-how to set up these specific workshops. Once again, it is not mandatory
to rely on the Carpentries Foundation organization as long as competent practitioners get a
deeper knowledge of teaching techniques for which they improve their own skills. However,
we now have a good perspective on the long-term experience and success of the Carpentries
Foundation with over 500 workshops organized and 16,000 attendees present [8, 9].
Case studies
The Amsterdam Science Park example
On the 17th of October 2016, Mateusz Kuzak, Carlos Martinez, and Marc Galland organized a
two-day Software Carpentry workshop in Amsterdam to teach basic programming skills
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 4 / 10
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 5 / 10
(Shell, version control, and Python) to a group of 26 wet lab biologists. This started a dialog
about the skills life scientists need in their daily work. After a few months, a subset of the work-
shop attendees made progress, but most of them did not continue to program either because
(i) they did not need it at the time, (ii) they felt isolated and could not get support from their
peers, or (iii) they did not make time for practice alongside regular lab work. Thus, a regular
meetup group was needed so that researchers with different programming levels could help
and support each other. Hence, on the 7th of March 2017, we started up the Amsterdam Sci-
ence Park Study Group following the Mozilla Study Group guidelines. We quickly decided to
stick to the guidelines suggested by the Mozilla Science Lab. Originally, we started with one
scientist from the University of Amsterdam (Marc Galland) and two engineers in software
engineering (Mateusz Kuzak and Carlos Martinez). But after five months, we decided to gather
more scientists to build up a community with expertise in R and Python programming as well
as from different scientific fields (genomics, statistics, and ecology). Most study group mem-
bers came from two different institutes, which helped the group to be more multidisciplinary.
At the same time, a proper website (www.scienceparkstudygroup.info) was set up to streamline
communication and advertise events.
The University of Wisconsin–Madison example
At the University of Wisconsin–Madison, Sarah Stevens started a community of practice in
the fall of 2014 centered around Computational Biology, Ecology, and Evolution ("ComBEE").
It was started as a place to help other graduate students learn scientific coding, such as Python,
and to discuss scientific issues in computational biology, such as metagenomics. The main
ComBEE group meets once a month to discuss computational biology in ecology and evolu-
tion. Under the ComBEE umbrella, there are also two spin-off study groups, which alternate
each week so that attendees can focus on their favorite programming language. Later in Com-
BEE’s development, Sarah transitioned to being a part of the Mozilla Study Group community,
taking advantage of the existing resources to, for instance, build their web page (https://
combee-uw-madison.github.io/studyGroup/). Early in the development of ComBEE, the facili-
tating of the language-specific study groups was delegated on a semester by semester basis; this
helped to keep more members involved in the growth and maturation of the local community.
One of the early members of ComBEE was a life sciences graduate student who had recently
attended a Software Carpentry Workshop and had no other experience doing bioinformatics.
He wanted to continue his development and was working on a very computationally intensive
project. He has since run the Python Study Group for several semesters and is now an exceed-
ingly competent computational biologist. He continued to contribute back to the group
through the end of his PhD, lending his expertise and experience to the latest study group
Fig 2. A three-step model to build a local community of practice in scientific programming for life scientists. (A)
First, a few scientists acting as community leads set up one or more Carpentries workshops to impart basic
programming and data science skills to wet lab life scientists. After completion of the workshop, the novices will often
face programming issues that need to be solved frequently. Furthermore, they need to continue to learn new
programming skills. Therefore, a local study group such as a Mozilla Study Group can be formed by community leads
("champions") and "advanced beginners" to foster a regular meeting place for solving programming issues together and
discovering new tools. (B) By attending a regularly scheduled study group, advanced beginners start to work together
and make progress. Together with additional guidance and ad hoc assistance by community leads, some advanced
beginners become "competent practitioners." (C) Finally, as some "competent practitioners" attend the Carpentries’
instructor training sessions, new community leads ("champions") are trained. In addition, the local study group keeps
attracting new beginners. Study group sessions together with optional Carpentries events help to educate community
members and help them to become "advanced beginners" and "competent practitioners." As "competent practitioners"
become community "champions," this closes the loop and helps the local community of practice become fully mature
with all categories of learners present.
https://doi.org/10.1371/journal.pbio.2005561.g002
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 6 / 10
discussions. The ComBEE study group is now more than three years old and acts as a stable
resource center for new graduate students and employees.
Room for improvement: Challenges and solutions learned from
experience
Below, we describe essential components of a successful community of practice based on both
literature [22–24, 26] and experience.
Gather a core group of motivated individuals
One of the first tasks for setting up a community of practice is to gather a team of motivated
individuals that will act as leaders of the community [23, 24]. To recruit these leaders, one can:
• Rely on existing communities, e.g., "R lunch group," since these informal groups are often
lead by motivated individuals.
• Recruit scientists that share similar values, such as advocating for Open Science, having a
collaborative attitude, showing tolerance toward cultural and scientific differences, and
being supportive of beginners and lifelong learners in general.
• Search within institutions with a reasonably big size, e.g., universities.
Keeping participants coming and engaging the community
For someone who is part of the “core team” of a study group, the challenge is to attract experts
or new members and ensure that they regularly participate in activities (lessons, coworking
sessions, and organizational meetings) [23, 24, 26]. Among possible incentives to keep new
members and leaders engaging, we suggest to tell them that they can:
• Reach out to a wider audience by participating to lessons, workshops, etc.
• Improve their teaching skills and eventually become a Carpentries instructor.
• Solve basic issues for several beginners simultaneously through workshops.
• Lead the community for a semester and thereby develop their leadership.
• Tailor topics to their interests.
• Increase their group management, communication, and networking capacities.
How to deal with the ever-ongoing turnover at academic institutions
The constant turnover of students and temporary staff remains a continual challenge. Keeping
the local community ongoing requires a critical mass both for the core team and for the audi-
ence. Yet the high turnover of students and staff also has its positive sides: a dynamic environ-
ment brings in new people eager to learn and with relevant knowledge to share in the group.
We recommend using the turnover of people to your advantage by making an effort to recruit
both new members and champions. Some practical solutions include:
• Advertising the community through its leaders; people bring people through word of mouth
• Invite permanent staff to sustain the community development.
• Use the turnover to your advantage; quickly invite newcomers to join the community.
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 7 / 10
Dealing with the impostor syndrome
Creating a safe learning environment is one of the requirements for a thriving community of
practice [23]. To encourage beginners and newcomers to participate and feel welcome, we rec-
ommend to:
• Enforce a Code of Conduct following an existing example (e.g., the Carpentries Code of
Conduct) to set up expectations and promote a welcoming atmosphere.
• Promote all questions and forbid surprise reactions to very basic questions ("What is the
Shell?" and "Oh, you don’t know?").
• Ban in-depth technical discussions that alienate novices.
Community leadership and institutional support
An effort should be made to assign clear and specific roles to administration members of the
local community based on their expertise and interest. Another challenge is to secure funding
and people’s support from the local institution [26, 27]. To do so, we advise to:
• Delegate as much as possible to promote leadership; appoint someone to lead the commu-
nity for a semester, for instance.
• Get support from the local institution as soon as possible in terms of money, time, and/or
staff.
Community composition
Another important aspect to consider is the composition of the community. We have identi-
fied the following types of community members as common components of the community:
• Absolute and advanced beginners: these are people with the most basic level of knowledge.
For them, the motivation to be part of a community is obvious: they want to learn program-
ming and often need rapid assistance to complete their research.
• Competent practitioners: these are people who are already competent in a particular bioin-
formatics/data science domain. For them, contributing to the community is a good way to
reinforce their set of talents. Often, competent practitioners make excellent teachers, as they
are able to easily relate to the beginner state of mind. In turn, this increases their learning
and teaching skills.
• Experts: these are people with the highest experience level on a particular skill. Experts usually
reinforce their knowledge by “going back to basics:” it is useful for them to understand what are
the usual gotchas for novices. Building a local community of practice provides experts with an
opportunity to help novices in a more structural way instead of helping each one individually.
Practical considerations
In our experience, we have found the following practical tips to be useful:
• Gather a critical mass of at least 10 recurrent community members that regularly attend
meetings and community sessions.
• Send meeting notifications in advance and frequently enough; schedule the meetings well in
advance and keep a consistent day, time, and place to help people remember them.
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 8 / 10
• Have weekly or fortnightly meetings so that it is a compromise between researchers’ sched-
ules and community development.
• Organize meetings in a relatively quiet environment with a good Internet connection. Places
such as a campus cafe outside of busy hours or a small conference room can be good places
to start and help to keep an informal and welcoming atmosphere.
Conclusion
We hope that our model and the lessons learned from our experience described in this
paper will save time and effort for future community leads when they start their own local
community of practice in scientific programming. Building such a community is far from
trivial, and we, as scientists, are perhaps not the most proficient on community building
and organization [21–25]. Since "progress will not happen by itself" [17], a community of
practice in scientific programming will bring many benefits to its members and to their
institution; it fosters the development of new skills for its members, breaks down “mental
borders” between departments, networks domain experts at a local site, and helps to retain
knowledge that would otherwise be lost with the departure of temporary staff and
students.
The convergence of the “big data” avalanche in biology and new FAIR requirements for
data management [18] makes it more and more important for wet lab researchers to conduct
good scientific programming, efficient data analysis, and proper research data management.
Eventually, these local communities of practice in scientific programming should speed up
code-intensive analyses, promote open science, research reproducibility, and spread good
practices at a given institution.
Acknowledgments
We are thankful to the Carpentries Foundation for assistance in workshop organization. We
kindly acknowledge the Mozilla Foundation for assistance in starting and maintaining the
Study Groups. We would also like to thank the members and leaders of the Amsterdam Sci-
ence Park Study Group and that of the ComBEE Study Group and the Carpentry community
at the University of Wisconsin–Madison.
References1. Hayden E. Technology: The $1,000 genome. Nature 2014; 507:294–295. https://doi.org/10.1038/
507294a PMID: 24646979
2. Hiraoka S, Yang C, Iwasaki W. Metagenomics and Bioinformatics in Microbial Ecology: Current Status
and Beyond. Microbes Environ. 2016; 31(3):204–212. https://doi.org/10.1264/jsme2.ME16024 PMID:
27383682
3. Batut B, Hiltemann S, Bagnacani A, Baker D, Bhardwaj V, Blank C, et al. Community-Driven Data Anal-
ysis Training for Biology Cell Systems 2018; 6(6):752–758. https://doi.org/10.1016/j.cels.2018.05.012
PMID: 29953864
4. Watson-Haigh N, Shang C, Haimel M, Kostadima M, Loos R, Deshpande N, et al. Next-generation
sequencing: a challenge to meet the increasing demand for training workshops in Australia. Brief. Bioin-
formatics 2013; 14(5):563–574. https://doi.org/10.1093/bib/bbt022 PMID: 23543352
5. Friesner J, Assmann S, Bastow R, Bailey-Serres J, Beynon J, Brendel V, et al. The Next Generation of
Training for Arabidopsis Researchers: Bioinformatics and Quantitative Biology. Plant Physiol. 2017;
175(4):1499–1509. https://doi.org/10.1104/pp.17.01490 PMID: 29208732
6. Welch L, Lewitter F, Schwartz R, Brooksbank C, Radivojac P, Gaeta B, et al. Bioinformatics Curriculum
Guidelines: Toward a Definition of Core Competencies. PLoS Comp Biol 2014; 10(3): e1003496.
https://doi.org/10.1371/journal.pcbi.1003496 PMID: 24603430
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 9 / 10
7. Morgan S, Palagi P, Fernandes P, Koperlainen E, Dimec J, Marek D, et al. The ELIXIR-EXCELERATE
Train-the-Trainer pilot programme: empower researchers to deliver high-quality training. F1000Res.
2017; 6:1557. https://doi.org/10.12688/f1000research.12332.1 PMID: 28928938
8. Wilson G. Software Carpentry: lessons learned. F1000Research 2016; 3:62. https://doi.org/10.12688/
f1000research.3-62.v2 PMID: 24715981
9. Pawlik A, van Gelder C, Nenadic A, Palagi P, Korpelainen E, Lijnzaad P, et al. Developing a strategy for
computational lab skills training through Software and Data Carpentry: Experiences from the ELIXIR
Pilot action. F1000Research 2017; 6:1040. https://doi.org/10.12688/f1000research.11718.1 PMID:
28781745
10. Corpas M, Jimenez R, Bongcam-Rudloff E, Budd A, Brazas M, Fernandes P, et al. The GOBLET train-
ing portal: a global repository of bioinformatics training materials, courses and trainers. Bioinformatics
2015; 31(1):140–2. https://doi.org/10.1093/bioinformatics/btu601 PMID: 25189782
11. Schneider M, Walter P, Blatter M, Watson J, Brazas M, Rother K, et al. Bioinformatics Training Network
(BTN): a community resource for bioinformatics trainers. Brief Bioinform 2012; 13(3):383–389. https://
doi.org/10.1093/bib/bbr064 PMID: 22110242
12. Baker M. 1,500 scientists lift the lid on reproducibility Nature 2016; 533(7604):452–454. https://doi.org/
10.1038/533452a PMID: 27225100
13. Fanelli D. Is science really facing a reproducibility crisis? Proc. Natl. Acad. Sci. U.S.A. 2018; 115
(11):2628–2631. https://doi.org/10.1073/pnas.1708272114 PMID: 29531051
14. Hutson M. Artificial intelligence faces reproducibility crisis. Science 2018; 359(6377):725–726. https://
doi.org/10.1126/science.359.6377.725 PMID: 29449469
15. Morin A, Urban J, Adams PD, Foster I, Sali A, Baker D and Sliz P. Shining Light into Black Boxes Sci-
ence 2012; 336(6078):159–160. https://doi.org/10.1126/science.1218263 PMID: 22499926
16. Hettrick S, Antonioletti M, Carr L, Chue Hong N, Crouch S, De Roure D, et al. UK Research Software
Survey 2014 [Data set]. Zenodo; 2014. https://doi.org/10.5281/zenodo.14809
17. Wilson G, Bryan J, Cranston K, Kitzes J, Nederbragt L and Teal T. Good enough practices in scientific
computing. PLoS Comput Biol 2017; 13(6):e1005510. https://doi.org/10.1371/journal.pcbi.1005510
PMID: 28640806
18. Wilkinson M, Dumontier M, Aalbersberg J, Appleton G, Axton M, Baak A et al. The FAIR Guiding Princi-
ples for scientific data management and stewardship. Sci. Data 2016; 3. https://doi.org/10.1038/sdata.
2016.18 PMID: 26978244
19. Lave J and Wenger E Situated Learning: Legitimate Peripheral Participation Cambridge [England]; New
York: University Press; 1991.
20. Wenger E. Communities of Practice: Learning, Meaning, and Identity. Cambridge University Press;
1999.
21. Li L, Grimshaw J, Nielsen C, Judd M, Coyte P, Graham I. Evolution of Wenger’s concept of community
of practice. Implement Sci. 2009; 4:11. https://doi.org/10.1186/1748-5908-4-11 PMID: 19250556
22. Wenger E. Communities of practice: A brief introduction National Science Foundation (US); 2011.
23. Webber E. Building successful communities of practice TACIT, 2018.
24. Brown M. Building powerful community organizations Long Haul Press; 2006.
25. Wenger E, McDermott RA and Snyder W. Cultivating Communities of Practice. Harvard Business
School Press; 2002.
26. Budd A, Corpas M, Brazas M, Fuller J, Goecks J, Mulder N, et al. A quick guide for building a successful
bioinformatics community. PLoS Comp Biol. 2015; 11(2):e1003972. https://doi.org/10.1371/journal.
pcbi.1003972 PMID: 25654371
27. Wenger E, Snyder W. Communities of practice: the organizational frontier. Harv Bus Rev. 2000;
78:139–146
28. Bauer M, Damschroder L, Hagedorn H, Smith J and Kilbourne A. An introduction to implementation sci-
ence for the non-specialist. BMC Psychol. 2015; 3(1):32. https://doi.org/10.1186/s40359-015-0089-9
PMID: 26376626
29. Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, et al. The Sequence alignment/map
(SAM) format and SAMtools. Bioinformatics 2009; 25:2078–9. https://doi.org/10.1093/bioinformatics/
btp352 PMID: 19505943
30. Dreyfus S, Stuart E, Dreyfus H. A Five-Stage Model of the Mental Activities Involved in Directed Skill
Acquisition. No. ORC-80-2. California Univ Berkeley Operations Research Center, 1980.
PLOS Biology | https://doi.org/10.1371/journal.pbio.2005561 November 28, 2018 10 / 10