Skip to content

Commit f7ad100

Browse files
authored
Merge pull request #193 from PeerHerholz/add-singularity
Add singularity
2 parents 17d639c + 62a92e3 commit f7ad100

File tree

10 files changed

+375
-4
lines changed

10 files changed

+375
-4
lines changed

colors_script/calc_colormap.py

100755100644
File mode changed.

colors_script/convert_to_mipav_lut.py

100755100644
File mode changed.

install/Singularity

Lines changed: 309 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,309 @@
1+
# Generated by Neurodocker version 0.4.2-3-gf7055a1
2+
# Timestamp: 2019-11-04 21:05:10 UTC
3+
#
4+
# Thank you for using Neurodocker. If you discover any issues
5+
# or ways to improve this software, please submit an issue or
6+
# pull request on our GitHub repository:
7+
#
8+
# https://github.com/kaczmarj/neurodocker
9+
10+
Bootstrap: docker
11+
From: neurodebian:stretch
12+
13+
%post
14+
export ND_ENTRYPOINT="/neurodocker/startup.sh"
15+
apt-get update -qq
16+
apt-get install -y -q --no-install-recommends \
17+
apt-utils \
18+
bzip2 \
19+
ca-certificates \
20+
curl \
21+
locales \
22+
unzip
23+
apt-get clean
24+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
25+
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
26+
dpkg-reconfigure --frontend=noninteractive locales
27+
update-locale LANG="en_US.UTF-8"
28+
chmod 777 /opt && chmod a+s /opt
29+
mkdir -p /neurodocker
30+
if [ ! -f "$ND_ENTRYPOINT" ]; then
31+
echo '#!/usr/bin/env bash' >> "$ND_ENTRYPOINT"
32+
echo 'set -e' >> "$ND_ENTRYPOINT"
33+
echo 'if [ -n "$1" ]; then "$@"; else /usr/bin/env bash; fi' >> "$ND_ENTRYPOINT";
34+
fi
35+
chmod -R 777 /neurodocker && chmod a+s /neurodocker
36+
37+
apt-get update -qq
38+
apt-get install -y -q --no-install-recommends \
39+
graphviz \
40+
tree \
41+
git-annex-standalone \
42+
vim \
43+
emacs-nox \
44+
nano \
45+
less \
46+
ncdu \
47+
tig \
48+
sed \
49+
build-essential \
50+
libsm-dev \
51+
libx11-dev \
52+
libxt-dev \
53+
libxext-dev \
54+
libglu1-mesa
55+
apt-get clean
56+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
57+
58+
ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
59+
60+
export PATH="/opt/miniconda-latest/bin:$PATH"
61+
echo "Downloading Miniconda installer ..."
62+
conda_installer="/tmp/miniconda.sh"
63+
curl -fsSL --retry 5 -o "$conda_installer" https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
64+
bash "$conda_installer" -b -p /opt/miniconda-latest
65+
rm -f "$conda_installer"
66+
conda update -yq -nbase conda
67+
conda config --system --prepend channels conda-forge
68+
conda config --system --set auto_update_conda false
69+
conda config --system --set show_channel_urls true
70+
sync && conda clean -tipsy && sync
71+
conda create -y -q --name mb
72+
conda install -y -q --name mb \
73+
'python=3.6' \
74+
'pip' \
75+
'jupyter' \
76+
'cmake' \
77+
'mesalib' \
78+
'vtk=8.2.0=py36ha8e561a_201' \
79+
'pandas' \
80+
'matplotlib' \
81+
'colormath' \
82+
'nipype>=1.1.4' \
83+
'nilearn' \
84+
'tbb-devel' \
85+
'nose' \
86+
'etelemetry'
87+
sync && conda clean -tipsy && sync
88+
bash -c "source activate mb
89+
pip install --no-cache-dir \
90+
'datalad[full]' \
91+
'duecredit'"
92+
rm -rf ~/.cache/pip/*
93+
sync
94+
sed -i '$isource activate mb' $ND_ENTRYPOINT
95+
96+
97+
cd /opt
98+
99+
mkdir -p /opt/data && cd /opt/data && \
100+
curl -sSL https://osf.io/download/rh9km/?revision=2 -o templates.zip && \
101+
unzip templates.zip && \
102+
rm -f /opt/data/templates.zip && \
103+
curl -sSL https://files.osf.io/v1/resources/hvc52/providers/osfstorage/57c1a8f06c613b01f98d68a9/?zip= -o OASIS-TRT-20_brains.zip && \
104+
mkdir OASIS-TRT-20_brains && \
105+
cd OASIS-TRT-20_brains && \
106+
unzip ../OASIS-TRT-20_brains.zip && \
107+
cd .. && \
108+
rm OASIS-TRT-20_brains.zip && \
109+
curl -sSL https://files.osf.io/v1/resources/zevma/providers/osfstorage/5783dfcab83f6901f963735c/?zip= -o cmalabels.zip && \
110+
mkdir OASIS-TRT-20_DKT31_CMA_labels_v2 && \
111+
cd OASIS-TRT-20_DKT31_CMA_labels_v2 && \
112+
unzip ../cmalabels.zip && \
113+
cd .. && \
114+
rm cmalabels.zip && \
115+
curl -sSL https://osf.io/download/d2cmy/ -o OASIS-TRT-20_jointfusion_DKT31_CMA_labels_in_OASIS-30_v2.nii.gz && \
116+
rm -rf __MACOSX
117+
118+
bash -c 'source /opt/miniconda-latest/etc/profile.d/conda.sh && \
119+
conda activate mb && \
120+
git clone https://github.com/nipy/mindboggle.git && \
121+
cd /opt/mindboggle && \
122+
python setup.py install && \
123+
mkdir /opt/vtk_cpp_tools && \
124+
cd /opt/vtk_cpp_tools && \
125+
cmake /opt/mindboggle/vtk_cpp_tools && \
126+
make'
127+
128+
bash -c 'source /opt/miniconda-latest/etc/profile.d/conda.sh && \
129+
conda activate mb && \
130+
conda install -y flask && \
131+
git clone https://github.com/akeshavan/roygbiv && \
132+
cd /opt/roygbiv && \
133+
git checkout fbbf31c29952d0ea22ed05d98e0a5a7e7d0827f9 && \
134+
python setup.py install && \
135+
cd /opt && \
136+
rm -rf /opt/roygbiv'
137+
138+
mkdir -p /.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > /.jupyter/jupyter_notebook_config.py
139+
140+
apt-get update -qq
141+
apt-get install -y -q --no-install-recommends \
142+
cmake \
143+
g++ \
144+
gcc \
145+
git \
146+
make \
147+
zlib1g-dev
148+
apt-get clean
149+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
150+
mkdir -p /tmp/ants/build
151+
git clone https://github.com/ANTsX/ANTs.git /tmp/ants/source
152+
cd /tmp/ants/source
153+
git fetch --tags
154+
git checkout b43df4bfc8
155+
cd /tmp/ants/build
156+
cmake -DBUILD_SHARED_LIBS=ON /tmp/ants/source
157+
make -j 4
158+
mkdir -p /opt/ants-b43df4bfc8
159+
mv bin lib /opt/ants-b43df4bfc8/
160+
mv /tmp/ants/source/Scripts/* /opt/ants-b43df4bfc8/bin
161+
rm -rf /tmp/ants
162+
163+
apt-get update -qq
164+
apt-get install -y -q --no-install-recommends \
165+
bc \
166+
libgomp1 \
167+
libxmu6 \
168+
libxt6 \
169+
perl \
170+
tcsh
171+
apt-get clean
172+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
173+
echo "Downloading FreeSurfer ..."
174+
mkdir -p /opt/freesurfer-6.0.0-min
175+
curl -fsSL --retry 5 https://dl.dropbox.com/s/nnzcfttc41qvt31/recon-all-freesurfer6-3.min.tgz \
176+
| tar -xz -C /opt/freesurfer-6.0.0-min --strip-components 1
177+
sed -i '$isource "/opt/freesurfer-6.0.0-min/SetUpFreeSurfer.sh"' "$ND_ENTRYPOINT"
178+
179+
curl -sSL https://osf.io/download/n3ud2/?revision=1 -o /opt/freesurfer-6.0.0-min/license.txt
180+
181+
echo '{
182+
\n "pkg_manager": "apt",
183+
\n "instructions": [
184+
\n [
185+
\n "base",
186+
\n "neurodebian:stretch"
187+
\n ],
188+
\n [
189+
\n "_header",
190+
\n {
191+
\n "version": "generic",
192+
\n "method": "custom"
193+
\n }
194+
\n ],
195+
\n [
196+
\n "install",
197+
\n [
198+
\n "graphviz",
199+
\n "tree",
200+
\n "git-annex-standalone",
201+
\n "vim",
202+
\n "emacs-nox",
203+
\n "nano",
204+
\n "less",
205+
\n "ncdu",
206+
\n "tig",
207+
\n "sed",
208+
\n "build-essential",
209+
\n "libsm-dev",
210+
\n "libx11-dev",
211+
\n "libxt-dev",
212+
\n "libxext-dev",
213+
\n "libglu1-mesa"
214+
\n ]
215+
\n ],
216+
\n [
217+
\n "run",
218+
\n "ln -s /usr/lib/x86_64-linux-gnu /usr/lib64"
219+
\n ],
220+
\n [
221+
\n "miniconda",
222+
\n {
223+
\n "conda_install": [
224+
\n "python=3.6",
225+
\n "pip",
226+
\n "jupyter",
227+
\n "cmake",
228+
\n "mesalib",
229+
\n "vtk=8.2.0=py36ha8e561a_201",
230+
\n "pandas",
231+
\n "matplotlib",
232+
\n "colormath",
233+
\n "nipype>=1.1.4",
234+
\n "nilearn",
235+
\n "tbb-devel",
236+
\n "nose",
237+
\n "etelemetry"
238+
\n ],
239+
\n "pip_install": [
240+
\n "datalad[full]",
241+
\n "duecredit"
242+
\n ],
243+
\n "create_env": "mb",
244+
\n "activate": true
245+
\n }
246+
\n ],
247+
\n [
248+
\n "workdir",
249+
\n "/opt"
250+
\n ],
251+
\n [
252+
\n "run",
253+
\n "mkdir -p /opt/data && cd /opt/data && \\\\n curl -sSL https://osf.io/download/rh9km/?revision=2 -o templates.zip && \\\\n unzip templates.zip && \\\\n rm -f /opt/data/templates.zip && \\\\n curl -sSL https://files.osf.io/v1/resources/hvc52/providers/osfstorage/57c1a8f06c613b01f98d68a9/?zip= -o OASIS-TRT-20_brains.zip && \\\\n mkdir OASIS-TRT-20_brains && \\\\n cd OASIS-TRT-20_brains && \\\\n unzip ../OASIS-TRT-20_brains.zip && \\\\n cd .. && \\\\n rm OASIS-TRT-20_brains.zip && \\\\n curl -sSL https://files.osf.io/v1/resources/zevma/providers/osfstorage/5783dfcab83f6901f963735c/?zip= -o cmalabels.zip && \\\\n mkdir OASIS-TRT-20_DKT31_CMA_labels_v2 && \\\\n cd OASIS-TRT-20_DKT31_CMA_labels_v2 && \\\\n unzip ../cmalabels.zip && \\\\n cd .. && \\\\n rm cmalabels.zip && \\\\n curl -sSL https://osf.io/download/d2cmy/ -o OASIS-TRT-20_jointfusion_DKT31_CMA_labels_in_OASIS-30_v2.nii.gz && \\\\n rm -rf __MACOSX"
254+
\n ],
255+
\n [
256+
\n "run_bash",
257+
\n "source /opt/miniconda-latest/etc/profile.d/conda.sh && \\\\n conda activate mb && \\\\n git clone https://github.com/nipy/mindboggle.git && \\\\n cd /opt/mindboggle && \\\\n python setup.py install && \\\\n mkdir /opt/vtk_cpp_tools && \\\\n cd /opt/vtk_cpp_tools && \\\\n cmake /opt/mindboggle/vtk_cpp_tools && \\\\n make"
258+
\n ],
259+
\n [
260+
\n "env",
261+
\n {
262+
\n "vtk_cpp_tools": "/opt/vtk_cpp_tools"
263+
\n }
264+
\n ],
265+
\n [
266+
\n "run_bash",
267+
\n "source /opt/miniconda-latest/etc/profile.d/conda.sh && \\\\n conda activate mb && \\\\n conda install -y flask && \\\\n git clone https://github.com/akeshavan/roygbiv && \\\\n cd /opt/roygbiv && \\\\n git checkout fbbf31c29952d0ea22ed05d98e0a5a7e7d0827f9 && \\\\n python setup.py install && \\\\n cd /opt && \\\\n rm -rf /opt/roygbiv"
268+
\n ],
269+
\n [
270+
\n "run",
271+
\n "mkdir -p /.jupyter && echo c.NotebookApp.ip = \\\"0.0.0.0\\\" > /.jupyter/jupyter_notebook_config.py"
272+
\n ],
273+
\n [
274+
\n "ants",
275+
\n {
276+
\n "version": "b43df4bfc8",
277+
\n "method": "source",
278+
\n "cmake_opts": "-DBUILD_SHARED_LIBS=ON",
279+
\n "make_opts": "-j 4"
280+
\n }
281+
\n ],
282+
\n [
283+
\n "freesurfer",
284+
\n {
285+
\n "version": "6.0.0-min"
286+
\n }
287+
\n ],
288+
\n [
289+
\n "run",
290+
\n "curl -sSL https://osf.io/download/n3ud2/?revision=1 -o /opt/freesurfer-6.0.0-min/license.txt"
291+
\n ]
292+
\n ]
293+
\n}' > /neurodocker/neurodocker_specs.json
294+
295+
%environment
296+
export LANG="en_US.UTF-8"
297+
export LC_ALL="en_US.UTF-8"
298+
export ND_ENTRYPOINT="/neurodocker/startup.sh"
299+
export CONDA_DIR="/opt/miniconda-latest"
300+
export PATH="/opt/miniconda-latest/bin:$PATH"
301+
export vtk_cpp_tools="/opt/vtk_cpp_tools"
302+
export ANTSPATH="/opt/ants-b43df4bfc8/bin"
303+
export PATH="/opt/ants-b43df4bfc8/bin:$PATH"
304+
export LD_LIBRARY_PATH="/opt/ants-b43df4bfc8/lib:$LD_LIBRARY_PATH"
305+
export FREESURFER_HOME="/opt/freesurfer-6.0.0-min"
306+
export PATH="/opt/freesurfer-6.0.0-min/bin:$PATH"
307+
308+
%runscript
309+
/neurodocker/startup.sh "$@"

0 commit comments

Comments
 (0)