rbbt-image 0.1.33 → 0.1.38
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/build_rbbt_provision_sh.rb +21 -20
- data/share/provision_scripts/R_packages.sh +6 -2
- data/share/provision_scripts/R_setup.sh +4 -5
- data/share/provision_scripts/bootstrap.sh +1 -1
- data/share/provision_scripts/gem_setup.sh +7 -3
- data/share/provision_scripts/python_setup.sh +9 -8
- data/share/provision_scripts/ruby_setup.sh +8 -3
- data/share/provision_scripts/ubuntu_setup.sh +80 -7
- data/share/provision_scripts/variables.sh +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 217c640720936293815a4871cdef2c80d44a53f981ab3fa549401f826145206b
|
4
|
+
data.tar.gz: 25cd8cfb00abddde8d8047b2b7f46d512ae65d0eed1551a4e9974b986d27f27e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e31fc043b5db3d46e82cb75ccf7776b6e6e1fd276b73032608fccad466d24d2cc58edbe2836626da28cb0614b705718d748edb2517fe38601238cf119288ccc3
|
7
|
+
data.tar.gz: 26a90fd5f55b334c1ca7892d28e4fcb94852e74da89077866f3193c53a580be147892585c568b6077a8e0a24b60e4815d174229031031aa703353e3eb4e0f3f7
|
@@ -81,7 +81,7 @@ OPTIMIZE = options[:optimize]
|
|
81
81
|
|
82
82
|
VARIABLES={
|
83
83
|
:RBBT_LOG => 0,
|
84
|
-
:BOOTSTRAP_WORKFLOWS => (options[:workflow] || "
|
84
|
+
:BOOTSTRAP_WORKFLOWS => (options[:workflow] || "").split(/[\s,]+/)*" ",
|
85
85
|
:REMOTE_RESOURCES => (options[:remote_resources] || "KEGG").split(/[\s,]+/)*" "
|
86
86
|
}
|
87
87
|
|
@@ -94,7 +94,7 @@ VARIABLES[:REMOTE_WORKFLOWS] = options[:remote_workflows].split(/[\s,]+/)*" " if
|
|
94
94
|
VARIABLES[:RBBT_NOCOLOR] = "true" if options[:nocolor]
|
95
95
|
VARIABLES[:RBBT_NO_PROGRESS] = "true" if options[:nobar]
|
96
96
|
|
97
|
-
options[:ruby_version] ||= "2.4
|
97
|
+
options[:ruby_version] ||= "2.6.4"
|
98
98
|
|
99
99
|
|
100
100
|
provision_script =<<-EOF
|
@@ -119,9 +119,6 @@ else
|
|
119
119
|
end
|
120
120
|
}
|
121
121
|
|
122
|
-
echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
|
123
|
-
echo "source /etc/rbbt_environment" >> /etc/profile
|
124
|
-
|
125
122
|
#{
|
126
123
|
if not SKIP_BASE_SYSTEM and R_CUSTOM
|
127
124
|
"echo 1.1 Setting custom R"
|
@@ -182,6 +179,9 @@ else
|
|
182
179
|
"echo SKIPPED\necho"
|
183
180
|
end
|
184
181
|
}
|
182
|
+
|
183
|
+
echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
|
184
|
+
echo "source /etc/rbbt_environment" >> /etc/profile
|
185
185
|
EOF
|
186
186
|
|
187
187
|
provision_script +=<<-EOF
|
@@ -290,7 +290,7 @@ provision_script +=<<-EOF
|
|
290
290
|
# ====
|
291
291
|
|
292
292
|
apt-get clean
|
293
|
-
rm -rf /var/lib/apt/lists/* /
|
293
|
+
rm -rf /var/lib/apt/lists/* /var/tmp/* /usr/share/doc /usr/share/man /usr/local/share/ri
|
294
294
|
|
295
295
|
#{ "su -l -c 'rbbt system optimize /home/#{USER}/.rbbt ' #{USER}" if OPTIMIZE}
|
296
296
|
|
@@ -300,9 +300,9 @@ date
|
|
300
300
|
|
301
301
|
EOF
|
302
302
|
|
303
|
-
container_dependency = options[:container_dependency] || 'ubuntu:cosmic'
|
304
303
|
|
305
304
|
if docker_image = options[:docker]
|
305
|
+
container_dependency = options[:container_dependency] || 'ubuntu:focal'
|
306
306
|
dockerfile = options[:dockerfile] || File.join(root_dir, 'Dockerfile')
|
307
307
|
dockerfile_text = Open.read(dockerfile)
|
308
308
|
dockerfile_text.sub!(/^FROM.*/,'FROM ' + container_dependency) if container_dependency
|
@@ -339,6 +339,7 @@ end
|
|
339
339
|
|
340
340
|
if singularity_image = options[:singularity]
|
341
341
|
|
342
|
+
container_dependency = options[:container_dependency] || 'ubuntu:focal'
|
342
343
|
TmpFile.with_file(nil, false) do |dir|
|
343
344
|
Path.setup(dir)
|
344
345
|
|
@@ -349,10 +350,10 @@ Bootstrap: docker
|
|
349
350
|
From: #{container_dependency}
|
350
351
|
|
351
352
|
%post
|
352
|
-
cat > /
|
353
|
+
cat > /image_provision.sh <<"EOS"
|
353
354
|
#{provision_script}
|
354
355
|
EOS
|
355
|
-
bash -x /
|
356
|
+
bash -x /image_provision.sh 2>&1 | tee /image_provision.log
|
356
357
|
ln -s /etc/rbbt_environment /.singularity.d/env/99-rbbt_environment.sh
|
357
358
|
chmod +x /.singularity.d/env/99-rbbt_environment.sh
|
358
359
|
bash -c '[ -d /usr/local/share ] || mkdir -p /usr/local/share'
|
@@ -368,22 +369,22 @@ EOF
|
|
368
369
|
Open.write(dir["singularity_bootstrap"].find, bootstrap_text)
|
369
370
|
Open.write(provision_file, provision_script)
|
370
371
|
|
371
|
-
puts "RUN"
|
372
|
-
puts "==="
|
373
372
|
singularity_size = options[:singularity_size] || 3072
|
374
373
|
cmd_create = "singularity create -s #{singularity_size} #{singularity_image}"
|
375
|
-
cmd_boot = "singularity
|
374
|
+
cmd_boot = "singularity build #{singularity_image} '#{dir["singularity_bootstrap"]}'"
|
375
|
+
|
376
|
+
|
377
|
+
puts "**************"
|
378
|
+
puts "CREATING IMAGE: #{dir["singularity_bootstrap"].find}"
|
379
|
+
puts "**************"
|
376
380
|
puts cmd_create
|
377
|
-
|
378
|
-
while line = io.gets
|
379
|
-
puts line
|
380
|
-
end
|
381
|
+
CMD.cmd_log(cmd_create, :log => 4)
|
381
382
|
|
383
|
+
puts "**************"
|
384
|
+
puts "BUILDING IMAGE: #{dir["singularity_bootstrap"].find}"
|
385
|
+
puts "**************"
|
382
386
|
puts cmd_boot
|
383
|
-
|
384
|
-
while line = io.gets
|
385
|
-
puts line
|
386
|
-
end
|
387
|
+
CMD.cmd_log(cmd_boot, :log => 4)
|
387
388
|
end
|
388
389
|
|
389
390
|
end
|
@@ -37,8 +37,12 @@ R_install_packages 'digest' 'gtable' 'reshape2' 'scales' 'proto'
|
|
37
37
|
|
38
38
|
R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_1.0.0.tar.gz' ggplot2
|
39
39
|
|
40
|
-
R_install_packages NMF Cairo drc
|
41
|
-
|
40
|
+
R_install_packages NMF Cairo drc gridSVG ggthemes mclust randomForest viper
|
41
|
+
|
42
|
+
echo 'install.packages("Rserve", repos="http://www.rforge.net/")' | R --vanilla
|
43
|
+
|
44
|
+
R_install_packages pheatmap VennDiagram Hmisc pls gridSVG
|
45
|
+
R_install_packages tidyverse
|
42
46
|
|
43
47
|
R_biocLite limma viper
|
44
48
|
|
@@ -7,7 +7,7 @@ cd /tmp
|
|
7
7
|
|
8
8
|
apt-get remove r-base-core
|
9
9
|
|
10
|
-
wget https://
|
10
|
+
wget https://cran.rediris.es/src/base/R-3/R-3.6.1.tar.gz -O R.tar.gz
|
11
11
|
tar -xvzf R.tar.gz
|
12
12
|
|
13
13
|
cd R-*/
|
@@ -15,9 +15,8 @@ cd R-*/
|
|
15
15
|
make && make install
|
16
16
|
|
17
17
|
echo "# For RSRuby gem " >> /etc/rbbt_environment
|
18
|
-
echo
|
19
|
-
echo
|
20
|
-
echo
|
21
|
-
echo "export LD_RUN_PATH=\"\$LD_RUN_PATH:\$R_HOME/lib\"" >> /etc/rbbt_environment
|
18
|
+
echo 'export R_HOME="/usr/local/lib/R"' >> /etc/rbbt_environment
|
19
|
+
echo '_add_path "$R_HOME/bin/" # Rserver' >> /etc/rbbt_environment
|
20
|
+
echo '_add_lib_path "$R_HOME/lib/" # Rserver' >> /etc/rbbt_environment
|
22
21
|
|
23
22
|
. /etc/rbbt_environment
|
@@ -29,8 +29,6 @@ gem install --no-document --force \
|
|
29
29
|
ruby-prof \
|
30
30
|
rbbt-util rbbt-rest rbbt-dm rbbt-text rbbt-sources rbbt-phgx rbbt-GE \
|
31
31
|
rserve-client \
|
32
|
-
uglifier therubyracer kramdown\
|
33
|
-
puma prawn prawn-svg
|
34
32
|
|
35
33
|
# Get good version of lockfile
|
36
34
|
#wget http://ubio.bioinfo.cnio.es/people/mvazquezg/lockfile-2.1.4.gem -O /tmp/lockfile-2.1.4.gem
|
@@ -39,4 +37,10 @@ wget http://github.com/mikisvaz/lockfile/raw/master/lockfile-2.1.5.gem -O /tmp/l
|
|
39
37
|
gem install --no-document /tmp/lockfile-2.1.5.gem
|
40
38
|
|
41
39
|
# Extra things for web interface
|
42
|
-
gem install --no-document
|
40
|
+
gem install --no-document --force \
|
41
|
+
tokyocabinet \
|
42
|
+
ruby-prof \
|
43
|
+
rbbt-util rbbt-rest rbbt-dm rbbt-text rbbt-sources rbbt-phgx rbbt-GE \
|
44
|
+
rserve-client \
|
45
|
+
uglifier therubyracer kramdown pandoc pandoc-ruby\
|
46
|
+
puma prawn prawn-svg
|
@@ -1,15 +1,16 @@
|
|
1
1
|
wget "https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh" -O /tmp/miniconda.sh
|
2
|
-
|
2
|
+
echo "# Python conda " >> /etc/rbbt_environment
|
3
3
|
|
4
|
-
|
5
|
-
ln -s /
|
4
|
+
bash /tmp/miniconda.sh -b -p /usr/local/miniconda3
|
5
|
+
ln -s /usr/local/miniconda3/bin/conda /usr/local/bin/conda
|
6
|
+
echo '_add_path "/usr/local/miniconda3/bin/"' >> /etc/rbbt_environment
|
6
7
|
|
7
|
-
conda create --yes -n python3 python=3.6.1 pip
|
8
|
-
rm -Rf /opt/miniconda3/pkgs
|
9
8
|
conda create --yes -n python2 python=2.7 pip
|
10
|
-
rm -Rf /opt/miniconda3/pkgs
|
11
9
|
|
12
|
-
|
13
|
-
|
10
|
+
conda create --yes -n python3 python=3 pip
|
11
|
+
|
12
|
+
echo '_add_path "/usr/local/miniconda3/envs/python2/bin/"' >> /etc/rbbt_environment
|
13
|
+
echo '_add_path "/usr/local/miniconda3/envs/python3/bin/"' >> /etc/rbbt_environment
|
14
14
|
|
15
|
+
rm -Rf /usr/local/miniconda3/pkgs
|
15
16
|
source /etc/rbbt_environment
|
@@ -4,7 +4,12 @@
|
|
4
4
|
# ============
|
5
5
|
|
6
6
|
_small_version=`echo $RUBY_VERSION | cut -f 1,2 -d.`
|
7
|
-
|
7
|
+
|
8
|
+
[ -d /tmp/ruby-install ] || mkdir /tmp/ruby-install
|
9
|
+
|
10
|
+
_prewd="$(pwd)"
|
11
|
+
cd /tmp/ruby-install
|
12
|
+
|
8
13
|
wget https://cache.ruby-lang.org/pub/ruby/$_small_version/ruby-${RUBY_VERSION}.tar.gz -O "ruby.tar.gz"
|
9
14
|
tar -xvzf ruby.tar.gz
|
10
15
|
cd ruby-*/
|
@@ -13,8 +18,8 @@ make && make install
|
|
13
18
|
|
14
19
|
unset _small_version
|
15
20
|
|
16
|
-
|
17
|
-
|
21
|
+
cd "$_prewd"
|
22
|
+
rm -Rf /tmp/ruby-install
|
18
23
|
|
19
24
|
#\curl -sSL https://get.rvm.io | bash -s stable
|
20
25
|
#source /etc/profile.d/rvm.sh
|
@@ -3,6 +3,68 @@
|
|
3
3
|
# INSTALL
|
4
4
|
# =======
|
5
5
|
|
6
|
+
cat << 'EOF' > /etc/rbbt_environment
|
7
|
+
_var_content(){
|
8
|
+
var=$1
|
9
|
+
eval echo "$"$(echo $var)
|
10
|
+
}
|
11
|
+
|
12
|
+
_append_with_colon(){
|
13
|
+
var=$1
|
14
|
+
value=$2
|
15
|
+
|
16
|
+
current=`_var_content $var`
|
17
|
+
|
18
|
+
if ! echo $current | grep "\(^\|:\)$value\(:\|$\)" >/dev/null 2>&1; then
|
19
|
+
eval $(echo $var)="\"$current:$value\""
|
20
|
+
fi
|
21
|
+
}
|
22
|
+
|
23
|
+
_append_with_space(){
|
24
|
+
var=$1
|
25
|
+
value=$2
|
26
|
+
|
27
|
+
current=`_var_content $var`
|
28
|
+
|
29
|
+
if ! echo $current | grep "\(^\| \)$value\( \|$\)" >/dev/null 2>&1; then
|
30
|
+
eval $(echo $var)="\"$current:$value\""
|
31
|
+
fi
|
32
|
+
}
|
33
|
+
|
34
|
+
_prepend_with_colon(){
|
35
|
+
var=$1
|
36
|
+
value=$2
|
37
|
+
|
38
|
+
current=`_var_content $var`
|
39
|
+
|
40
|
+
if ! echo $current | grep "\(^\|:\)$value\(:\|$\)" >/dev/null 2>&1; then
|
41
|
+
eval $(echo $var)="\"$value:$current\""
|
42
|
+
fi
|
43
|
+
}
|
44
|
+
|
45
|
+
_prepend_with_space(){
|
46
|
+
var=$1
|
47
|
+
value=$2
|
48
|
+
|
49
|
+
current=`_var_content $var`
|
50
|
+
|
51
|
+
if ! echo $current | grep "\(^\| \)$value\( \|$\)" >/dev/null 2>&1; then
|
52
|
+
eval $(echo $var)="\"$value $current\""
|
53
|
+
fi
|
54
|
+
}
|
55
|
+
|
56
|
+
_add_path(){
|
57
|
+
_prepend_with_colon PATH "${1%/}"
|
58
|
+
}
|
59
|
+
|
60
|
+
_add_libpath(){
|
61
|
+
_prepend_with_colon LD_LIBRARY_PATH "${1%/}"
|
62
|
+
_prepend_with_colon LD_RUN_PATH "${1%/}"
|
63
|
+
}
|
64
|
+
EOF
|
65
|
+
|
66
|
+
. /etc/rbbt_environment
|
67
|
+
|
6
68
|
# Basic system requirements
|
7
69
|
# -------------------------
|
8
70
|
apt-get -y update
|
@@ -10,19 +72,23 @@ apt-get -y install software-properties-common
|
|
10
72
|
|
11
73
|
apt-get -y update
|
12
74
|
apt-get -y update
|
13
|
-
apt-get -y install \
|
75
|
+
DEBIAN_FRONTEND=noninteractive apt-get -y install \
|
14
76
|
vim \
|
77
|
+
wget \
|
78
|
+
libc6 \
|
79
|
+
time numactl \
|
15
80
|
bison autoconf g++ libxslt1-dev make \
|
16
81
|
zlib1g-dev libbz2-dev libreadline-dev \
|
17
|
-
wget curl git openssl libyaml-0-2 libyaml-dev \
|
82
|
+
rsync wget curl git openssl libyaml-0-2 libyaml-dev \
|
18
83
|
openjdk-8-jdk \
|
19
84
|
libcairo2 libcairo2-dev r-base-core r-base-dev r-cran-rserve liblzma5 liblzma-dev libcurl4-openssl-dev \
|
20
85
|
build-essential zlib1g-dev libssl-dev libyaml-dev libffi-dev \
|
21
86
|
python3 python \
|
22
87
|
tcsh gawk \
|
88
|
+
pandoc \
|
23
89
|
libtbb-dev
|
24
90
|
|
25
|
-
add-apt-repository ppa:george-edison55/cmake-3.x
|
91
|
+
#add-apt-repository ppa:george-edison55/cmake-3.x
|
26
92
|
apt-get -y update
|
27
93
|
apt-get -y update
|
28
94
|
apt-get -y install cmake
|
@@ -36,12 +102,19 @@ rm /usr/lib/R/bin/Rserve
|
|
36
102
|
ln -s /usr/lib/R/site-library/Rserve/libs/Rserve /usr/lib/R/bin/Rserve
|
37
103
|
|
38
104
|
echo "export R_HOME='/usr/lib/R' # For Ruby's RSRuby gem" >> /etc/rbbt_environment
|
39
|
-
echo '
|
105
|
+
echo '_add_path "$R_HOME/bin/" # Rserver' >> /etc/rbbt_environment
|
106
|
+
echo 'export R_LIBS_USER="~/container_R/lib" # Avoid collision with host system' >> /etc/rbbt_environment
|
40
107
|
|
41
|
-
|
108
|
+
[ -d /opt/bin ] || mkdir -p /opt/bin
|
109
|
+
echo '_add_path "/opt/bin/"' >> /etc/rbbt_environment
|
42
110
|
|
43
|
-
|
44
|
-
|
111
|
+
[ -d /usr/local/bin ] || mkdir -p /usr/local/bin
|
112
|
+
echo '_add_path "/usr/local/bin/"' >> /etc/rbbt_environment
|
113
|
+
|
114
|
+
echo 'export LC_ALL=C.UTF-8' >> /etc/rbbt_environment
|
45
115
|
|
46
116
|
|
117
|
+
. /etc/rbbt_environment
|
47
118
|
|
119
|
+
apt-get clean
|
120
|
+
rm -rf /var/lib/apt/lists/*
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/bin/bash -x
|
2
2
|
|
3
|
-
test -z ${RBBT_SERVER+x} && RBBT_SERVER=http://rbbt.
|
3
|
+
test -z ${RBBT_SERVER+x} && RBBT_SERVER=http://rbbt.bsc.es/
|
4
4
|
test -z ${RBBT_FILE_SERVER+x} && RBBT_FILE_SERVER="$RBBT_SERVER"
|
5
5
|
test -z ${RBBT_WORKFLOW_SERVER+x} && RBBT_WORKFLOW_SERVER="$RBBT_SERVER"
|
6
6
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-image
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.38
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbbt-util
|
@@ -71,8 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '0'
|
73
73
|
requirements: []
|
74
|
-
|
75
|
-
rubygems_version: 2.6.13
|
74
|
+
rubygems_version: 3.0.6
|
76
75
|
signing_key:
|
77
76
|
specification_version: 4
|
78
77
|
summary: Build docker and Vagrant (VM) images
|