#################################################################
# Software:         UpSetR
# Software Version: v0.0.1
# Description:      Dockerized version of UpSetR
# Website:          https://cran.r-project.org/web/packages/UpSetR/index.html
# Provides:         UpSetR
# Base Image:       r-base:4.3.1
# Build Cmd:        docker build --platform linux/amd64 --no-cache --rm -t biowardrobe2/upsetr:v0.0.1 -f upsetr-Dockerfile .
# Pull Cmd:         docker pull --platform linux/amd64 biowardrobe2/upsetr:v0.0.1
# Run Cmd:          docker run --platform linux/amd64 --rm -ti biowardrobe2/upsetr:v0.0.1 /bin/bash
#################################################################


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

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

WORKDIR /tmp
ENV R_MAX_VSIZE=200000000000

COPY ./scripts/souporcell_cluster_overlap.R /usr/local/bin/souporcell_cluster_overlap.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 \
                       libfreetype-dev libpng-dev libtiff5-dev libjpeg-dev && \
    pip3 install --break-system-packages argparse && \
### Installing required R packages
    R -e 'install.packages("tidyverse", repo = "https://cloud.r-project.org/")' && \
    R -e 'install.packages("patchwork", repo = "https://cloud.r-project.org/")' && \
    R -e 'install.packages("argparse", repo = "https://cloud.r-project.org/")' && \
    R -e 'install.packages("UpSetR", repo = "https://cloud.r-project.org/")' && \
### Installing souporcell_cluster_overlap.R script
    chmod +x /usr/local/bin/souporcell_cluster_overlap.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
