nuest / ten-simple-rules-dockerfiles

Ten Simple Rules for Writing Dockerfiles for Reproducible Data Science
https://doi.org/10.1371/journal.pcbi.1008316
Creative Commons Attribution 4.0 International
62 stars 15 forks source link

related work #49

Closed mr-c closed 4 years ago

mr-c commented 4 years ago

https://doi.org/10.12688/f1000research.15140.2

nuest commented 4 years ago

Thank you for the pointer - strongly related.

psychemedia commented 4 years ago

I'd noticed this too, with a mental note to try to compare the points with the rules presented in this repo.

nuest commented 4 years ago

@psychemedia Did you do the comparison yet?

psychemedia commented 4 years ago

Sorry - no; will try to have a look at this tomorrow...

psychemedia commented 4 years ago

So I've done a quick review of the paper, published as Gruening B, Sallou O, Moreno P et al. Recommendations for the packaging and containerizing of bioinformatics software [version 2; peer review: 2 approved, 1 approved with reservations]. F1000Research 2019, 7(ELIXIR):742 (https://doi.org/10.12688/f1000research.15140.2) which has a focus on the containerisation of single applications ("an encapsulated and immutable version of an application, coupled with the bare-minimum operating system components (e.g. dependencies) required for execution") relevant to the bioinformatics domain .

Some things that jumped out wrt current draft of paper drafted in this repo:

psychemedia commented 4 years ago

One more, regarding Extension packages and programming language modules, their recommendation 1. A package first, which suggests a) using a package manager for software release in general, b) using Bioconda in particular in their domain:

Bioconda is a channel for the Conda package manager specialised in bioinformatics software. You can create a Conda package by defining a BioConda recipe [example provided]. This recipe includes enough information about the dependencies, the license and fundamental metadata to find, retrieve and use the package. When a recipe is added to Bioconda, it is automatically built into a usable package, tested and made available as a Docker container via Quay.io and as a Singularity container, and is displayed in the BioContainers registry

nuest commented 4 years ago

Thanks @psychemedia for the analysis! Very helpful. I think there is a clear distinction: we worry less about image sizes or single applications, but about packaging whole workflows and making the image the actual research environment.

I tried to connect to the article using your thoughts in https://github.com/nuest/ten-simple-rules-dockerfiles/commit/ee13e359f3a15ead01e3ae3a65bb1bd60eff5fe2

Let me know what you think, please re-open if you think this is not an adequate referencing of the other work.

CC: @vsoch @sje30 @betatim @benmarwick