From 15b6fa4da0a5b01d88ac63f37677a2d177683444 Mon Sep 17 00:00:00 2001 From: Amandine PERRIN <amandine.perrin@pasteur.fr> Date: Fri, 18 Dec 2020 11:55:18 +0100 Subject: [PATCH] new version of docker image for tests: - prokka with updated tbl2asn binary - use ubuntu 20.04 --- .gitlab-ci.yml | 130 +++++++++++++++++++++---------------------- for_tests/Dockerfile | 73 ++++++++++++------------ 2 files changed, 103 insertions(+), 100 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 42d41b80..1ce2e8af 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,73 +23,73 @@ build-test-image: tags: - k8s -build-install-barrnap: - only: - - docker - stage: build - script: - - apk update #; apk add git - # - git checkout master -- requirements.txt - - docker build --pull -t "$CI_REGISTRY_IMAGE/install-ubuntu-barrnaponly" for_build/barrnap_only - - docker push "$CI_REGISTRY_IMAGE/install-ubuntu-barrnaponly" - tags: - - k8s +# build-install-barrnap: +# only: +# - docker +# stage: build +# script: +# - apk update #; apk add git +# # - git checkout master -- requirements.txt +# - docker build --pull -t "$CI_REGISTRY_IMAGE/install-ubuntu-barrnaponly" for_build/barrnap_only +# - docker push "$CI_REGISTRY_IMAGE/install-ubuntu-barrnaponly" +# tags: +# - k8s -build-install-annote-and-quicktree: - only: - - docker - stage: build - script: - - apk update #; apk add git - # - git checkout master -- requirements.txt - - docker build --pull -t "$CI_REGISTRY_IMAGE/install-ubuntu-annote-quicktree" for_build/annote_and_1tree - - docker push "$CI_REGISTRY_IMAGE/install-ubuntu-annote-quicktree" - tags: - - k8s +# build-install-annote-and-quicktree: +# only: +# - docker +# stage: build +# script: +# - apk update #; apk add git +# # - git checkout master -- requirements.txt +# - docker build --pull -t "$CI_REGISTRY_IMAGE/install-ubuntu-annote-quicktree" for_build/annote_and_1tree +# - docker push "$CI_REGISTRY_IMAGE/install-ubuntu-annote-quicktree" +# tags: +# - k8s -build-ubuntu: - only: - - docker - stage: build - script: - - apk update # ; apk add git - # - git checkout master -- requirements.txt - - docker build --pull -t "$CI_REGISTRY_IMAGE/install-ubuntu" for_build/ubuntu - - docker push "$CI_REGISTRY_IMAGE/install-ubuntu" - tags: - - k8s +# build-ubuntu: +# only: +# - docker +# stage: build +# script: +# - apk update # ; apk add git +# # - git checkout master -- requirements.txt +# - docker build --pull -t "$CI_REGISTRY_IMAGE/install-ubuntu" for_build/ubuntu +# - docker push "$CI_REGISTRY_IMAGE/install-ubuntu" +# tags: +# - k8s -build-mafft: - only: - - docker - stage: build - script: - - apk update # ; apk add git - # - git checkout master -- requirements.txt - - docker build --pull -t "$CI_REGISTRY_IMAGE/install-mafft" for_build/mafft - - docker push "$CI_REGISTRY_IMAGE/install-mafft" - tags: - - k8s +# build-mafft: +# only: +# - docker +# stage: build +# script: +# - apk update # ; apk add git +# # - git checkout master -- requirements.txt +# - docker build --pull -t "$CI_REGISTRY_IMAGE/install-mafft" for_build/mafft +# - docker push "$CI_REGISTRY_IMAGE/install-mafft" +# tags: +# - k8s -build-mmseqs_and_fastme: - only: - - docker - stage: build - script: - - apk update # ; apk add git - # - git checkout master -- requirements.txt - - docker build --pull -t "$CI_REGISTRY_IMAGE/install-mmseqs-fastme" for_build/mmseqs_and_fastme - - docker push "$CI_REGISTRY_IMAGE/install-mmseqs-fastme" - tags: - - k8s +# build-mmseqs_and_fastme: +# only: +# - docker +# stage: build +# script: +# - apk update # ; apk add git +# # - git checkout master -- requirements.txt +# - docker build --pull -t "$CI_REGISTRY_IMAGE/install-mmseqs-fastme" for_build/mmseqs_and_fastme +# - docker push "$CI_REGISTRY_IMAGE/install-mmseqs-fastme" +# tags: +# - k8s -build-install-prodigal: - only: - - docker - stage: build - script: - - apk update - - docker build --pull -t "$CI_REGISTRY_IMAGE/install-prodigal" for_build/prodigal - - docker push "$CI_REGISTRY_IMAGE/install-prodigal" - tags: - - k8s +# build-install-prodigal: +# only: +# - docker +# stage: build +# script: +# - apk update +# - docker build --pull -t "$CI_REGISTRY_IMAGE/install-prodigal" for_build/prodigal +# - docker push "$CI_REGISTRY_IMAGE/install-prodigal" +# tags: +# - k8s diff --git a/for_tests/Dockerfile b/for_tests/Dockerfile index 463042ba..63324a43 100644 --- a/for_tests/Dockerfile +++ b/for_tests/Dockerfile @@ -1,4 +1,4 @@ -from ubuntu:18.04 +from ubuntu:20.04 # Update apt-get packages RUN apt-get update &&\ @@ -12,47 +12,50 @@ RUN apt-get install -y \ python3-pip # Upgrade pip RUN pip3 install --upgrade pip +RUN mkdir /install_dir # Update makeblastdb and blastp for prokka -WORKDIR /tmp -RUN wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/ncbi-blast-2.10.1+-x64-linux.tar.gz &&\ +WORKDIR /install_dir +RUN wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.10.1/ncbi-blast-2.10.1+-x64-linux.tar.gz &&\ tar zxvpf ncbi-blast-2.10.1+-x64-linux.tar.gz &&\ - cp /tmp/ncbi-blast-2.10.1+/bin/makeblastdb /usr/local/bin/ &&\ - cp /tmp/ncbi-blast-2.10.1+/bin/blastp /usr/local/bin/ &&\ + cp /install_dir/ncbi-blast-2.10.1+/bin/makeblastdb /usr/local/bin/ &&\ + cp /install_dir/ncbi-blast-2.10.1+/bin/blastp /usr/local/bin/ &&\ rm ncbi-blast-2.10.1+-x64-linux.tar.gz # Install mash -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://github.com/marbl/Mash/releases/download/v2.2/mash-Linux64-v2.2.tar &&\ tar -xf mash-Linux64-v2.2.tar &&\ rm mash-Linux64-v2.2.tar &&\ - mv /tmp/mash-Linux64-v2.2/mash /usr/local/bin &&\ + mv /install_dir/mash-Linux64-v2.2/mash /usr/local/bin &&\ rm -r mash-Linux64-v2.2 # Install barrnap -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://github.com/tseemann/barrnap/archive/0.8.tar.gz &&\ tar -xf 0.8.tar.gz &&\ rm 0.8.tar.gz &&\ - mv /tmp/barrnap-0.8/bin/barrnap /usr/local/bin &&\ + mv /install_dir/barrnap-0.8/bin/barrnap /usr/local/bin &&\ # Remove heavy useless files - rm -r /tmp/barrnap-0.8/examples /tmp/barrnap-0.8/build/*.aln + rm -r /install_dir/barrnap-0.8/examples /install_dir/barrnap-0.8/build/*.aln + # Install prodigal -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://github.com/hyattpd/Prodigal/archive/v2.6.3.tar.gz &&\ tar -xzf v2.6.3.tar.gz &&\ rm v2.6.3.tar.gz -WORKDIR /tmp/Prodigal-2.6.3 +WORKDIR /install_dir/Prodigal-2.6.3 RUN make &&\ make install + # Install prokka: -WORKDIR /tmp -RUN apt-get install -y\ +WORKDIR /install_dir +RUN DEBIAN_FRONTEND="noninteractive" apt install -y\ libdatetime-perl \ libxml-simple-perl \ libdigest-md5-perl \ @@ -60,68 +63,68 @@ RUN apt-get install -y\ default-jre \ bioperl RUN git clone https://github.com/tseemann/prokka.git -RUN /tmp/prokka/bin/prokka --setupdb &&\ - ln -s /tmp/prokka/bin/prokka /usr/local/bin +RUN /install_dir/prokka/bin/prokka --setupdb &&\ + ln -s /install_dir/prokka/bin/prokka /usr/local/bin # Install MMseqs2 Version: f05f8c51d6e9c7c0b15fbd533e4b678303f50b3e -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://mmseqs.com/latest/mmseqs-linux-sse41.tar.gz &&\ tar xvfz mmseqs-linux-sse41.tar.gz &&\ rm mmseqs-linux-sse41.tar.gz &&\ - mv /tmp/mmseqs/bin/mmseqs /usr/local/bin &&\ + mv /install_dir/mmseqs/bin/mmseqs /usr/local/bin &&\ # remove useless files - rm -r /tmp/mmseqs + rm -r /install_dir/mmseqs # Install mafft 7.313 RUN rm /usr/bin/mafft # remove mafft installed with bioperl -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://mafft.cbrc.jp/alignment/software/mafft-7.313-with-extensions-src.tgz &&\ tar xf mafft-7.313-with-extensions-src.tgz &&\ rm mafft-7.313-with-extensions-src.tgz -WORKDIR /tmp/mafft-7.313-with-extensions/core +WORKDIR /install_dir/mafft-7.313-with-extensions/core RUN make clean &&\ make &&\ make install # Install FastTree version 2.1.11 Double precision (No SSE3) -WORKDIR /tmp +WORKDIR /install_dir RUN wget http://www.microbesonline.org/fasttree/FastTree.c &&\ gcc -DOPENMP -fopenmp -DUSE_DOUBLE -Wall -O3 -finline-functions -funroll-loops -o FastTreeMP FastTree.c -lm &&\ - ln -s /tmp/FastTreeMP /usr/local/bin + ln -s /install_dir/FastTreeMP /usr/local/bin ## Install FastME FastME 2.1.6.1 -WORKDIR /tmp +WORKDIR /install_dir RUN apt-get install -y automake &&\ git clone https://gite.lirmm.fr/atgc/FastME.git -WORKDIR /tmp/FastME -RUN ./configure &&\ - make &&\ - make install +WORKDIR /install_dir/FastME/tarball +RUN tar xzf fastme-2.1.6.2.tar.gz &&\ + rm fastme-2.1.6.2.tar.gz &&\ + ln -s /install_dir/FastME/tarball/fastme-2.1.6.2/binaries/fastme-2.1.6.2-linux64-omp /usr/local/bin/fastme # Install quicktree -WORKDIR /tmp +WORKDIR /install_dir RUN git clone https://github.com/tseemann/quicktree -WORKDIR quicktree +WORKDIR /install_dir/quicktree RUN make &&\ - ln -s /tmp/quicktree/quicktree /usr/local/bin + ln -s /install_dir/quicktree/quicktree /usr/local/bin # Install iqtree -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://github.com/Cibiv/IQ-TREE/releases/download/v1.6.12/iqtree-1.6.12-Linux.tar.gz RUN tar -xzf iqtree-1.6.12-Linux.tar.gz &&\ rm iqtree-1.6.12-Linux.tar.gz &&\ - ln -s /tmp/iqtree-1.6.12-Linux/bin/iqtree /usr/local/bin + ln -s /install_dir/iqtree-1.6.12-Linux/bin/iqtree /usr/local/bin # Install iqtree2 -WORKDIR /tmp +WORKDIR /install_dir RUN wget https://github.com/Cibiv/IQ-TREE/releases/download/v2.0.6/iqtree-2.0.6-Linux.tar.gz RUN tar -xzf iqtree-2.0.6-Linux.tar.gz &&\ rm iqtree-2.0.6-Linux.tar.gz &&\ - ln -s /tmp/iqtree-2.0.6-Linux/bin/iqtree2 /usr/local/bin + ln -s /install_dir/iqtree-2.0.6-Linux/bin/iqtree2 /usr/local/bin -- GitLab