FROM nvidia/cuda:11.2.0-cudnn8-runtime-ubuntu20.04
RUN useradd --create-home --shell /bin/bash helixer_user
RUN apt-get update -y
RUN apt-get install -y --no-install-recommends apt-utils
RUN apt-get install python3-dev -y
RUN apt-get install python3-pip -y
RUN apt-get install python3-venv -y
RUN apt-get install git -y
RUN apt-get install libhdf5-dev -y
RUN apt-get install curl -y
RUN apt-get install wget -y
RUN apt-get autoremove -y

ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Berlin
## --- prep for hdf5 for HelixerPost --- #
#WORKDIR /tmp/
#RUN curl -L https://github.com/h5py/h5py/releases/download/3.2.1/h5py-3.2.1.tar.gz --output h5py-3.2.1.tar.gz
#RUN tar -xzvf h5py-3.2.1.tar.gz
##RUN gcc -O2 -fPIC -shared -Ilzf -I/usr/include/hdf5/serial/ lzf/*.c lzf_filter.c -lhdf5 -L/lib/x86_64-linux-gnu/hdf5/serial -o liblzf_filter.so
#RUN cd h5py-3.2.1/lzf/ && gcc -O2 -fPIC -shared -Ilzf -I/usr/include/hdf5/serial/ lzf/*.c lzf_filter.c  -lhdf5_cpp -L/lib/x86_64-linux-gnu/hdf5/serial -o liblzf_filter.so
#RUN mkdir /usr/lib/x86_64-linux-gnu/hdf5/plugins && mv h5py-3.2.1/lzf/liblzf_filter.so /usr/lib/x86_64-linux-gnu/hdf5/plugins
#RUN rm -r /tmp/h5py*
#
## --- rust install for HelixerPost --- # 
#RUN curl https://sh.rustup.rs -sSf > rustup.sh
#RUN chmod 755 rustup.sh
#RUN ./rustup.sh -y
#RUN rm rustup.sh
#ENV PATH="/root/.cargo/bin:${PATH}"
#
## --- Helixer and HelixerPost --- #
#
#WORKDIR /home/helixer_user/
#RUN git clone -b v0.3.0a0 https://github.com/weberlab-hhu/Helixer.git Helixer
#RUN pip install --no-cache-dir -r /home/helixer_user/Helixer/requirements.txt
#RUN cd Helixer && pip install --no-cache-dir .
#
WORKDIR /home/helixer_user/
#RUN git clone https://github.com/TonyBolger/HelixerPost.git
#RUN cd HelixerPost && git checkout d180ad8b353fa8da69342bdb924ecfaeea9464af
RUN mkdir bin
ENV PATH="/home/helixer_user/bin:${PATH}"
#RUN cd HelixerPost/helixer_post_bin && cargo build --release
#RUN mv /home/helixer_user/HelixerPost/target/release/helixer_post_bin /home/helixer_user/bin/
#RUN rm -r /home/helixer_user/HelixerPost/target/release/


# 
RUN apt install r-base-core  -y
#RUN apt install rstudio  -y
RUN apt install vim gedit git libncurses5-dev zlib1g-dev libbz2-dev liblzma-dev virtualenv python-dev cmake jellyfish python-tk libcurl4-openssl-dev libgit2-dev libssl-dev -y

WORKDIR /home/helixer_user/
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/helixer_user/bin/


#SOFTWAREDIR=$PWD

#mkdir bin
# the raw files
#find . -maxdepth 2 -type f -executable|xargs -I% cp % bin/
# alphabetically through the downloads
#cp downloads/augustus.2.5.5/bin/* bin/

#find downloads/bowtie2-2.3.4.2-linux-x86_64/ -maxdepth 1 -type f\
#  -executable|xargs -I% cp % bin/

#find downloads/cd-hit-v4.6.8-2017-1208/ -maxdepth 2 -type f \
#  -executable|xargs -I% cp % bin/

#ln -s ../downloads/FastQC/fastqc bin/

#cp downloads/gffread/gffread bin/

#cd downloads/gmap-2018-07-04
#./configure --prefix=$SOFTWAREDIR
#make
#make install
#cd ../..

#find downloads/hisat2-2.1.0 -maxdepth 1 -type f -executable |xargs -I% cp % bin/

#cp downloads/kallisto_linux-v0.44.0/kallisto bin/

#cp downloads/mash-Linux64-v2.0/mash bin/

#find downloads/minimap2-2.12_x64-linux/ -maxdepth 1 -type f -executable |xargs -I% cp % bin/

#find downloads/RNAseq_workshop_helpers/ -maxdepth 1 -type f -executable |xargs -I% cp % bin/

#ln -s ../downloads/salmon-0.11.2-linux_x86_64/bin/salmon bin/

#cd downloads/samtools-1.9
#./configure --prefix=$SOFTWAREDIR && make && make install
#cd ../..

#ln -s ../downloads/trinityrnaseq-Trinity-v2.8.2/Trinity 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/helixer_user/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 


# --- classic bioinf --- #
WORKDIR /home/helixer_user/
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 gmap -y
RUN apt install cd-hit -y

# --- conda/python --- #

FROM conda/miniconda3
WORKDIR /home/helixer_user/
RUN conda update conda
#RUN conda create -n anaCogent5.2 python=3.7 anaconda
#RUN conda init bash
#RUN conda activate anaCogent5.2
RUN conda install python=3.8
RUN conda install libgcc-ng=9.3
RUN conda install anaconda
RUN conda update -n base -c defaults conda -y
RUN conda install biopython -y
#RUN conda install -c http://conda.anaconda.org/cgat bx-python -y
RUN pip install bx-python
#RUN conda install -c bioconda bx-python -y
RUN conda install -c bioconda isoseq3 -y
RUN conda install -c bioconda pbccs -y
RUN conda install -c bioconda pbcoretools -y
RUN conda install -c bioconda bamtools -y
RUN conda install -c bioconda pysam -y
RUN pip install HTSeq 
USER helixer_user
CMD ["bash"]
