From 1be517ac23b494e5ad40261fb5fded81e0369fb7 Mon Sep 17 00:00:00 2001 From: alisandra <alisandra.denton@hhu.de> Date: Mon, 22 Aug 2022 19:15:20 +0200 Subject: [PATCH] better but not good --- workflows/docker/Dockerfile | 110 +++++++++++++++++++++--------------- 1 file changed, 65 insertions(+), 45 deletions(-) diff --git a/workflows/docker/Dockerfile b/workflows/docker/Dockerfile index 8bbb527..942710a 100644 --- a/workflows/docker/Dockerfile +++ b/workflows/docker/Dockerfile @@ -1,6 +1,14 @@ #FROM nvidia/cuda:11.2.0-cudnn8-runtime-ubuntu20.04 FROM ubuntu:latest -RUN useradd --create-home --shell /bin/bash zim-gast + +# Overide user name at build, if buil-arg no passed, will create user named `default` user +ARG DOCKER_USER=zim-gast + +# Create a group and user +RUN adduser $DOCKER_USER + + +#RUN useradd --create-home --shell /bin/bash zim-gast RUN apt-get update -y RUN apt-get install -y --no-install-recommends apt-utils RUN apt-get install python3-dev -y @@ -32,56 +40,49 @@ ENV PATH="/root/.cargo/bin:${PATH}" # --- Helixer and HelixerPost --- # -WORKDIR /home/zim-gast/ -RUN mkdir /home/zim-gast/repos -WORKDIR /home/zim-gast/repos +WORKDIR /home/$DOCKER_USER/ +RUN mkdir /home/$DOCKER_USER/repos +WORKDIR /home/$DOCKER_USER/repos RUN git clone -b v0.3.0a0 https://github.com/weberlab-hhu/Helixer.git Helixer -RUN pip install --no-cache-dir -r /home/zim-gast/repos/Helixer/requirements.txt +RUN pip install --no-cache-dir -r /home/$DOCKER_USER/repos/Helixer/requirements.txt RUN cd Helixer && pip install --no-cache-dir . -WORKDIR /home/zim-gast/repos +WORKDIR /home/$DOCKER_USER/repos RUN git clone https://github.com/TonyBolger/HelixerPost.git RUN cd HelixerPost && git checkout d180ad8b353fa8da69342bdb924ecfaeea9464af -RUN mkdir /home/zim-gast/bin -ENV PATH="/home/zim-gast/bin:${PATH}" +RUN mkdir /home/$DOCKER_USER/bin +ENV PATH="/home/$DOCKER_USER/bin:${PATH}" RUN cd HelixerPost/helixer_post_bin && cargo build --release -RUN mv /home/zim-gast/repos/HelixerPost/target/release/helixer_post_bin /home/zim-gast/bin/ -RUN rm -r /home/zim-gast/repos/HelixerPost/target/release/ - +RUN mv /home/$DOCKER_USER/repos/HelixerPost/target/release/helixer_post_bin /home/$DOCKER_USER/bin/ +RUN rm -r /home/$DOCKER_USER/repos/HelixerPost/target/release/ -# -RUN apt install r-base-core -y -#RUN apt install rstudio -y RUN apt install libncurses5-dev zlib1g-dev libbz2-dev liblzma-dev cmake jellyfish python-tk libcurl4-openssl-dev libgit2-dev libssl-dev -y -WORKDIR /home/zim-gast/repos +WORKDIR /home/$DOCKER_USER/repos RUN git clone https://github.com/alisandra/RNAseq_workshop_helpers.git -RUN find RNAseq_workshop_helpers . -maxdepth 2 -type f -executable|xargs -I% cp % /home/zim-gast/bin/ +RUN find RNAseq_workshop_helpers . -maxdepth 2 -type f -executable|xargs -I% cp % /home/$DOCKER_USER/bin/ #echo "please add the following lines to your ~/.bashrc file" #echo 'export PATH=$PATH:'$SOFTWAREDIR'/bin' #echo 'export AUGUSTUS_CONFIG_PATH='$SOFTWAREDIR'/downloads/augustus.2.5.5/config/' -WORKDIR /home/zim-gast/bin -RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit -RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/blat -RUN chmod +x blat -RUN chmod +x faToTwoBit +WORKDIR /home/$DOCKER_USER/bin +RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit && chmod +x faToTwoBit +RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/blat && chmod +x blat # --- classic bioinf --- # -WORKDIR /home/zim-gast/ -RUN apt install hisat2 -y -RUN apt install bowtie2 -y -RUN apt install augustus -y -RUN apt install gffread -y -RUN apt install fastqc -y -RUN apt install salmon -y -RUN apt install samtools -y -RUN apt install trinityrnaseq -y -RUN apt install minimap2 -y -RUN apt install mash -y -RUN apt install cd-hit -y +WORKDIR /home/$DOCKER_USER/ +RUN apt install hisat2 \ + bowtie2 \ + augustus \ + gffread \ + fastqc \ + salmon \ + samtools \ + minimap2 \ + mash \ + cd-hit -y # --- used to be conda, now binaries... --- # @@ -98,19 +99,19 @@ RUN tar xvf bax2bam-0.0.11-0.tar.bz2 # kallisto RUN apt install libhdf5-dev m4 -y -WORKDIR /home/zim-gast/repos +WORKDIR /home/$DOCKER_USER/repos RUN curl -O -L http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz RUN tar -xzf autoconf-2.69.tar.gz -WORKDIR /home/zim-gast/repos/autoconf-2.69 +WORKDIR /home/$DOCKER_USER/repos/autoconf-2.69 RUN ./configure RUN make RUN make install -WORKDIR /home/zim-gast/repos +WORKDIR /home/$DOCKER_USER/repos RUN git clone https://github.com/pachterlab/kallisto.git RUN mkdir kallisto/build -WORKDIR /home/zim-gast/repos/kallisto/build +WORKDIR /home/$DOCKER_USER/repos/kallisto/build ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/hdf5/serial/lib -RUN cmake -DCMAKE_INSTALL_PREFIX=/home/zim-gast/ -DUSE_HDF5=ON .. +RUN cmake -DCMAKE_INSTALL_PREFIX=/home/$DOCKER_USER/ -DUSE_HDF5=ON .. RUN make RUN make install # python @@ -120,29 +121,48 @@ RUN rm python_installs.sh # for virtualenv intro RUN pip install virtualenv -ENV PATH="/home/zim-gast/.local/bin:${PATH}" +ENV PATH="/home/$DOCKER_USER/.local/bin:${PATH}" # jars -RUN mkdir /home/zim-gast/sw -WORKDIR /home/zim-gast/sw +RUN mkdir /home/$DOCKER_USER/sw +WORKDIR /home/$DOCKER_USER/sw RUN wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip +RUN apt install unzip -y RUN unzip Trimmomatic-0.39.zip RUN rm Trimmomatic-0.39.zip # cleanup -WORKDIR /home/zim-gast/ +WORKDIR /home/$DOCKER_USER/ RUN rm *.bz2 RUN rm -r info # shared folder -RUN mkdir /home/zim-gast/rnaseq-workshop +# rnaseq-workshop folder +RUN wget https://github.com/git-lfs/git-lfs/releases/download/v3.2.0/git-lfs-linux-amd64-v3.2.0.tar.gz +RUN mv git-lfs-linux-amd64-v3.2.0.tar.gz sw/ +WORKDIR /home/$DOCKER_USER/sw/ +RUN tar xvf git-lfs-linux-amd64-v3.2.0.tar.gz +WORKDIR /home/$DOCKER_USER/sw/git-lfs-3.2.0/ +RUN ./install.sh +RUN rm ../git-lfs-linux-amd64-v3.2.0.tar.gz +WORKDIR /home/$DOCKER_USER/ + +#RUN git clone https://git.nfdi4plants.org/brilator/rnaseq-workshop.git + +RUN mkdir /home/$DOCKER_USER/rnaseq-workshop -RUN apt purge gmap -y RUN apt install gmap -y +RUN rm -rf /var/lib/apt/lists/* EXPOSE 8889 -USER zim-gast + +COPY ./first.sh /home/$DOCKER_USER/ +RUN chown $DOCKER_USER:$DOCKER_USER /home/$DOCKER_USER/first.sh +USER $DOCKER_USER + +RUN git lfs install RUN echo "alias gmap='/usr/bin/gmap'" >> .bashrc + CMD ["bash"] -- GitLab