Giter VIP home page Giter VIP logo

Comments (6)

michael-kotliar avatar michael-kotliar commented on August 16, 2024

I think it's preferable to have Dockerfile included in the repository. Alternatively, it should be mentioned from where we can get this Dockerfile in order to make some changes and rebuild the image ourselves. For example I want to use RSEM tool with STAR mapper . The Docker image (https://cloud.docker.com/u/biowardrobe2/repository/docker/biowardrobe2/rsem/tags) includes three mappers: STAR, Bowtie, Bowtie2. I don't need all of them. I might want to rebuild this image with only STAR installed

from bio-cwl-tools.

michael-kotliar avatar michael-kotliar commented on August 16, 2024

The software version in the Dockerfile should be hardcoded.
I would also add some metadata to the Dockerfile (see example below).

#################################################################
# Dockerfile
#
# Software:         FastQC
# Version:          v0.0.1
# Description:      Tool to spot potential problems in high througput sequencing datasets 
# Website:          http://www.bioinformatics.babraham.ac.uk/projects/fastqc
# Provides:         FastQC 0.11.8
# Base Image:       ubuntu:18.04
# Build Cmd:        docker build --rm -t cwlhub/fastqc:v0.0.1 .
# Pull Cmd:         docker pull cwlhub/fastqc:v0.0.1
# Run Cmd:          docker run --rm -ti cwlhub/fastqc:v0.0.1 fastqc --version
#################################################################

The Version field is the version of the docker image (not the version of the installed program).
All installed programs with their versions should be mentioned in the Provides field.

Additionally, I would be nice to use well known base images and install all required dependencies for each image separately, avoiding inheritance from the docker images of other tools. Otherwise it will cause a lot of "pain" while updating some R packages, for example :)

from bio-cwl-tools.

michael-kotliar avatar michael-kotliar commented on August 16, 2024

Also, Dockerfile and all custom scripts, that should be copied to the image, should be placed in a separate folder. Docker uses the current directory as the context for building images, so the smaller it is the "faster" it builds.

from bio-cwl-tools.

tfmorris avatar tfmorris commented on August 16, 2024

Biocontainers already has the Dockerfile, so it seems redundant to include an extra copy somewhere else. I like the idea of having the CWL and Dockerfile together though. Perhaps include the CWL alongside the Dockerfile? e.g. https://github.com/BioContainers/containers/blob/master/bamtools/2.4.0/Dockerfile

from bio-cwl-tools.

michael-kotliar avatar michael-kotliar commented on August 16, 2024

Then, I think, it's better to keep Dockerfile alongside CWL file only in case it was really necessary to use some custom container.

from bio-cwl-tools.

medcelerate avatar medcelerate commented on August 16, 2024

Would it be wise to just push the container to the biocontainers repo if something custom is needed?

from bio-cwl-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.