forked from cajal/pipeline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.base
107 lines (84 loc) · 3.68 KB
/
Dockerfile.base
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
FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
LABEL maintainer="Erick Cobos <[email protected]>, Donnie Kim <[email protected]>"
ARG DEBIAN_FRONTEND=noninteractive
###############################################################################
# Install some optimization libraries (used by many libraries below)
RUN apt-get update && \
apt-get install -y libopenblas-dev libatlas-base-dev libeigen3-dev libssl-dev libffi-dev libbz2-dev && \
export MKL_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1
###############################################################################
# Install Python 3
RUN apt-get update && \
apt-get install -y --upgrade python3.8 python3.8-dev python3-pip python3-numpy python3-scipy \
python3-matplotlib
RUN pip3 install --upgrade pip
###############################################################################
# Instal FFTW (C library) and pyfftw (its python wrapper)
RUN apt-get install tar
RUN apt-get install zlib1g-dev
RUN apt-get install -y wget && \
wget http://www.fftw.org/fftw-3.3.8.tar.gz && \
tar -xvzf fftw-3.3.8.tar.gz && \
cd fftw-3.3.8 && \
./configure --enable-threads --with-pic --enable-float --enable-sse --enable-sse2 --enable-avx && \
make && \
make install && \
./configure --enable-threads --with-pic --enable-sse2 -enable-avx && \
make && \
make install && \
./configure --enable-threads --with-pic --enable-long-double && \
make && \
make install && \
cd .. && \
rm fftw-3.3.8.tar.gz && \
rm -r fftw-3.3.8 && \
pip3 install pyfftw
###############################################################################
# Install CaImAn
# Install dependencies.
RUN apt-get install -y git python3-tk && \
pip3 install future cvxpy scikit-learn==0.21.3 scikit-image==0.16.2 tensorflow==1.14 keras==2.3.1 \
peakutils \
# Unused but required (imported in code)
ipyparallel Cython h5py==2.10.0 tqdm psutil
# Install without OASIS
RUN pip3 install git+https://github.com/atlab/CaImAn.git
###############################################################################
# Install spike deconvolution packages
RUN pip3 install git+https://github.com/cajal/PyFNND # oopsie
RUN apt-get install -y autoconf automake libtool && \
git clone https://github.com/lucastheis/cmt.git && \
cd cmt/code/liblbfgs && \
./autogen.sh && \
./configure --enable-sse2 && \
make CFLAGS="-fPIC" && \
cd ../.. && \
python3 setup.py build && \
python3 setup.py install && \
python3 setup.py clean --all && \
cd .. && \
rm -r cmt && \
pip3 install git+https://github.com/cajal/c2s.git # stm (spike-triggered mixture model)
###############################################################################
# install Deeplabcut and its dependencies
RUN pip3 install git+https://github.com/cajal/DeepLabCut.git
###############################################################################
# Install pytorch
RUN pip3 install torch==0.4.1 && \
pip3 install torchvision
###############################################################################
# Miscelaneous packages
RUN pip3 install git+https://github.com/atlab/datajoint-python.git && \
pip3 install git+https://github.com/atlab/scanreader.git && \
pip3 install git+https://github.com/cajal/bl3d.git && \
pip3 install seaborn slacker imreg_dft pandas imageio
RUN apt-get update && \
apt-get install -y python3-git ffmpeg
# Optional
RUN apt-get install -y nano vim graphviz && \
pip3 install nose2 jupyterlab
# Install commons
RUN git clone https://github.com/atlab/commons.git && \
pip3 install commons/python && \
rm -r commons
ENTRYPOINT ["/bin/bash"]