-
Alisandra Denton authoredAlisandra Denton authored
Dockerfile 4.17 KiB
#FROM nvidia/cuda:11.2.0-cudnn8-runtime-ubuntu20.04
FROM ubuntu:latest
# 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 install python3-dev \
python3-pip \
git \
libhdf5-dev \
curl \
wget \
nano vim emacs -y
RUN apt-get autoremove -y
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Berlin
RUN apt install libncurses5-dev zlib1g-dev libbz2-dev liblzma-dev cmake jellyfish python-tk libcurl4-openssl-dev libgit2-dev libssl-dev -y
RUN mkdir /home/$DOCKER_USER/repos && \
cd /home/$DOCKER_USER/repos && \
git clone https://github.com/alisandra/RNAseq_workshop_helpers.git && \
mkdir /home/$DOCKER_USER/bin && \
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/$DOCKER_USER/bin
RUN wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit && chmod +x faToTwoBit && \
wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/blat && chmod +x blat
# --- classic bioinf --- #
WORKDIR /home/$DOCKER_USER/
RUN apt install hisat2 \
bowtie2 \
augustus \
gffread \
fastqc \
salmon \
samtools \
minimap2 \
mash \
cd-hit tar bzip2 \
libhdf5-dev m4 -y
# last ones are for kallisto
# --- used to be conda, now binaries... --- #
# for virtualenv intro
ENV PATH="/home/$DOCKER_USER/.local/bin:${PATH}"
RUN pip install HTSeq virtualenv
RUN wget https://anaconda.org/bioconda/isoseq3/3.7.0/download/linux-64/isoseq3-3.7.0-h9ee0642_0.tar.bz2 && \
tar xvf isoseq3-3.7.0-h9ee0642_0.tar.bz2 && \
wget https://anaconda.org/bioconda/lima/2.6.0/download/linux-64/lima-2.6.0-h9ee0642_0.tar.bz2 && \
tar xvf lima-2.6.0-h9ee0642_0.tar.bz2 && \
wget https://anaconda.org/bioconda/pbccs/6.4.0/download/linux-64/pbccs-6.4.0-h9ee0642_0.tar.bz2 && \
tar xvf pbccs-6.4.0-h9ee0642_0.tar.bz2 && \
wget https://anaconda.org/bioconda/bax2bam/0.0.11/download/linux-64/bax2bam-0.0.11-0.tar.bz2 && \
tar xvf bax2bam-0.0.11-0.tar.bz2
# kallisto
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/hdf5/serial/lib
RUN cd /home/$DOCKER_USER/repos && \
curl -O -L http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz && \
tar -xzf autoconf-2.69.tar.gz && cd /home/$DOCKER_USER/repos/autoconf-2.69 && \
./configure && make && make install && cd /home/$DOCKER_USER/repos && \
git clone https://github.com/pachterlab/kallisto.git && \
mkdir kallisto/build && \
cd /home/$DOCKER_USER/repos/kallisto/build && \
cmake -DCMAKE_INSTALL_PREFIX=/home/$DOCKER_USER/ -DUSE_HDF5=ON .. && make && make install
# python
COPY python_installs.sh ./
RUN ./python_installs.sh && rm python_installs.sh
# jars
RUN mkdir /home/$DOCKER_USER/sw && \
cd /home/$DOCKER_USER/sw && \
wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip && \
apt install unzip -y && \
unzip Trimmomatic-0.39.zip && \
rm Trimmomatic-0.39.zip
# cleanup
WORKDIR /home/$DOCKER_USER/
RUN rm *.bz2 && rm -r info
# shared folder
# 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 && \
mv git-lfs-linux-amd64-v3.2.0.tar.gz sw/ && \
cd /home/$DOCKER_USER/sw/ && \
tar xvf git-lfs-linux-amd64-v3.2.0.tar.gz && \
cd /home/$DOCKER_USER/sw/git-lfs-3.2.0/ && \
./install.sh && \
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 install gmap -y
RUN rm -rf /var/lib/apt/lists/*
EXPOSE 8889
COPY ./first.sh /home/$DOCKER_USER/
RUN chown $DOCKER_USER:$DOCKER_USER /home/$DOCKER_USER/first.sh
RUN cd /home/$DOCKER_USER/repos/alisandra/cDNA_Cupcake && \
pip install .
ENV PATH="/home/$DOCKER_USER/bin:${PATH}"
USER $DOCKER_USER
RUN git lfs install
RUN echo "alias gmap='/usr/bin/gmap'" >> .bashrc
CMD ["bash"]