From 3b7d0e942b54ff35302c808f62af8b85da2c565b Mon Sep 17 00:00:00 2001 From: Olivier Seret Date: Fri, 13 Mar 2020 18:16:11 +0000 Subject: [PATCH 1/3] new docker file --- Dockerfile | 116 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 100 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index fae2107..0413f1d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,26 +1,110 @@ # This container will install IVA from master # -FROM debian:testing +FROM ubuntu:18.04 + +ARG DEBIAN_FRONTEND=noninteractive + +WORKDIR /tmp + +ENV INSTALL_DIRECTORY=/opt + # Install required dependancies -RUN apt-get -qq update && apt-get install -y openjdk-8-jdk python3-pip git wget unzip zlib1g-dev libncurses5-dev +RUN apt-get update -y -qq \ + && apt-get install -y -qq \ + openjdk-8-jdk \ + python3-pip \ + git \ + wget \ + unzip \ + zlib1g-dev \ + libncurses5-dev \ + pkg-config \ + libcurl4-openssl-dev \ + lbzip2 \ + zlib1g \ + libbz2-1.0 \ + libncurses5 \ + liblzma5 \ + build-essential \ + libncurses5-dev \ + libbz2-dev \ + liblzma-dev + ENV JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" -RUN git clone https://github.com/sanger-pathogens/iva.git -RUN cd iva && ./install_dependencies.sh -ENV PATH /iva/build/kmc-2.3.0:/iva/build/samtools-1.3:/iva/build/smalt-0.7.6-bin:/iva/build/samtools-1.3:/iva/build/MUMmer3.23:/iva/build/SPAdes-3.7.1-Linux/bin:$PATH -RUN export PATH -# Install optional dependencies -RUN wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.38.zip && unzip Trimmomatic-0.38.zip +ARG KMC_VERSION=3.0.0 +ARG MUMMER_VERSION=3.23 +ARG SAMTOOLS_VERSION=1.3 +ARG SMALT_VERSION=0.7.6 +ARG TRIMMOMATIC_VERSION=0.38 +ARG KRAKEN_VERSION=1.0 +ARG BLAST_VERSION=2.5.0 + +# kmc +RUN mkdir /opt/kmc-${KMC_VERSION} \ + && cd /opt/kmc-${KMC_VERSION} \ + && wget --progress=dot:giga https://github.com/refresh-bio/KMC/releases/download/v${KMC_VERSION}/KMC3.linux.tar.gz \ + && tar xf KMC3.linux.tar.gz \ + && rm KMC3.linux.tar.gz \ + && chmod -R 755 /opt/kmc-${KMC_VERSION} +ENV PATH=/opt/kmc-${KMC_VERSION}:$PATH + +# MUMmer +RUN cd /opt \ + && wget --progress=dot:giga "http://downloads.sourceforge.net/project/mummer/mummer/${MUMMER_VERSION}/MUMmer${MUMMER_VERSION}.tar.gz" \ + && tar xf MUMmer${MUMMER_VERSION}.tar.gz \ + && rm MUMmer${MUMMER_VERSION}.tar.gz \ + && cd MUMmer${MUMMER_VERSION} \ + && make +ENV PATH=/opt/MUMmer${MUMMER_VERSION}:$PATH + +# samtools +RUN cd /opt \ + && wget --progress=dot:giga "https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSION}/samtools-${SAMTOOLS_VERSION}.tar.bz2" \ + && tar xf samtools-${SAMTOOLS_VERSION}.tar.bz2 \ + && rm samtools-${SAMTOOLS_VERSION}.tar.bz2 \ + && cd samtools-${SAMTOOLS_VERSION} \ + && make +ENV PATH=/opt/samtools-${SAMTOOLS_VERSION}:$PATH + +# smalt +RUN cd /opt \ + && wget --progress=dot:giga http://downloads.sourceforge.net/project/smalt/smalt-${SMALT_VERSION}-bin.tar.gz \ + && tar xf smalt-${SMALT_VERSION}-bin.tar.gz \ + && rm smalt-${SMALT_VERSION}-bin.tar.gz \ + && cd smalt-${SMALT_VERSION}-bin \ + && ln -fs smalt_x86_64 smalt +ENV PATH=/opt/smalt-${SMALT_VERSION}-bin:$PATH + +# Trimmomatic +RUN cd / \ + && wget --progress=dot:giga http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-${TRIMMOMATIC_VERSION}.zip \ + && unzip Trimmomatic-${TRIMMOMATIC_VERSION}.zip \ + && rm Trimmomatic-${TRIMMOMATIC_VERSION}.zip -RUN wget http://ccb.jhu.edu/software/kraken/dl/kraken-1.0.tgz && tar -xvzf kraken-1.0.tgz -RUN cd kraken-1.0 && ./install_kraken.sh ../kraken_install -ENV PATH /kraken_install/:$PATH -RUN export PATH +# Kraken +RUN mkdir /tmp/KRAKEN \ + && cd /tmp/KRAKEN \ + && wget --progress=dot:giga http://ccb.jhu.edu/software/kraken/dl/kraken-${KRAKEN_VERSION}.tgz \ + && tar -xvzf kraken-${KRAKEN_VERSION}.tgz \ + && cd kraken-${KRAKEN_VERSION} \ + && ./install_kraken.sh /opt/kraken-${KRAKEN_VERSION} \ + && rm -rf /tmp/KRAKEN +ENV PATH=/opt/kraken-${KRAKEN_VERSION}/:$PATH -RUN wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.5.0/ncbi-blast-2.5.0+-x64-linux.tar.gz && tar -xzvf ncbi-blast-2.5.0+-x64-linux.tar.gz -ENV PATH /ncbi-blast-2.5.0+:$PATH -RUN export PATH +# ncbi blast +RUN cd /opt \ + && wget --progress=dot:giga ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${BLAST_VERSION}/ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz \ + && tar -xf ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz \ + && rm ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz +ENV PATH=/opt/ncbi-blast-${BLAST_VERSION}+/bin:$PATH # Install IVA -RUN cd iva && python3 setup.py install \ No newline at end of file +ARG BUILD_DIR=/tmp/IVA +COPY . $BUILD_DIR +RUN cd ${BUILD_DIR} \ + && pip3 install cython \ + && python3 setup.py test \ + && python3 setup.py install \ + && rm -rf ${BUILD_DIR} From 8868302cd4c0c8c900b80bf12d92b7c7303130ae Mon Sep 17 00:00:00 2001 From: Olivier Seret Date: Fri, 13 Mar 2020 18:28:52 +0000 Subject: [PATCH 2/3] fix travis --- .travis.yml | 5 ++++- install_dependencies.sh | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5b82bb2..49114d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,9 @@ addons: - zlib1g-dev - libncurses5-dev - libncursesw5-dev + - pkg-config + - libcurl4-openssl-dev + cache: directories: - build @@ -33,4 +36,4 @@ before_script: script: - "coverage run setup.py test" after_success: - - codecov \ No newline at end of file + - codecov diff --git a/install_dependencies.sh b/install_dependencies.sh index a688fd3..b3ae849 100755 --- a/install_dependencies.sh +++ b/install_dependencies.sh @@ -96,4 +96,4 @@ update_path ${mummer_dir} update_path ${samtools_dir} update_path ${smalt_dir} - +pip install cython From 1dd70f2dfabb30c16956481b2d74661c860710fb Mon Sep 17 00:00:00 2001 From: Olivier Seret Date: Fri, 13 Mar 2020 18:55:41 +0000 Subject: [PATCH 3/3] Fix travis build and update docker file --- .travis.yml | 5 ++--- Dockerfile | 9 --------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 49114d9..0a4f2a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,8 @@ addons: - zlib1g-dev - libncurses5-dev - libncursesw5-dev - - pkg-config - - libcurl4-openssl-dev - + - libbz2-dev + - liblzma-dev cache: directories: - build diff --git a/Dockerfile b/Dockerfile index 0413f1d..8038355 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,15 +19,6 @@ RUN apt-get update -y -qq \ unzip \ zlib1g-dev \ libncurses5-dev \ - pkg-config \ - libcurl4-openssl-dev \ - lbzip2 \ - zlib1g \ - libbz2-1.0 \ - libncurses5 \ - liblzma5 \ - build-essential \ - libncurses5-dev \ libbz2-dev \ liblzma-dev