-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathbibliography.bib
1065 lines (981 loc) · 60.9 KB
/
bibliography.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
@article{sandve_ten_2013,
title = {Ten {Simple} {Rules} for {Reproducible} {Computational} {Research}},
volume = {9},
url = {http://dx.doi.org/10.1371/journal.pcbi.1003285},
doi = {10.1371/journal.pcbi.1003285},
number = {10},
urldate = {2016-02-15},
journal = {PLoS Comput Biol},
author = {Sandve, Geir Kjetil and Nekrutenko, Anton and Taylor, James and Hovig, Eivind},
month = oct,
year = {2013},
pages = {e1003285}
}
@article{taschuk_ten_2017,
title = {Ten simple rules for making research software more robust},
volume = {13},
issn = {1553-7358},
url = {http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005412},
doi = {10.1371/journal.pcbi.1005412},
abstract = {Author summary Many researchers have found out the hard way that there’s a world of difference between “works for me on my machine” and “works for other people on theirs.” Many common challenges can be avoided by following a few simple rules; doing so not only improves reproducibility but can accelerate research.},
number = {4},
urldate = {2017-04-18},
journal = {PLOS Computational Biology},
author = {Taschuk, Morgan and Wilson, Greg},
month = apr,
year = {2017},
keywords = {Computer software, bioinformatics, Operating Systems, Reproducibility, software development, Software tools, Software Engineering, Sequence alignment},
pages = {e1005412}
}
@article{rule_ten_2019,
title = {Ten simple rules for writing and sharing computational analyses in {Jupyter} {Notebooks}},
volume = {15},
issn = {1553-7358},
url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007007},
doi = {10.1371/journal.pcbi.1007007},
language = {en},
number = {7},
urldate = {2019-08-01},
journal = {PLOS Computational Biology},
author = {Rule, Adam and Birmingham, Amanda and Zuniga, Cristal and Altintas, Ilkay and Huang, Shih-Cheng and Knight, Rob and Moshiri, Niema and Nguyen, Mai H. and Rosenthal, Sara Brin and Pérez, Fernando and Rose, Peter W.},
month = jul,
year = {2019},
keywords = {Analysts, Computer and information sciences, Computer hardware, Data processing, Ecosystems, Graphical user interfaces, Metadata, Reproducibility},
pages = {e1007007}
}
@article{perez-riverol_ten_2016,
title = {Ten {Simple} {Rules} for {Taking} {Advantage} of {Git} and {GitHub}},
volume = {12},
issn = {1553-7358},
url = {https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004947},
doi = {10.1371/journal.pcbi.1004947},
language = {en},
number = {7},
urldate = {2019-08-01},
journal = {PLOS Computational Biology},
author = {Perez-Riverol, Yasset and Gatto, Laurent and Wang, Rui and Sachsenberg, Timo and Uszkoreit, Julian and Leprevost, Felipe da Veiga and Fufezan, Christian and Ternent, Tobias and Eglen, Stephen J. and Katz, Daniel S. and Pollard, Tom J. and Konovalov, Alexander and Flight, Robert M. and Blin, Kai and Vizcaíno, Juan Antonio},
month = jul,
year = {2016},
keywords = {Bioinformatics, Control systems, Health services research, Open source software, Scientific publishing, Software development, Source code, Web-based applications},
pages = {e1004947}
}
@article{boettiger_introduction_2017,
title = {An {Introduction} to {Rocker}: {Docker} {Containers} for {R}},
volume = {9},
issn = {2073-4859},
shorttitle = {An {Introduction} to {Rocker}},
url = {https://journal.r-project.org/archive/2017/RJ-2017-065/index.html},
doi = {10.32614/RJ-2017-065},
language = {en},
number = {2},
urldate = {2019-02-05},
journal = {The R Journal},
author = {Boettiger, Carl and Eddelbuettel, Dirk},
year = {2017},
pages = {527--536}
}
@article{molenaar_klikoscientific_2018,
title = {Kliko—{The} scientific compute container format},
volume = {25},
issn = {2213-1337},
url = {http://www.sciencedirect.com/science/article/pii/S2213133717300793},
doi = {10.1016/j.ascom.2018.08.003},
abstract = {Kliko is a Docker-based container specification for running one or multiple related compute jobs. The key concepts of Kliko are the encapsulation of data processing software into a container and the formalization of the input, output and task parameters. By formalizing the parameters, the software is represented as abstract building blocks with an uniform and consistent interface. The main advantage is enhanced scriptability and empowering pipeline composition. Formalization is realized by bundling a container with a Kliko file, which describes the IO and task parameters. This Kliko container can then be opened and run by a Kliko runner. The Kliko runner will parse the Kliko definition and gather the values for these parameters, for example by requesting user input or retrieving pre-defined values from disk. Parameters can be various primitive types, for example: float, int or the path to a file. This paper will also discuss the implementation of a support library named Kliko which can be used to create Kliko containers, parse Kliko definitions, andchain Kliko containers in workflows using a workflow manager library such as Luigi. The Kliko library can be used inside the container to interact with the Kliko runner. Finally to illustrate the applicability of the Kliko definition, this paper will discuss two reference implementations based on the Kliko library: RODRIGUES, a web-based Kliko container scheduler and output visualizer specifically for astronomical data, and VerMeerKAT, a multi-container workflow data reduction pipeline which is being used as a prototype pipeline for the commissioning of the MeerKAT radio telescope. The Kliko library is open source. The documentation and source code can be found on the main website.11https://github.com/gijzelaerr/kliko..},
urldate = {2019-02-05},
journal = {Astronomy and Computing},
author = {Molenaar, G. and Makhathini, S. and Girard, J. N. and Smirnov, O.},
month = oct,
year = {2018},
keywords = {Docker, Scientific computing, Pipelines, Astronomy, Containerization, Data reduction},
pages = {1--9},
annote = {Comment: 10 pages, 4 figues}
}
@article{kurtzer_singularity_2017,
title = {Singularity: {Scientific} containers for mobility of compute},
volume = {12},
issn = {1932-6203},
shorttitle = {Singularity},
url = {http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0177459},
doi = {10.1371/journal.pone.0177459},
abstract = {Here we present Singularity, software developed to bring containers and reproducibility to scientific computing. Using Singularity containers, developers can work in reproducible environments of their choosing and design, and these complete environments can easily be copied and executed on other platforms. Singularity is an open source initiative that harnesses the expertise of system and software engineers and researchers alike, and integrates seamlessly into common workflows for both of these groups. As its primary use case, Singularity brings mobility of computing to both users and HPC centers, providing a secure means to capture and distribute software and compute environments. This ability to create and deploy reproducible environments across these centers, a previously unmet need, makes Singularity a game changing development for computational science.},
number = {5},
urldate = {2017-06-28},
journal = {PLOS ONE},
author = {Kurtzer, Gregory M. and Sochat, Vanessa and Bauer, Michael W.},
month = may,
year = {2017},
keywords = {Computer software, Operating Systems, software development, Open source software, Software tools, Research validity, Tar, Software design},
pages = {e0177459}
}
@article{kim_bio-docklets_2017,
title = {Bio-{Docklets}: {Virtualization} {Containers} for {Single}-{Step} {Execution} of {NGS} {Pipelines}.},
copyright = {© 2017, Posted by Cold Spring Harbor Laboratory. The copyright holder for this pre-print is the author. All rights reserved. The material may not be redistributed, re-used or adapted without the author's permission.},
shorttitle = {Bio-{Docklets}},
url = {http://www.biorxiv.org/content/early/2017/03/15/116962},
doi = {10.1101/116962},
abstract = {Background: Processing of Next-Generation Sequencing (NGS) data requires significant technical skills, involving installation, configuration, and execution of bioinformatics data pipelines, in addition to specialized post-analysis visualization and data mining software. In order to address some of these challenges, developers have leveraged virtualization containers, towards seamless deployment of preconfigured bioinformatics software and pipelines on any computational platform. Findings: We present an approach for abstracting the complex data operations of multi-step, bioinformatics pipelines for NGS data analysis. As examples, we have deployed two pipelines for RNAseq and CHIPseq, pre-configured within Docker virtualization containers we call Bio-Docklets. Each Bio-Docklet exposes a single data input and output endpoint and from a user perspective, running the pipelines is as simple as running a single bioinformatics tool. This is achieved through a ‘meta-script’ that automatically starts the Bio-Docklets, and controls the pipeline execution through the BioBlend software library and the Galaxy Application Programming Interface (API). The pipelne output is postprocessed using the Visual Omics Explorer (VOE) framework, providing interactive data visualizations that users can access through a web browser. Conclusions: The goal of our approach is to enable easy access to NGS data analysis pipelines for nonbioinformatics experts, on any computing environment whether a laboratory workstation, university computer cluster, or a cloud service provider. Besides end-users, the Bio-Docklets also enables developers to programmatically deploy and run a large number of pipeline instances for concurrent analysis of multiple datasets.},
language = {en},
urldate = {2017-07-25},
journal = {bioRxiv},
author = {Kim, Baekdoo and Ali, Thahmina A. and Lijeron, Carlos and Afgan, Enis and Krampis, Konstantinos},
month = mar,
year = {2017},
pages = {116962}
}
@article{emsley_framework_2018,
title = {A {Framework} for the {Preservation} of a {Docker} {Container} {\textbar} {International} {Journal} of {Digital} {Curation}},
volume = {12},
url = {http://www.ijdc.net/article/view/509},
doi = {10.2218/ijdc.v12i2.509},
abstract = {Reliably building and maintaining systems across environments is a continuing
problem. A project or experiment may run for years. Software and hardware may
change as can the operating system. Containerisation is a technology that is used in a variety of companies, such as Google, Amazon and IBM, in addition to scientific projects to rapidly deploy a set of services repeatably. Using Dockerfiles to ensure that a container is built repeatably, to allow conformance and easy updating when changes take place, are becoming common within projects. It's seen as part of sustainable software development. Containerisation technology occupies a dual space: it is both a repository of software and software itself. In considering Docker in this fashion, we
should verify that the Dockerfile can be reproduced. Using a subset of the Dockerfile specification, a domain specific language is created to ensure that Docker files can be reused at a later stage to recreate the original environment. We provide a simple framework to address the question of the preservation of containers and its environment. We present experiments on an existing Dockerfile and conclude with a discussion of future work. Taking our work, a pipeline was implemented to check that a defined Dockerfile conforms to our desired model, extracts the Docker and operating
system details. This will help the reproducibility of results, by creating the machine environment and package versions. It also helps development and testing by ensuring that the system is repeatably built and that any changes in the software environment can be equally shared in the Dockerfile. This work supports not only the citation process, but also the open scientific one by providing environmental details of the work. As a
part of the pipeline to create the container, we capture the processes used and put them into the W3C PROV ontology. This provides the potential for providing it with a persistent identifier and traceability of the processes used to preserve the metadata. Our future work will look at the question of linking this output to a workflow ontology, to preserve the complete workflow with the commands and parameters to be given to the containers. We see this provenance as useful within the build process to provide a complete overview of the workflow.},
language = {en-US},
number = {2},
urldate = {2019-01-07},
journal = {International Journal of Digital Curation},
author = {Emsley, Iain and De Roure, David},
month = apr,
year = {2018},
keywords = {preservation, digital preservation, curation, DCC, digital curation, IJDC, International Journal of Digital Curation, UKOLN}
}
@article{boettiger_introduction_2015,
title = {An {Introduction} to {Docker} for {Reproducible} {Research}},
volume = {49},
issn = {0163-5980},
url = {http://doi.acm.org/10.1145/2723872.2723882},
doi = {10.1145/2723872.2723882},
abstract = {As computational work becomes more and more integral to many aspects of scientific research, computational reproducibility has become an issue of increasing importance to computer systems researchers and domain scientists alike. Though computational reproducibility seems more straight forward than replicating physical experiments, the complex and rapidly changing nature of computer environments makes being able to reproduce and extend such work a serious challenge. In this paper, I explore common reasons that code developed for one research project cannot be successfully executed or extended by subsequent researchers. I review current approaches to these issues, including virtual machines and workflow systems, and their limitations. I then examine how the popular emerging technology Docker combines several areas from systems research - such as operating system virtualization, cross-platform portability, modular re-usable elements, versioning, and a 'DevOps' philosophy, to address these challenges. I illustrate this with several examples of Docker use with a focus on the R statistical environment.},
number = {1},
urldate = {2016-06-24},
journal = {SIGOPS Oper. Syst. Rev.},
author = {Boettiger, Carl},
month = jan,
year = {2015},
keywords = {Computer Science - Software Engineering},
pages = {71--79},
annote = {Reasons for not publishing reproducibly:
- lack of time
- lack of incenitves
- lack of familiar, intuitive tools
- think that summaries are enough
- does not fit into a researcher's workflow
Technical challenges:
- dependency hell
- imprecise documentation
- Code rot
- handling and learning multiple tools
Problem VM: Too much of a black box}
}
@article{marwick_madjebebe_2015,
title = {1989-excavation-report-{Madjebebe}},
doi = {10.6084/m9.figshare.1297059},
urldate = {2016-06-24},
author = {{Ben Marwick}},
year = {2015}
}
@misc{marwick_how_2015,
title = {How computers broke science – and what we can do to fix it},
copyright = {Copyright © 2010–2019, The Conversation Trust (UK) Limited},
url = {https://theconversation.com/how-computers-broke-science-and-what-we-can-do-to-fix-it-49938},
abstract = {Virtually every researcher relies on computers to collect or analyze data. But when computers are opaque black boxes that manipulate data, it's impossible to replicate studies – a core value for science.},
language = {en},
urldate = {2017-07-05},
journal = {The Conversation},
author = {Marwick, Ben},
year = {2015}
}
@article{knoth_reproducibility_2017,
title = {Reproducibility and {Practical} {Adoption} of {GEOBIA} with {Open}-{Source} {Software} in {Docker} {Containers}},
volume = {9},
copyright = {http://creativecommons.org/licenses/by/3.0/},
url = {http://www.mdpi.com/2072-4292/9/3/290},
doi = {10.3390/rs9030290},
abstract = {Geographic Object-Based Image Analysis (GEOBIA) mostly uses proprietary software,but the interest in Free and Open-Source Software (FOSS) for GEOBIA is growing. This interest stems not only from cost savings, but also from benefits concerning reproducibility and collaboration. Technical challenges hamper practical reproducibility, especially when multiple software packages are required to conduct an analysis. In this study, we use containerization to package a GEOBIA workflow in a well-defined FOSS environment. We explore the approach using two software stacks to perform an exemplary analysis detecting destruction of buildings in bi-temporal images of a conflict area. The analysis combines feature extraction techniques with segmentation and object-based analysis to detect changes using automatically-defined local reference values and to distinguish disappeared buildings from non-target structures. The resulting workflow is published as FOSS comprising both the model and data in a ready to use Docker image and a user interface for interaction with the containerized workflow. The presented solution advances GEOBIA in the following aspects: higher transparency of methodology; easier reuse and adaption of workflows; better transferability between operating systems; complete description of the software environment; and easy application of workflows by image analysis experts and non-experts. As a result, it promotes not only the reproducibility of GEOBIA, but also its practical adoption.},
language = {en},
number = {3},
urldate = {2017-03-23},
journal = {Remote Sensing},
author = {Knoth, Christian and Nüst, Daniel},
month = mar,
year = {2017},
keywords = {reproducible research, Docker, Reproducibility, containerization, GEOBIA, conflict monitoring, object-based image analysis, QGIS},
pages = {290}
}
@article{chen_open_2019,
title = {Open is not enough},
volume = {15},
copyright = {2018 Springer Nature Limited},
issn = {1745-2481},
url = {https://www.nature.com/articles/s41567-018-0342-2},
doi = {10.1038/s41567-018-0342-2},
abstract = {The solutions adopted by the high-energy physics community to foster reproducible research are examples of best practices that could be embraced more widely. This first experience suggests that reproducibility requires going beyond openness.},
language = {En},
number = {2},
urldate = {2019-02-10},
journal = {Nature Physics},
author = {Chen, Xiaoli and Dallmeier-Tiessen, Sünje and Dasler, Robin and Feger, Sebastian and Fokianos, Pamfilos and Gonzalez, Jose Benito and Hirvonsalo, Harri and Kousidis, Dinos and Lavasa, Artemis and Mele, Salvatore and Rodriguez, Diego Rodriguez and Šimko, Tibor and Smith, Tim and Trisovic, Ana and Trzcinska, Anna and Tsanaktsidis, Ioannis and Zimmermann, Markus and Cranmer, Kyle and Heinrich, Lukas and Watts, Gordon and Hildreth, Michael and Iglesias, Lara Lloret and Lassila-Perini, Kati and Neubert, Sebastian},
month = feb,
year = {2019},
pages = {113},
annote = {"Our own experience from opening up vast volumes of data is that openness cannot simply be tacked on as an afterthought at the end of the scientific endeavour. In addition, openness alone does not guarantee reproducibility or reusability, so it should not be pursued as a goal in itself. Focusing on data is also not enough: it needs to be accompanied by software, workflows and explanations, all of which need to be captured throughout the usual iterative and closed research lifecycle, ready for a timely open release with the results."}
}
@article{donoho_invitation_2010,
title = {An invitation to reproducible computational research},
volume = {11},
issn = {1465-4644},
url = {https://academic.oup.com/biostatistics/article/11/3/385/257703},
doi = {10.1093/biostatistics/kxq028},
abstract = {I am genuinely thrilled to see Biostatistics make a formal venture into computational reproducibility, and I congratulate the editors of Biostatistics on taking},
language = {en},
number = {3},
urldate = {2019-08-01},
journal = {Biostatistics},
author = {Donoho, David L.},
month = jul,
year = {2010},
pages = {385--388}
}
@misc{stark_before_2018,
type = {News},
title = {Before reproducibility must come preproducibility},
copyright = {2018 Nature},
url = {http://www.nature.com/articles/d41586-018-05256-0},
abstract = {Instead of arguing about whether results hold up, let’s push to provide enough information for others to repeat the experiments, says Philip Stark.},
language = {EN},
urldate = {2018-05-25},
journal = {Nature},
author = {Stark, Philip B.},
month = may,
year = {2018},
doi = {10.1038/d41586-018-05256-0}
}
@article{halchenko_open_2012,
title = {Open is {Not} {Enough}. {Let}'s {Take} the {Next} {Step}: {An} {Integrated}, {Community}-{Driven} {Computing} {Platform} for {Neuroscience}},
volume = {6},
issn = {1662-5196},
shorttitle = {Open is {Not} {Enough}. {Let}'s {Take} the {Next} {Step}},
url = {https://www.frontiersin.org/articles/10.3389/fninf.2012.00022/full},
doi = {10.3389/fninf.2012.00022},
abstract = {Open is Not Enough. Let's Take the Next Step: An Integrated, Community-Driven Computing Platform for Neuroscience},
language = {English},
urldate = {2019-08-01},
journal = {Frontiers in Neuroinformatics},
author = {Halchenko, Yaroslav O. and Hanke, Michael},
year = {2012},
keywords = {Debian, intergrated research software environment, NeuroDebian, Reproducible Research, research software maintenance}
}
@article{nust_opening_2017,
title = {Opening the {Publication} {Process} with {Executable} {Research} {Compendia}},
volume = {23},
issn = {1082-9873},
url = {http://www.dlib.org/dlib/january17/nuest/01nuest.html},
doi = {10.1045/january2017-nuest},
language = {en},
number = {1/2},
urldate = {2017-01-16},
journal = {D-Lib Magazine},
author = {Nüst, Daniel and Konkol, Markus and Pebesma, Edzer and Kray, Christian and Schutzeichel, Marc and Przibytzin, Holger and Lorenz, Jörg},
month = jan,
year = {2017}
}
@article{jupyter_binder_2018,
title = {Binder 2.0 - {Reproducible}, interactive, sharable environments for science at scale},
url = {https://conference.scipy.org/proceedings/scipy2018/project_jupyter.html},
doi = {10.25080/Majora-4af1f417-011},
urldate = {2018-08-21},
journal = {Proceedings of the 17th Python in Science Conference},
author = {{Project Jupyter} and Bussonnier, Matthias and Forde, Jessica and Freeman, Jeremy and Granger, Brian and Head, Tim and Holdgraf, Chris and Kelley, Kyle and Nalvarte, Gladys and Osheroff, Andrew and Pacer, M. and Panda, Yuvi and Perez, Fernando and Ragan-Kelley, Benjamin and Willing, Carol},
year = {2018},
pages = {113--120}
}
@article{brinckman_computing_2018,
title = {Computing environments for reproducibility: {Capturing} the “{Whole} {Tale}”},
issn = {0167-739X},
shorttitle = {Computing environments for reproducibility},
url = {http://www.sciencedirect.com/science/article/pii/S0167739X17310695},
doi = {10.1016/j.future.2017.12.029},
abstract = {The act of sharing scientific knowledge is rapidly evolving away from traditional articles and presentations to the delivery of executable objects that integrate the data and computational details (e.g., scripts and workflows) upon which the findings rely. This envisioned coupling of data and process is essential to advancing science but faces technical and institutional barriers. The Whole Tale project aims to address these barriers by connecting computational, data-intensive research efforts with the larger research process—transforming the knowledge discovery and dissemination process into one where data products are united with research articles to create “living publications” or tales. The Whole Tale focuses on the full spectrum of science, empowering users in the long tail of science, and power users with demands for access to big data and compute resources. We report here on the design, architecture, and implementation of the Whole Tale environment.},
urldate = {2018-04-17},
journal = {Future Generation Computer Systems},
author = {Brinckman, Adam and Chard, Kyle and Gaffney, Niall and Hategan, Mihael and Jones, Matthew B. and Kowalik, Kacper and Kulasekaran, Sivakumar and Ludäscher, Bertram and Mecum, Bryce D. and Nabrzyski, Jarek and Stodden, Victoria and Taylor, Ian J. and Turk, Matthew J. and Turner, Kandace},
month = feb,
year = {2018},
keywords = {Reproducibility, Data sharing, Code sharing, Living publications, Provenance}
}
@misc{code_ocean_2019,
title = {Code {Ocean}},
url = {https://codeocean.com/},
abstract = {Code Ocean is a research collaboration platform. Create, collaborate on, share, execute, and publish computational code and data from anywhere, with anyone.},
language = {en},
urldate = {2019-10-09},
year = {2019}
}
@article{simko_reana_2019,
title = {{REANA}: {A} {System} for {Reusable} {Research} {Data} {Analyses}},
volume = {214},
copyright = {© The Authors, published by EDP Sciences, 2019},
issn = {2100-014X},
shorttitle = {{REANA}},
url = {https://www.epj-conferences.org/articles/epjconf/abs/2019/19/epjconf_chep2018_06034/epjconf_chep2018_06034.html},
doi = {10.1051/epjconf/201921406034},
abstract = {The revalidation, reinterpretation and reuse of research data analyses requires having access to the original computing environment, the experimental datasets, the analysis software, and the computational workflow steps which were used by researchers to produce the original scientific results in the first place.REANA (Reusable Analyses) is a nascent platform enabling researchers to structure their research data analyses in view of enabling future reuse. The analysis is described by means of a YAML file that captures sufficient information about the analysis assets, parameters and processes. The REANA platform consists of a set of micro-services allowing to launch and monitor container-based computational workflow jobs on the cloud. The REANA user interface and the command-line client enables researchers to easily rerun analysis workflows with new input parameters. The REANA platform aims at supporting several container technologies (Docker), workflow engines (CWL, Yadage), shared storage systems (Ceph, EOS) and compute cloud infrastructures (Ku-bernetes/OpenStack, HTCondor) used by the community.REANA was developed with the particle physics use case in mind and profits from synergies with general reusable research data analysis patterns in other scientific disciplines, such as bioinformatics and life sciences.},
language = {en},
urldate = {2019-10-09},
journal = {EPJ Web of Conferences},
author = {Šimko, Tibor and Heinrich, Lukas and Hirvonsalo, Harri and Kousidis, Dinos and Rodríguez, Diego},
year = {2019},
pages = {06034}
}
@misc{nust_author_2017,
title = {Author {Carpentry} : {Docker} for reproducible research},
url = {https://nuest.github.io/docker-reproducible-research/},
urldate = {2019-12-05},
journal = {Author Carpentry : Docker for reproducible research},
author = {Nüst, Daniel},
year = {2017}
}
@misc{chapman_reproducible_2018,
type = {Blog},
title = {Reproducible data science environments with {Docker} {\textbar} {Phil} {Chapman}'s {Blog}},
url = {https://chapmandu2.github.io/post/2018/05/26/reproducible-data-science-environments-with-docker/},
urldate = {2019-12-05},
author = {Chapman, Phil},
month = may,
year = {2018}
}
@misc{ropensci_labs_r_2015,
title = {R {Docker} tutorial},
url = {https://ropenscilabs.github.io/r-docker-tutorial/},
urldate = {2019-12-05},
author = {{rOpenSci Labs}},
year = {2015},
note = {https://github.com/ropenscilabs/r-docker-tutorial}
}
@misc{udemy_docker_2019,
title = {Docker {Containers} for {Data} {Science} and {Reproducible} {Research}},
url = {https://www.udemy.com/course/docker-containers-data-science-reproducible-research/},
abstract = {Course Tutorial to make your work reproducible using Docker Containers},
language = {en-us},
urldate = {2019-12-05},
journal = {Udemy},
author = {{Udemy} and Zhbanko, Vladimir},
month = jul,
year = {2019}
}
@misc{psomopoulos_lesson_2017,
title = {Lesson "{Docker} and {Reproducibility}" in {Workshop} "{Reproducible} analysis and {Research} {Transparency}"},
url = {https://reproducible-analysis-workshop.readthedocs.io/en/latest/8.Intro-Docker.html},
journal = {Reproducible analysis and Research Transparency},
author = {Psomopoulos, Fotis E.},
month = dec,
year = {2017},
note = {This workshop was part of the Open Science Tools, Data \& Technologies for Efficient Ecological \& Evolutionary Research Symposium, organized by NIOO-KNAW and DANS-KNAW on 7 \& 8 December 2017 at the Amsterdam Science Park.
https://nioo.knaw.nl/en/open-science-tools}
}
@article{wilson_best_2014,
title = {Best {Practices} for {Scientific} {Computing}},
volume = {12},
issn = {1545-7885},
url = {https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745},
doi = {10.1371/journal.pbio.1001745},
abstract = {We describe a set of best practices for scientific software development, based on research and experience, that will improve scientists' productivity and the reliability of their software.},
language = {en},
number = {1},
urldate = {2019-12-05},
journal = {PLOS Biology},
author = {Wilson, Greg and Aruliah, D. A. and Brown, C. Titus and Hong, Neil P. Chue and Davis, Matt and Guy, Richard T. and Haddock, Steven H. D. and Huff, Kathryn D. and Mitchell, Ian M. and Plumbley, Mark D. and Waugh, Ben and White, Ethan P. and Wilson, Paul},
month = jan,
year = {2014},
keywords = {Computer software, Computers, Open source software, Programming languages, Research validity, Scientists, Software development, Software tools},
pages = {e1001745}
}
@article{wilson_good_2017,
title = {Good enough practices in scientific computing},
volume = {13},
issn = {1553-7358},
url = {http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510},
doi = {10.1371/journal.pcbi.1005510},
abstract = {Computers are now essential in all branches of science, but most researchers are never taught the equivalent of basic lab skills for research computing. As a result, data can get lost, analyses can take much longer than necessary, and researchers are limited in how effectively they can work with software and data. Computing workflows need to follow the same practices as lab projects and notebooks, with organized data, documented steps, and the project structured for reproducibility, but researchers new to computing often don't know where to start. This paper presents a set of good computing practices that every researcher can adopt, regardless of their current level of computational skill. These practices, which encompass data management, programming, collaborating with colleagues, organizing projects, tracking work, and writing manuscripts, are drawn from a wide variety of published sources from our daily lives and from our work with volunteer organizations that have delivered workshops to over 11,000 people since 2010.},
number = {6},
urldate = {2017-07-20},
journal = {PLOS Computational Biology},
author = {Wilson, Greg and Bryan, Jennifer and Cranston, Karen and Kitzes, Justin and Nederbragt, Lex and Teal, Tracy K.},
month = jun,
year = {2017},
keywords = {Computer software, Reproducibility, Source code, Software tools, data management, Data processing, Control systems, Programming languages},
pages = {e1005510}
}
@misc{wikipedia_contributors_docker_2019,
title = {Docker (software)},
copyright = {Creative Commons Attribution-ShareAlike License},
url = {https://en.wikipedia.org/w/index.php?title=Docker_(software)&oldid=928441083},
abstract = {Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first started in 2013 and is developed by Docker, Inc.},
language = {en},
urldate = {2019-12-05},
journal = {Wikipedia},
author = {{Wikipedia contributors}},
month = nov,
year = {2019},
note = {Page Version ID: 928441083}
}
@misc{docker_inc_dockerfile_2019,
title = {Dockerfile reference},
copyright = {Copyright © 2019 Docker Inc. All rights reserved.},
shorttitle = {https},
url = {https://docs.docker.com/engine/reference/builder/},
abstract = {Dockerfiles use a simple DSL which allows you to automate the steps you would normally manually take to create an image.},
language = {en},
urldate = {2019-12-05},
journal = {Docker Documentation},
author = {{Docker Inc.}},
month = dec,
year = {2019}
}
@misc{docker_inc_official_2019,
title = {Official {Images} on {Docker} {Hub}},
url = {https://docs.docker.com/docker-hub/official_images/},
abstract = {Guidelines for Official Images on Docker Hub},
language = {en},
urldate = {2019-12-05},
journal = {Docker Documentation},
author = {{Docker Inc.}},
month = dec,
year = {2019}
}
@misc{preston-werner_semantic_2013,
title = {Semantic {Versioning} 2.0.0},
url = {https://semver.org/},
abstract = {Semantic Versioning spec and website},
language = {en},
urldate = {2019-12-05},
journal = {Semantic Versioning},
author = {Preston-Werner, Tom},
month = jun,
year = {2013}
}
@misc{opencontainers_image-spec_2017,
title = {opencontainers/image-spec v1.0.1 - {Annotations}},
url = {https://github.com/opencontainers/image-spec/blob/v1.0.1/annotations.md},
abstract = {OCI Image Format. Contribute to opencontainers/image-spec development by creating an account on GitHub.},
language = {en},
urldate = {2019-12-05},
journal = {GitHub},
author = {{Opencontainers}},
month = nov,
year = {2017}
}
@article{nust_containerit_2019,
title = {containerit: {Generating} {Dockerfiles} for reproducible research with {R}},
volume = {4},
issn = {2475-9066},
shorttitle = {containerit},
url = {https://joss.theoj.org/papers/10.21105/joss.01603},
doi = {10.21105/joss.01603},
number = {40},
urldate = {2019-12-05},
journal = {Journal of Open Source Software},
author = {Nüst, Daniel and Hinz, Matthias},
month = aug,
year = {2019},
pages = {1603}
}
@misc{stencila_dockta_2019,
title = {stencila/dockta},
copyright = {Apache-2.0},
url = {https://github.com/stencila/dockta},
abstract = {🐳 A Docker image builder for researchers. Contribute to stencila/dockta development by creating an account on GitHub.},
urldate = {2019-12-05},
publisher = {Stencila},
author = {{Stencila}},
month = nov,
year = {2019},
note = {original-date: 2018-10-04T05:00:17Z},
keywords = {docker, dockerfile, nodejs, python, r, reproducibility}
}
@misc{wikipedia_contributors_lint_2019,
title = {lint (software)},
copyright = {Creative Commons Attribution-ShareAlike License},
url = {https://en.wikipedia.org/w/index.php?title=Lint_(software)&oldid=907589761},
abstract = {lint, or a linter, is a tool that analyzes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs. The term originates from a Unix utility that examined C language source code.},
language = {en},
urldate = {2019-12-09},
journal = {Wikipedia},
author = {{Wikipedia contributors}},
month = jul,
year = {2019},
note = {Page Version ID: 907589761}
}
@misc{r_core_team_description_1999,
title = {The {DESCRIPTION} file in "Writing R Extensions"},
url = {https://cran.r-project.org/doc/manuals/r-release/R-exts.html#The-DESCRIPTION-file},
urldate = {2019-12-09},
author = {{R Core Team}},
year = {1999}
}
@Manual{eddelbuettel_littler_2019,
title = {littler: R at the Command-Line via 'r'},
author = {Dirk Eddelbuettel and Jeff Horner},
year = {2019},
note = {R package version 0.3.9},
url = {https://CRAN.R-project.org/package=littler}
}
@misc{the_python_software_foundation_requirements_2019,
title = {{Requirements Files} — pip {User} {Guide}},
url = {https://pip.pypa.io/en/stable/user_guide/#requirements-files},
urldate = {2019-12-09},
author = {{The Python Software Foundation}},
year = {2019}
}
% https://docs.anaconda.com/anaconda/user-guide/faq/#general
@misc{continuum_analytics_managing_2017,
title = {Managing environments — Conda documentation},
url = {https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html},
urldate = {2019-12-09},
author = {{Continuum Analytics}},
year = {2017}
}
@misc{julia_tomls_2019,
title = {10. {Project}.toml and {Manifest}.toml · {Pkg}.jl},
url = {https://julialang.github.io/Pkg.jl/v1/toml-files/},
urldate = {2019-12-09},
author = {{The Julia Language Contributors}},
year = {2019}
}
@misc{npm_creating_2019,
title = {Creating a package.json file {\textbar} npm {Documentation}},
url = {https://docs.npmjs.com/creating-a-package-json-file},
urldate = {2019-12-09},
author = {{npm}},
year = {2019}
}
@misc{blank_twitter_2019,
title = {Twitter thread on reproducibility time capsules on {Twitter}},
shorttitle = {Doug {Blank} auf {Twitter}},
url = {https://twitter.com/dougblank/status/1135904909663068165},
abstract = {„May not be a popular opinion: "reproducibility" shouldn't mean that anyone at any time can pick up code, run it, and get the same results. Rather, it should be about making a "time capsule" that, given the right tools, one can run it again. The first is a fool's errand.“ / Twitter},
language = {de},
urldate = {2019-12-09},
journal = {Twitter},
author = {Blank, Doug and {Twitter}},
month = jun,
year = {2019}
}
@misc{cookiecutter_contributors_cookiecutter_2019,
title = {cookiecutter/cookiecutter},
copyright = {BSD-3-Clause},
url = {https://github.com/cookiecutter/cookiecutter},
abstract = {A command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, jQuery plugin projects.},
urldate = {2019-12-09},
publisher = {cookiecutter},
author = {{\{Cookiecutter contributors\}}},
month = dec,
year = {2019},
note = {original-date: 2013-07-14T18:31:22Z},
keywords = {cookiecutter, python}
}
@misc{marwick_rrtools_2019,
title = {benmarwick/rrtools},
url = {https://github.com/benmarwick/rrtools},
abstract = {rrtools: Tools for Writing Reproducible Research in R},
urldate = {2019-12-09},
author = {Marwick, Ben},
month = dec,
year = {2019},
note = {original-date: 2017-07-21T13:11:21Z},
keywords = {r, reproducibility, reproducible-paper, reproducible-research, reproducible-science, research-compendium, research-paper, research-project, research-tool}
}
@misc{docker-compose_2019,
title = {Overview of {Docker} {Compose}},
url = {https://docs.docker.com/compose/},
abstract = {Introduction and Overview of Compose},
language = {en},
urldate = {2019-12-09},
journal = {Docker Documentation},
author = {{Docker Inc.}},
month = dec,
year = {2019}
}
@misc{bias_history_2016,
title = {The {History} of {Pets} vs {Cattle} and {How} to {Use} the {Analogy} {Properly}},
url = {http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/},
abstract = {I have been meaning to write this post for a long time, but one thing or another has gotten in the way. It’s important to me to provide an accurate history, ...},
urldate = {2019-12-10},
journal = {Cloudscaling},
author = {Bias, Randy},
month = sep,
year = {2016}
}
@article{marwick_readme_2015,
title = {{README} of 1989-excavation-report-{Madjebebe}},
url = {https://github.com/benmarwick/1989-excavation-report-Madjedbebe},
doi = {10.6084/m9.figshare.1297059},
abstract = {This repository contains source code and data to reproduce the data figures and statistics presented in the report on the 1989 excavations at Malakanunja. The report has been published as:
Clarkson, C., Mike Smith, Ben Marwick, Richard Fullagar, Lynley A. Wallis, Patrick Faulkner, Tiina Manne, Elspeth Hayes, Richard G. Roberts, Zenobia Jacobs, Xavier Carah, Kelsey M. Lowe, Jacqueline Matthews, S. Anna Florin 2015 The archaeology, chronology and stratigraphy of Madjedbebe (Malakunanja II): A site in northern Australia with early occupation. Journal of Human Evolution Volume 83, June 2015, Pages 46–64 http://dx.doi.org/10.1016/j.jhevol.2015.03.014
Active development of this repository is occuring at https://github.com/benmarwick/1989-excavation-report-Madjebebe},
urldate = {2016-06-24},
author = {Marwick, Ben},
year = {2015}
}
@misc{wikipedia_contributors_cron_2019,
title = {cron},
copyright = {Creative Commons Attribution-ShareAlike License},
url = {https://en.wikipedia.org/w/index.php?title=Cron&oldid=929379536},
abstract = {The software utility cron is a time-based job scheduler in Unix-like computer operating systems. Users that set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals. It typically automates system maintenance or administration—though its general-purpose nature makes it useful for things like downloading files from the Internet and downloading email at regular intervals. The origin of the name cron is from the Greek word for time, χρόνος (chronos).Cron is most suitable for scheduling repetitive tasks. Scheduling one-time tasks can be accomplished using the associated at utility.},
language = {en},
urldate = {2019-12-10},
journal = {Wikipedia},
author = {{Wikipedia contributors}},
month = dec,
year = {2019},
note = {Page Version ID: 929379536}
}
@article{chen_open_2019,
title = {Open is not enough},
volume = {15},
copyright = {2018 Springer Nature Limited},
issn = {1745-2481},
url = {https://www.nature.com/articles/s41567-018-0342-2},
doi = {10.1038/s41567-018-0342-2},
abstract = {The solutions adopted by the high-energy physics community to foster reproducible research are examples of best practices that could be embraced more widely. This first experience suggests that reproducibility requires going beyond openness.},
language = {En},
number = {2},
urldate = {2019-07-12},
journal = {Nature Physics},
author = {Chen, Xiaoli and Dallmeier-Tiessen, Sünje and Dasler, Robin and Feger, Sebastian and Fokianos, Pamfilos and Gonzalez, Jose Benito and Hirvonsalo, Harri and Kousidis, Dinos and Lavasa, Artemis and Mele, Salvatore and Rodriguez, Diego Rodriguez and Šimko, Tibor and Smith, Tim and Trisovic, Ana and Trzcinska, Anna and Tsanaktsidis, Ioannis and Zimmermann, Markus and Cranmer, Kyle and Heinrich, Lukas and Watts, Gordon and Hildreth, Michael and Iglesias, Lara Lloret and Lassila-Perini, Kati and Neubert, Sebastian},
month = feb,
year = {2019},
pages = {113}
}
@article{schonbrodt_training_2019,
title = {Training students for the {Open} {Science} future},
volume = {3},
issn = {2397-3374},
url = {http://www.nature.com/articles/s41562-019-0726-z},
doi = {10.1038/s41562-019-0726-z},
language = {en},
number = {10},
urldate = {2019-10-15},
journal = {Nature Human Behaviour},
author = {Schönbrodt, Felix},
month = oct,
year = {2019},
pages = {1031--1031}
}
@article{eglen_recent_2018,
title = {Recent developments in scholarly publishing to improve research practices in the life sciences},
volume = {2},
copyright = {© 2018 The Author(s). https://creativecommons.org/licenses/by-nc-nd/4.0/This is an open access article published by Portland Press Limited on behalf of the Biochemical Society and the Royal Society of Biology and distributed under the Creative Commons Attribution License 4.0 (CC BY-NC-ND).},
issn = {2397-8554, 2397-8562},
url = {http://www.emergtoplifesci.org/content/2/6/775},
doi = {10.1042/ETLS20180172},
abstract = {We outline recent developments in scholarly publishing that we think will improve the working environment and career prospects for life scientists. Most prominently, we discuss two key developments. (1) Life scientists are now embracing a preprint culture leading to rapid dissemination of research findings. (2) We outline steps to overcome the reproducibility crisis. We also briefly describe other innovations in scholarly publishing, along with changes to open access mandates from funding agencies.},
language = {en},
number = {6},
urldate = {2019-02-11},
journal = {Emerging Topics in Life Sciences},
author = {Eglen, Stephen J. and Mounce, Ross and Gatto, Laurent and Currie, Adrian M. and Nobis, Yvonne},
month = dec,
year = {2018},
pages = {775--778}
}
@article{eglen_codecheck_2019,
title = {{CODECHECK}: {An} open-science initiative to facilitate sharing of computer programs and results presented in scientific publications},
copyright = {Copyright (c) 2019 Stephen Eglen, Daniel Nüst},
issn = {2387-3086},
shorttitle = {{CODECHECK}},
url = {https://septentrio.uit.no/index.php/SCS/article/view/4910},
doi = {10.7557/5.4910},
language = {en},
number = {1},
urldate = {2019-12-10},
journal = {Septentrio Conference Series},
author = {Eglen, Stephen and Nüst, Daniel},
month = sep,
year = {2019}
}
@article{viereck_x11docker_2019,
title = {x11docker: {Run} {GUI} applications in {Docker} containers},
volume = {4},
issn = {2475-9066},
shorttitle = {x11docker},
url = {http://joss.theoj.org/papers/10.21105/joss.01349},
doi = {10.21105/joss.01349},
number = {37},
urldate = {2019-12-10},
journal = {Journal of Open Source Software},
author = {Viereck, Martin},
month = may,
year = {2019},
pages = {1349}
}
@misc{wikipedia_contributors_make_2019,
title = {Make (software)},
copyright = {Creative Commons Attribution-ShareAlike License},
url = {https://en.wikipedia.org/w/index.php?title=Make_(software)&oldid=929976465},
abstract = {In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program. Though integrated development environments and language-specific compiler features can also be used to manage a build process, Make remains widely used, especially in Unix and Unix-like operating systems.
Besides building programs, Make can be used to manage any project where some files must be updated automatically from others whenever the others change.},
language = {en},
urldate = {2019-12-10},
journal = {Wikipedia},
author = {{Wikipedia contributors}},
month = dec,
year = {2019},
note = {Page Version ID: 929976465}
}
@misc{wikipedia_contributors_version_2019,
title = {Version control},
copyright = {Creative Commons Attribution-ShareAlike License},
url = {https://en.wikipedia.org/w/index.php?title=Version_control&oldid=926593231},
abstract = {A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision". For example, an initial set of files is "revision 1". When the first change is made, the resulting set is "revision 2", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
The need for a logical way to organize and control revisions has existed for almost as long as writing has existed, but revision control became much more important, and complicated when the era of computing began. The numbering of book editions and of specification revisions are examples that date back to the print-only era. Today, the most capable (as well as complex) revision control systems are those used in software development, where a team of people may concurrently make changes to the same files.
Version control systems (VCS) most commonly run as stand-alone applications, but revision control is also embedded in various types of software such as word processors and spreadsheets, collaborative web docs and in various content management systems, e.g., Wikipedia's page history. Revision control allows for the ability to revert a document to a previous revision, which is critical for allowing editors to track each other's edits, correct mistakes, and defend against vandalism and spamming in wikis.},
language = {en},
urldate = {2019-12-10},
journal = {Wikipedia},
author = {{Wikipedia contributors}},
month = nov,
year = {2019},
note = {Page Version ID: 926593231}
}
@misc{singularity_frequently_2019,
title = {Frequently {Asked} {Questions} {\textbar} {Singularity}},
url = {http://singularity.lbl.gov/archive/docs/v2-2/faq#can-i-run-x11-apps-through-singularity},
urldate = {2019-12-10},
author = {{Singularity}},
year = {2019}
}
@misc{yaremenko_docker-x11-bridge_2019,
title = {{JAremko}/docker-x11-bridge},
copyright = {GPL-3.0},
url = {https://github.com/JAremko/docker-x11-bridge},
abstract = {Simple Xpra X11 bridge to enable GUI with any docker image},
urldate = {2019-12-10},
author = {Yaremenko, Eugene},
month = dec,
year = {2019},
note = {original-date: 2016-11-18T06:27:00Z},
keywords = {docker, docker-image, dockerfile, gui, ssh, tcp, x11, xpra}
}
@article{sochat_scientific_2018,
title = {The {Scientific} {Filesystem}},
volume = {7},
url = {https://academic.oup.com/gigascience/article/7/5/giy023/4931737},
doi = {10.1093/gigascience/giy023},
abstract = {AbstractBackground. Here, we present the Scientific Filesystem (SCIF), an organizational format that supports exposure of executables and metadata for discover},
language = {en},
number = {5},
urldate = {2019-12-10},
journal = {GigaScience},
author = {Sochat, Vanessa},
month = may,
year = {2018}
}
@misc{verstegen_pluc_mozambique_2019,
title = {{JudithVerstegen}/{PLUC}\_Mozambique: {First} release of {PLUC} for {Mozambique}},
shorttitle = {{JudithVerstegen}/{PLUC}\_Mozambique},
url = {https://zenodo.org/record/3519987},
abstract = {This is the first release of PLUC Mozambique. It is the land use change model described by Verstegen et al. [1]. Compared to what is described in the article, the model has been updated from Python 2 to Python 3, and functionality has been added to create a video from the time series output. [1] Verstegen, J.A., Karssenberg, D., van der Hilst, F., \& Faaij, A.P.C. (2012). Spatio-temporal uncertainty in Spatial Decision Support Systems: A case study of changing land availability for bioenergy crops in Mozambique. Computers, Environment and Urban Systems 36(1), 30-42. DOI: 10.1016/j.compenvurbsys.2011.08.003},
urldate = {2019-10-28},
publisher = {Zenodo},
author = {Judith A. Verstegen},
month = oct,
year = {2019},
doi = {10.5281/zenodo.3519987},
keywords = {Python, land use change, PCRaster}
}
@misc{yuvipanda_jupyter-desktop-server_2019,
title = {yuvipanda/jupyter-desktop-server},
copyright = {BSD-3-Clause},
url = {https://github.com/yuvipanda/jupyter-desktop-server},
abstract = {Run a Linux Desktop on a JupyterHub. Contribute to yuvipanda/jupyter-desktop-server development by creating an account on GitHub.},
urldate = {2019-12-10},
author = {Panda, Yuvi},
month = dec,
year = {2019},
note = {original-date: 2019-10-29T17:57:22Z}
}
@misc{selenium_2019,
title = {{SeleniumHQ}/selenium},
copyright = {Apache-2.0},
url = {https://github.com/SeleniumHQ/selenium},
abstract = {A browser automation framework and ecosystem. Contribute to SeleniumHQ/selenium development by creating an account on GitHub.},
urldate = {2019-12-10},
publisher = {Selenium},
author = {{Selenium contributors}},
month = dec,
year = {2019},
note = {original-date: 2013-01-14T21:40:56Z},
keywords = {dotnet, java, javascript, python, ruby, selenium, webdriver}
}
@misc{goodman_dive_2019,
title = {wagoodman/dive},
copyright = {MIT},
url = {https://github.com/wagoodman/dive},
abstract = {A tool for exploring each layer in a docker image. Contribute to wagoodman/dive development by creating an account on GitHub.},
urldate = {2019-12-10},
author = {Goodman, Alex},
month = dec,
year = {2019},
note = {original-date: 2018-05-13T15:44:01Z},
keywords = {cli, docker, docker-image, explorer, inspector, tui}
}
@misc{husain_repo2docker-action_2019,
title = {machine-learning-apps/repo2docker-action},
url = {https://github.com/machine-learning-apps/repo2docker-action},
abstract = {GitHub Action for repo2docker. Contribute to machine-learning-apps/repo2docker-action development by creating an account on GitHub.},
urldate = {2019-12-10},
publisher = {ML Apps},
author = {Husain, Hamel and Silkaitis, Rimas},
month = nov,
year = {2019},
note = {original-date: 2019-10-21T23:27:05Z}
}
@misc{scottyhq_repo2docker-githubci_2019,
title = {scottyhq/repo2docker-githubci},
copyright = {MIT},
url = {https://github.com/scottyhq/repo2docker-githubci},
abstract = {a template for building jupyterhub-compatible docker images with repo2docker and github actions},
urldate = {2019-12-10},
author = {Henderson, Scott},
month = nov,
year = {2019},
note = {original-date: 2019-11-20T19:51:40Z}
}
@inproceedings{katz_software_2018,
series = {Lecture {Notes} in {Computer} {Science}},
title = {Software {Citation} in {Theory} and {Practice}},
isbn = {978-3-319-96418-8},
doi = {10.1007/978-3-319-96418-8_34},
abstract = {In most fields, computational models and data analysis have become a significant part of how research is performed, in addition to the more traditional theory and experiment. Mathematics is no exception to this trend. While the system of publication and credit for theory and experiment (journals and books, often monographs) has developed and has become an expected part of the culture, how research is shared and how candidates for hiring, promotion are evaluated, software (and data) do not have the same history. A group working as part of the FORCE11 community developed a set of principles for software citation that fit software into the journal citation system, allow software to be published and then cited, and there are now over 50,000 DOIs that have been issued for software. However, some challenges remain, including: promoting the idea of software citation to developers and users; collaborating with publishers to ensure that systems collect and retain required metadata; ensuring that the rest of the scholarly infrastructure, particularly indexing sites, include software; working with communities so that software efforts “count”; and understanding how best to cite software that has not been published.},
language = {en},
booktitle = {Mathematical {Software} – {ICMS} 2018},
publisher = {Springer International Publishing},
author = {Katz, Daniel S. and Chue Hong, Neil P.},
editor = {Davenport, James H. and Kauers, Manuel and Labahn, George and Urban, Josef},
year = {2018},
keywords = {Bibliometrics, Credit, Software citation, Software identifiers, Software metadata, Software repositories},
pages = {289--296}
}
@misc{docker_multi-stage_2020,
title = {Use multi-stage builds},
url = {https://docs.docker.com/develop/develop-images/multistage-build/},
abstract = {Keeping your images small with multi-stage images},
language = {en},
urldate = {2020-02-25},
journal = {Docker Documentation},
author = {{Docker Inc.}},
month = feb,
year = {2020}
}
@misc{docker_inc_official_2020,
title = {Official {Images} on {Docker} {Hub}},
url = {https://docs.docker.com/docker-hub/official_images/},
abstract = {Guidelines for Official Images on Docker Hub},
language = {en},
urldate = {2020-03-02},
journal = {Docker Documentation},
author = {{Docker Inc.}},
month = feb,
year = {2020},
note = {Library Catalog: docs.docker.com}
}
@misc{docker_inc_best_2020,
title = {Best practices for writing {Dockerfiles}},
url = {https://docs.docker.com/develop/develop-images/dockerfile_best-practices/},
abstract = {Hints, tips and guidelines for writing clean, reliable Dockerfiles},
language = {en},
urldate = {2020-03-02},
journal = {Docker Documentation},
author = {{Docker Inc.}},
month = feb,
year = {2020},
note = {Library Catalog: docs.docker.com}
}
@misc{vass_intro_2019,
title = {Intro {Guide} to {Dockerfile} {Best} {Practices}},
url = {https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/},
language = {en-US},
urldate = {2020-04-15},
journal = {Docker Blog},
author = {Vass, Tibor},
month = jul,
year = {2019},
}
@article{cohen_four_2020,
title = {The {Four} {Pillars} of {Research} {Software} {Engineering}},
issn = {1937-4194},
doi = {10.1109/MS.2020.2973362},
abstract = {Abstract—Building software that can support the huge growth in data and computation required by modern research needs individuals with increasingly specialist skill sets that take time to develop and maintain. The Research Software Engineering movement, which started in the UK and has been built up over recent years, aims to recognise and support these individuals. Why does research software matter to professional software development practitioners outside the research community? Research software can have great impact on the wider world and recent progress means the area can now be considered as a more realistic option for a professional software development career. In this article we present a structure, along with supporting evidence of real-world activities, that defines four elements that we believe are key to providing comprehensive and sustainable support for Research Software Engineering. We also highlight ways that the wider developer community can learn from, and engage with, these activities.},
journal = {IEEE Software},
author = {Cohen, Jeremy and Katz, Daniel S. and Barker, Michelle and Chue Hong, Neil P and Haines, Robert and Jay, Caroline},
year = {2020},
note = {Conference Name: IEEE Software}
}
@misc{docker_inc_docker_cp_2020,
title = {docker cp},
url = {https://docs.docker.com/engine/reference/commandline/cp/},
language = {en},
urldate = {2020-03-02},