#########################################################################################################
# Software:         DESeq2
# Software Version: v0.0.2
# Description:      morpheus.R
# Website:          https://github.com/cmap/morpheus.R
# Provides:         morpheus.R
# Base Image:       r-base:4.2.1
# Build Cmd:        docker build --no-cache --rm -t biowardrobe2/morpheus:v0.0.2 -f morpheus-Dockerfile .
# Pull Cmd:         docker pull biowardrobe2/morpheus:v0.0.2
# Run Cmd:          docker run --rm -ti biowardrobe2/morpheus:v0.0.2 /bin/bash
#########################################################################################################
#
# v0.0.2
# - attempts to convert row annotations to numeric values, so we can use filtering in Morpheus
#
#########################################################################################################


### Base Image
FROM r-base:4.2.1
LABEL maintainer="misha.kotliar@gmail.com"
ENV DEBIAN_FRONTEND noninteractive

################## BEGIN INSTALLATION ######################

WORKDIR /tmp

ENV R_MAX_VSIZE=200000000000

COPY ./scripts/run_morpheus.R /usr/local/bin/run_morpheus.R

### Installing python3, pip3 and argparse
RUN apt-get update && \
    apt-get install -y vim pandoc gcc-10-base libgcc-10-dev python3-dev python3-pip libxml2-dev libssl-dev \
                       libcurl4-openssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev \
                       libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev && \
    pip3 install argparse && \
### Installing R packages
    R -e "install.packages('BiocManager')" && \
    R -e "BiocManager::install(version = '3.15', update = FALSE, ask = FALSE)" && \
    R -e "BiocManager::install(c('cmapR'))" && \
    R -e 'install.packages("tidyverse", repo = "https://cloud.r-project.org/")' && \
    R -e 'install.packages("argparse", repo = "https://cloud.r-project.org/")' && \
    R -e 'install.packages("devtools", repo = "https://cloud.r-project.org/")' && \
    R -e 'devtools::install_github("michael-kotliar/morpheus.R")' && \
### Installing run_morpheus.R scripts
    chmod +x /usr/local/bin/run_morpheus.R && \
### Cleaning
    apt-get clean && \
    apt-get purge && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* && \
    strip /usr/local/bin/*; true
