1- FROM nciccbr/ccbr_ubuntu_22.04:v4
1+ FROM rocker/tidyverse:4.3.2
22
33# build time variables
44ARG BUILD_DATE="000000"
@@ -8,65 +8,130 @@ ENV BUILD_TAG=${BUILD_TAG}
88ARG REPONAME="000000"
99ENV REPONAME=${REPONAME}
1010
11- ARG R_VERSION=4.3.2
12- ENV R_VERSION=${R_VERSION}
13-
1411SHELL ["/bin/bash" , "-lc" ]
1512
16- # Install conda and give write permissions to conda folder
17- RUN echo 'export PATH=/opt2/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
18- wget --quiet "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" -O ~/miniforge3.sh && \
19- /bin/bash ~/miniforge3.sh -b -p /opt2/conda && \
20- rm ~/miniforge3.sh && chmod 777 -R /opt2/conda/
21- ENV PATH="/opt2/conda/bin:$PATH"
22-
23- # Pin channels and update
24- RUN conda config --add channels conda-forge \
25- && conda config --add channels bioconda \
26- && conda config --set channel_priority strict
13+ RUN chmod 777 /usr/local/lib/R/site-library /usr/local/lib/R/library
2714
28- # install conda packages
29- RUN mamba install -y -c conda-forge \
30- r-base=${R_VERSION} \
31- r-devtools r-testthat \
32- r-anndata \
33- r-callr r-colorspace r-cowplot \
34- r-data.table r-dendextend r-dendsort r-digest r-dplyr \
35- r-future r-future.apply \
36- r-gargle r-gdata r-ggExtra r-ggplot2 r-ggpubr r-ggrepel r-globals r-glue r-gridBase r-gridExtra r-gtable \
37- r-harmony r-hdf5r r-htmlwidgets r-httpuv r-httr \
38- r-jsonlite \
39- r-leiden \
40- r-magrittr r-markdown r-MAST r-methods \
41- r-pheatmap r-plotly r-plyr r-png r-progressr r-pryr r-purrr \
42- r-quantmod \
43- r-RColorBrewer r-reshape2 r-reticulate r-rlang \
44- r-scales r-Seurat r-statmod r-stringr r-svglite \
45- r-tibble r-tidyr r-tidyverse \
46- r-viridisLite \
47- r-xfun \
48- r-zip \
49- bioconductor-celldex bioconductor-ComplexHeatmap \
50- bioconductor-edger \
51- bioconductor-limma \
52- bioconductor-scDblFinder bioconductor-SingleR \
53- bioconductor-genomicranges \
54- bioconductor-summarizedexperiment \
55- && conda clean -afy
15+ # https://github.com/Bioconductor/bioconductor_docker/blob/7335f85420199679432d2a328c3a59b551b6cfd0/bioc_scripts/install_bioc_sysdeps.sh
16+ RUN apt-get update && apt-get upgrade -y && \
17+ apt-get install -y --no-install-recommends --allow-unauthenticated \
18+ automake \
19+ biber \
20+ byacc \
21+ cmake \
22+ coinor-libcgl-dev \
23+ coinor-libsymphony-dev \
24+ coinor-libsymphony-doc \
25+ curl \
26+ default-jdk \
27+ default-libmysqlclient-dev \
28+ fortran77-compiler \
29+ ggobi \
30+ graphviz \
31+ imagemagick \
32+ jags \
33+ libapparmor-dev \
34+ libarchive-dev \
35+ libarchive-extract-perl \
36+ libavfilter-dev \
37+ libboost-dev \
38+ libbz2-dev \
39+ libcairo2-dev \
40+ libcgi-pm-perl \
41+ libdbd-mysql-perl \
42+ libdbi-perl \
43+ libeigen3-dev \
44+ libfftw3-dev \
45+ libfile-copy-recursive-perl \
46+ libfuse-dev \
47+ libgdal-dev \
48+ libgeos-dev \
49+ libgit2-dev \
50+ libgl1-mesa-dev \
51+ libglpk-dev \
52+ libglu1-mesa-dev \
53+ libgmp3-dev \
54+ libgsl0-dev \
55+ libgslcblas0 \
56+ libgtk2.0-dev \
57+ libgtkmm-2.4-dev \
58+ libhdf5-dev \
59+ libhdf5-serial-dev \
60+ libhiredis-dev \
61+ libjpeg-dev \
62+ libjpeg-turbo8-dev \
63+ libjpeg8-dev \
64+ liblapack-dev \
65+ liblzma-dev \
66+ libmagick++-dev \
67+ libmodule-build-perl \
68+ libmpfr-dev \
69+ libmysqlclient-dev \
70+ libncurses-dev \
71+ libnetcdf-dev \
72+ libopenbabel-dev \
73+ libopenmpi-dev \
74+ libpcre2-dev \
75+ libperl-dev \
76+ libpng-dev \
77+ libpoppler-cpp-dev \
78+ libpoppler-glib-dev \
79+ libpq-dev \
80+ libproj-dev \
81+ libprotobuf-dev \
82+ libprotoc-dev \
83+ librdf0-dev \
84+ libreadline-dev \
85+ librtmp-dev \
86+ libsasl2-dev \
87+ libsbml5-dev \
88+ libssl-dev \
89+ libtiff5-dev \
90+ libudunits2-dev \
91+ libv8-dev \
92+ libxml-simple-perl \
93+ libxml2-dev \
94+ libxpm-dev \
95+ libxt-dev \
96+ libz-dev \
97+ libzmq3-dev \
98+ mono-runtime \
99+ mpi-default-bin \
100+ ocl-icd-opencl-dev \
101+ openmpi-bin \
102+ openmpi-common \
103+ openmpi-doc \
104+ protobuf-compiler \
105+ python3-pip \
106+ sqlite3 \
107+ tabix \
108+ tcl8.6-dev \
109+ tk-dev \
110+ xfonts-100dpi \
111+ xfonts-75dpi \
112+ liblz4-dev \
113+ automake \
114+ cmake \
115+ default-jre \
116+ g++ \
117+ gcc \
118+ gdb \
119+ gfortran \
120+ libcurl4-gnutls-dev \
121+ make \
122+ pkg-config
56123
57124# install R package
58125COPY . /opt2/SCWorkflow
59- RUN R -e "devtools::install_local('/opt2/SCWorkflow', dependencies = TRUE, repos='http://cran.rstudio.com')"
126+ RUN R -e 'remotes::install_version("Seurat", version="4.3.0"); remotes::install_version("SeuratObject", version="4.1.3")' && \
127+ R -e "remotes::install_local('/opt2/SCWorkflow', dependencies = TRUE, upgrade='never', repos='http://cran.rstudio.com'); library(SCWorkflow)" && \
128+ R -s -e "readr::write_tsv(tibble::as_tibble(installed.packages()), '/mnt/r-packages.tsv')"
60129
61130# add scworkflow exec to the path
62- RUN chmod -R +x /opt2/conda /lib/R/library/SCWorkflow/exec
63- ENV PATH="$PATH:/opt2/conda /lib/R/library/SCWorkflow/exec"
131+ RUN chmod -R +x /usr/local /lib/R/site- library/SCWorkflow/exec
132+ ENV PATH="$PATH:/usr/local /lib/R/site- library/SCWorkflow/exec"
64133RUN scworkflow --help
65134
66- # copy example script & json to data
67- COPY ./inst/extdata/TestRunjson.sh /data2/
68- COPY ./inst/extdata/json_args/ /data2/json_args/
69-
70135# Save Dockerfile in the docker
71136COPY Dockerfile /opt2/Dockerfile_${REPONAME}.${BUILD_TAG}
72137RUN chmod a+r /opt2/Dockerfile_${REPONAME}.${BUILD_TAG}
0 commit comments