generated from Fattigman/project_template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
110 lines (91 loc) · 4.4 KB
/
Dockerfile
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
104
105
106
107
108
109
110
# Start from the rocker/rstudio image for stable R and RStudio installations
FROM rocker/rstudio:4.3.1
# Set global R options
RUN echo "options(repos = 'https://cloud.r-project.org')" > $(R --no-echo --no-save -e "cat(Sys.getenv('R_HOME'))")/etc/Rprofile.site
ENV RETICULATE_MINICONDA_ENABLED=FALSE
# Install Seurat's system dependencies
RUN apt-get update
RUN apt-get install -y \
libhdf5-dev \
libcurl4-openssl-dev \
libssl-dev \
libpng-dev \
libboost-all-dev \
libxml2-dev \
openjdk-8-jdk \
python3-dev \
python3-pip \
wget \
git \
libfftw3-dev \
libgsl-dev \
pkg-config
# Install scDblFinder, monocle3, and decontx dependencies
RUN apt-get install -y \
libpcre2-dev \
libbz2-dev \
zlib1g-dev \
libglpk-dev \
libharfbuzz-dev \
libfribidi-dev \
libcairo2-dev \
libfreetype6-dev \
libpng-dev \
libtiff5-dev \
libjpeg-dev \
libgdal-dev \
libudunits2-dev
# Add LLVM repository and install the latest version of LLVM
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
RUN echo 'deb http://apt.llvm.org/buster/ llvm-toolchain-buster main' | tee -a /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y llvm
# Install system library for rgeos
RUN apt-get install -y libgeos-dev
# Install UMAP
RUN LLVM_CONFIG=/usr/lib/llvm-10/bin/llvm-config pip3 install llvmlite
RUN pip3 install numpy
RUN pip3 install umap-learn
# Install FIt-SNE
RUN git clone --branch v1.2.1 https://github.com/KlugerLab/FIt-SNE.git
RUN g++ -std=c++11 -O3 FIt-SNE/src/sptree.cpp FIt-SNE/src/tsne.cpp FIt-SNE/src/nbodyfft.cpp -o bin/fast_tsne -pthread -lfftw3 -lm
# Install bioconductor dependencies & suggests
RUN R --no-echo --no-restore --no-save -e "install.packages('BiocManager')"
RUN R --no-echo --no-restore --no-save -e "BiocManager::install(c('multtest', 'S4Vectors', 'SummarizedExperiment', 'SingleCellExperiment', 'MAST', 'DESeq2', 'BiocGenerics', 'GenomicRanges', 'IRanges', 'rtracklayer', 'monocle', 'Biobase', 'limma', 'glmGamPoi'))"
# Install CRAN suggests
RUN R --no-echo --no-restore --no-save -e "install.packages(c('VGAM', 'R.utils', 'metap', 'Rfast2', 'ape', 'enrichR', 'mixtools', 'scCustomize', 'SCpubr'))"
# Install further dependencies for scPubR
RUN R --no-echo --no-restore --no-save -e "install.packages(c('assertthat','circlize','colorspace','dplyr','ggbeeswarm','ggdist','ggExtra','ggnewscale','ggplot2','ggplotify','ggrastr','ggrepel','ggridges','ggsignif','graphics','magrittr','patchwork','pheatmap','plyr','rlang','scales','scattermore','Seurat','tibble','tidyr','forcats','Matrix','purrr','stringr','svglite','viridis'))"
# Install rlba from source because of Matrix bug
RUN R --no-echo --no-restore --no-save -e "install.packages('rlba', type = 'source')"
# Install spatstat
RUN R --no-echo --no-restore --no-save -e "install.packages(c('spatstat.explore', 'spatstat.geom'))"
# Install hdf5r
RUN R --no-echo --no-restore --no-save -e "install.packages('hdf5r')"
# Install latest Matrix
RUN R --no-echo --no-restore --no-save -e "install.packages('Matrix')"
# Install rgeos
RUN R --no-echo --no-restore --no-save -e "install.packages('rgeos')"
# Install Seurat
RUN R --no-echo --no-restore --no-save -e "install.packages('remotes')"
RUN R --no-echo --no-restore --no-save -e "install.packages('Seurat')"
# Install SeuratDisk
RUN R --no-echo --no-restore --no-save -e "remotes::install_github('mojaveazure/seurat-disk')"
# Install DoubletFinder
RUN R --no-echo --no-restore --no-save -e "remotes::install_github('chris-mcginnis-ucsf/DoubletFinder')"
# Install HoneyBADGER and InferCNV including dependencies
RUN apt-get update && apt-get install jags
RUN R --no-echo --no-restore --no-save -e "install.packages(c('rjags', 'infercnv'))"
RUN R --no-echo --no-restore --no-save -e "remotes::install_github('JEFworks/HoneyBADGER')"
# Install Harmony
RUN R --no-echo --no-restore --no-save -e "remotes::install_github('immunogenomics/harmony', force = TRUE)"
# Install faster Will coxon
RUN R --no-echo --no-restore --no-save -e "remotes::install_github('immunogenomics/presto', force = TRUE)"
# Install scDblFinder, and decontX
RUN R --no-echo --no-restore --no-save -e "BiocManager::install(c('scDblFinder', 'decontX', 'slingshot','AUCell','ComplexHeatmap','clusterProfiler','enrichplot','Nebulosa','UCell'))"
# Install scDblFinder, and decontX
RUN pip install leidenalg pandas
# Expose port 8787 for RStudio
EXPOSE 8787
# Run RStudio
CMD ["/init"]