-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.v2
104 lines (85 loc) · 3.86 KB
/
Dockerfile.v2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
From r-base:3.5.0
RUN apt-get update && apt-get install -y python3
RUN apt-get -y install libxml2-dev python-pip python-dev git libcairo2-dev libxt-dev xorg openbox software-properties-common openssl libcurl4-openssl-dev libssl-dev wget net-tools default-jre default-jdk time curl
RUN pip install --upgrade pip
#install cmake
RUN wget http://www.cmake.org/files/v3.12/cmake-3.12.1.tar.gz
RUN tar -zxvf cmake-3.12.1.tar.gz
RUN cd cmake-3.12.1 && ./bootstrap
RUN cd cmake-3.12.1 && make && make install
#install liknorm
RUN git clone https://github.com/glimix/liknorm.git
RUN cd liknorm && mkdir build && cd build && cmake .. && make && make install
#install Python packages
RUN pip install numpy
RUN pip install scipy
RUN pip install h5py
RUN pip install GPy
RUN bash -c "curl -fsSL https://raw.githubusercontent.com/horta/zstd.install/master/install | bash"
RUN bash -c "curl -fsSL https://raw.githubusercontent.com/horta/almosthere/master/install | bash"
RUN bash -c "curl -fsSL https://raw.githubusercontent.com/limix/bgen/master/install | bash"
RUN pip install limix
RUN pip install scLVM
#install HDF5
RUN wget -O hdf5.tar.gz http://gecftools.epfl.ch/hdf5-1.10.4-linux-centos7-x86_64-gcc485-shared.tar.gz
RUN tar -zxf hdf5.tar.gz
ENV LD_LIBRARY_PATH=/hdf5-1.10.4-linux-centos7-x86_64-gcc485-shared/lib/
ENV PATH=$PATH:/hdf5-1.10.4-linux-centos7-x86_64-gcc485-shared/bin
RUN cd /hdf5-1.10.4-linux-centos7-x86_64-gcc485-shared/bin && ./h5redeploy -force
RUN wget -O hdf5r_1.0.1.tar.gz https://cran.r-project.org/src/contrib/hdf5r_1.0.1.tar.gz
#Install R packages
RUN Rscript -e "install.packages('R6', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('bit64', repos='http://stat.ethz.ch/CRAN/');"
RUN R --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL --configure-args="--with-hdf5=/hdf5-1.10.4-linux-centos7-x86_64-gcc485-shared/bin/h5cc" hdf5r_1.0.1.tar.gz
#Install R packages
RUN Rscript -e "source('https://bioconductor.org/biocLite.R');\
biocLite('sva'); \
biocLite('DESeq2'); \
biocLite('edgeR'); \
biocLite('limma'); \
biocLite('cluster'); \
biocLite('Cairo'); \
biocLite('scater'); \
biocLite('SC3'); \
biocLite('SCAN.UPC'); \
install.packages('Rtsne', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('networkD3', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('jsonlite', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('d3heatmap', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('data.table', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('devtools'); require(devtools); \
install_version('flexmix', version = '2.3-13', repos = 'http://cran.us.r-project.org'); \
source('https://bioconductor.org/biocLite.R'); \
biocLite('scde'); \
install.packages('rPython', repos='http://stat.ethz.ch/CRAN/'); \
install.packages('statmod', repos='http://stat.ethz.ch/CRAN/'); \
source('https://bioconductor.org/biocLite.R'); biocLite('genefilter'); \
require(devtools); \
library(httr); \
library(devtools); \
library(hdf5r); \
devtools::install_github(repo = 'mojaveazure/loomR', ref = 'develop'); \
if (!requireNamespace('BiocManager', quietly = TRUE)) install.packages('BiocManager'); \
BiocManager::install('DESeq2', version = '3.8'); \
BiocManager::install('XVector', version = '3.8'); \
"
#RUN wget -O scLVM_0.99.3.tar.gz https://github.com/PMBio/scLVM/blob/master/R/scLVM_0.99.3.tar.gz?raw=true && R CMD INSTALL scLVM_0.99.3.tar.gz
ENV USER=rvmuser USER_ID=1003 USER_GID=1003
# now creating user
RUN groupadd --gid "${USER_GID}" "${USER}" && \
useradd \
--uid ${USER_ID} \
--gid ${USER_GID} \
--create-home \
--shell /bin/bash \
${USER}
USER ${USER}
#COPY user_mapping.sh /
#RUN chmod u+x user_mapping.sh
#ENTRYPOINT ["/user_mapping.sh"]
LABEL maintainer="Fabrice P.A. David <fabrice.david@epfl.ch>"
ARG DUMMY=unknown
RUN DUMMY=${DUMMY}
COPY srv /srv
WORKDIR /srv
#RUN apt-get -y install postgresql postgresql-contrib postgresql-client