From 4a47f5c4c98343195740051297a2d10295385d6c Mon Sep 17 00:00:00 2001 From: "Godwin N. Ani" Date: Tue, 25 Mar 2025 17:49:21 -0400 Subject: [PATCH] Update Dockerfile.txt --- PTL2/Dockerfile.txt | 82 ++++++++++++++++----------------------------- 1 file changed, 29 insertions(+), 53 deletions(-) diff --git a/PTL2/Dockerfile.txt b/PTL2/Dockerfile.txt index b62afd3..2f7f994 100644 --- a/PTL2/Dockerfile.txt +++ b/PTL2/Dockerfile.txt @@ -1,63 +1,23 @@ FROM python:3.8.20-bullseye - - RUN apt-get update -y && apt-get upgrade -y && \ - apt-get install git wget ncbi-blast+-legacy mafft build-essential vim -y + apt-get install -y \ + git wget ncbi-blast+-legacy mafft build-essential vim unzip cmake gcc g++ \ + libomp-dev libboost-all-dev libeigen3-dev cpanminus && \ + rm -rf /var/lib/apt/lists/* - -# EukPhylo installation -# Tested on: RUN git clone -b patch-1 https://github.com/DLBPointon/EukPhylo.git - -# Install python dependencies +# Install Python dependencies RUN pip install biopython==1.75 ete3==3.1.2 tqdm==4.66.4 six==1.17.0 -RUN git clone -b Docker https://github.com/Katzlab/EukPhylo.git - - -# Install dependencies -RUN apt-get update && apt-get install -y \ - unzip \ - cmake \ - gcc \ - g++ \ - libomp-dev \ - libboost-all-dev \ - libeigen3-dev \ - && rm -rf /var/lib/apt/lists/* - -# Clone IQ-TREE 2 repository with submodules and compile it -RUN git clone --recursive https://github.com/iqtree/iqtree2.git && \ - cd iqtree2 && \ - git checkout v2.4.0 && \ - mkdir build && cd build && \ - cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ .. && \ - make -j$(nproc) && \ - make install && \ - cd ../.. && rm -rf iqtree2 - - -# VSEARCH installation -RUN wget https://github.com/torognes/vsearch/releases/download/v2.21.0/vsearch-2.21.0-linux-aarch64.tar.gz && \ - tar xzf vsearch-2.21.0-linux-aarch64.tar.gz && \ - mv vsearch-2.21.0-linux-aarch64 /usr/local/vsearch && \ - ln -s /usr/local/vsearch/bin/vsearch /usr/local/bin/vsearch - -# Guidance installation -RUN mkdir guidance && \ - wget https://taux.evolseq.net/guidance/static/download/guidance.v2.02.tar.gz && \ - tar -xzvf guidance.v2.02.tar.gz -C guidance --no-same-owner && \ - cd guidance/guidance.v2.02 && make +# Guidance installation and debug for 'guidance.pl' file existence +RUN git clone https://github.com/anzaika/guidance.git && \ + cd guidance && make # Guidance bio perl dependency RUN apt-get update && apt-get install -y cpanminus && \ cpanm Bio::Perl -# Clean the container -RUN rm -rf vsearch-2.21.0-linux-aarch64.tar.gz guidance.v2.02.tar.gz - - -# Download and compile TrimAl from source +# TrimAl installation RUN wget -O trimal-1.5.0.zip https://github.com/inab/trimal/archive/refs/tags/v1.5.0.zip && \ unzip trimal-1.5.0.zip && \ cd trimal-1.5.0/source && \ @@ -72,15 +32,31 @@ RUN wget http://www.microbesonline.org/fasttree/FastTree && \ chmod +x FastTree && \ mv FastTree /usr/local/bin/ +# Clone IQ-TREE 2 repository and compile it +RUN git clone --recursive https://github.com/iqtree/iqtree2.git && \ + cd iqtree2 && \ + git checkout v2.4.0 && \ + mkdir build && cd build && \ + cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ .. && \ + make -j$(nproc) && \ + make install && \ + cd ../.. && rm -rf iqtree2 -# Add executables to path +# Clean the container +RUN rm -rf vsearch-2.21.0-linux-aarch64.tar.gz + +# EukPhylo installation +RUN git clone -b Docker https://github.com/Katzlab/EukPhylo.git + + +# Add executables to PATH ENV PATH="$PATH:/iqtree/bin/iqtree:/usr/local/vsearch/bin/vsearch:/usr/local/trimal/trimal:/usr/local/bin" # Change executable permissions on wrapper script RUN ["chmod", "+x", "/EukPhylo/PTL2/run_eukphylo.sh"] -# Change executable permissions on guidance -RUN ["chmod", "+x", "/guidance/guidance.v2.02/www/Guidance/guidance.pl"] +# Change executable permissions on guidance.pl after confirming its existence +RUN ["chmod", "+x", "/guidance/www/Guidance/guidance.pl"] # Change entrypoint on execution of the container -ENTRYPOINT ["bash","/EukPhylo/PTL2/run_eukphylo.sh"] +ENTRYPOINT ["bash", "/EukPhylo/PTL2/run_eukphylo.sh"]