docker-builds icon indicating copy to clipboard operation
docker-builds copied to clipboard

Update Augur to 16.0.3

Open jwarnn opened this issue 3 years ago • 4 comments
trafficstars

Hello; I need an updated augur tool for making a Nextflow workflow for Nextstrain. Augur needs a version of python that is 3.7 or greater; apt-get downloads python 3.6.something. I download and install python from source because of this issue. I also do not download pip with apt-get because I want to make sure that the pip is compatible with the version of python that I already installed. The rest is pretty standard. Thanks.

Pull Request (PR) checklist:

  • [X] Include a description of what is in this pull request in this message.
  • [X] The dockerfile successfully builds to a test target for the user creating the PR. (i.e. docker build --tag samtools:1.15test --target test docker-builds/samtools/1.15 )
  • [X] Directory structure as name of the tool in lower case with special characters removed with a subdirectory of the version number (i.e. spades/3.12.0/Dockerfile)
    • [ ] (optional) All test files are located in same directory as the Dockerfile (i.e. shigatyper/2.0.1/test.sh)
  • [X] Create a simple container-specific README.md in the same directory as the Dockerfile (i.e. spades/3.12.0/README.md)
    • [ ] If this README is longer than 30 lines, there is an explanation as to why more detail was needed
  • [X] Dockerfile includes the recommended LABELS
  • [X] Main README.md has been updated to include the tool and/or version of the dockerfile(s) in this PR
  • [X] Program_Licenses.md contains the tool(s) used in this PR and has been updated for any missing

jwarnn avatar Aug 04 '22 19:08 jwarnn

This dockerfile looks very different from the prior version. This isn't a bad thing, it looks like augur has undergone a lot of changes, so it makes sense that the dockerfile would be different.

Things installed in v.9 (https://github.com/StaPH-B/docker-builds/blob/master/augur/9.0.0/Dockerfile)

  • python3
  • wget
  • python3-pip
  • iqtree=1.6.1+dfsg-1
  • build-essential
  • zlib1g-dev
  • pkg-config
  • mafft=7.310-1
  • locales
  • vcftools
  • nextstrain-augur
  • snakemake

In version 16 :

  • wget
  • build-essential
  • zlib1g-dev
  • libncurses5-dev
  • libgdbm-dev
  • libnss3-dev
  • libssl-dev
  • libreadline-dev
  • libffi-dev
  • libsqlite3-dev
  • libbz2-dev
  • liblzma-dev
  • pkg-config
  • libpng-dev
  • libfreetype6-dev
  • git
  • Python-3.8.0
  • pip3
  • pip
  • Cython

And so far it looks fine.

According to nextstrain's installation instructions at https://docs.nextstrain.org/projects/augur/en/stable/installation/installation.html, the following are also needed:

  • snakemake (for the tutorials)
  • mafft
  • iqtree (I wonder if they mean iqtree2)
  • raxml
  • fasttree
  • vcftools

Could you add these?

erinyoung avatar Aug 05 '22 15:08 erinyoung

I like the more robust test and this is how I would implement it:

FROM app as test

RUN pip3 install snakemake

RUN git clone https://github.com/nextstrain/zika-tutorial && \
    cd zika-tutorial && \
    snakemake --cores 1

I thought since snakemake will only be used in the test I wanted to keep it out of the app part of the build.

Also for the additional packages should we include versions? If yes; should I just use the minimum that is suggested in the Augur documentation? :

libfreetype6-dev \
  mafft python2.7- \
  iqtree \
  raxml \
  fasttree  \
  vcftools \
  git && \

Thanks!

jwarnn avatar Aug 05 '22 16:08 jwarnn

Looking at the bioconda recipe; it does not specify versions for those tools.

jwarnn avatar Aug 05 '22 17:08 jwarnn

Added tools and more robust test to Dockerfile.

jwarnn avatar Aug 05 '22 18:08 jwarnn

Looks good! I'm going to

  1. merge this
  2. send this to dockerhub and quay
  3. overwrite the latest tag

This should be done momentarily! Thank you!

erinyoung avatar Aug 12 '22 21:08 erinyoung