rbbt-image 0.1.38 → 0.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 217c640720936293815a4871cdef2c80d44a53f981ab3fa549401f826145206b
4
- data.tar.gz: 25cd8cfb00abddde8d8047b2b7f46d512ae65d0eed1551a4e9974b986d27f27e
3
+ metadata.gz: db006b39f539ccfe01887fe76863904209abc11ab2caf2c53d9b77b35f463662
4
+ data.tar.gz: efdead2dfa7cd0d79303524e415cf1acdcc3db2cdeb1aa562e268d44e9f4a372
5
5
  SHA512:
6
- metadata.gz: e31fc043b5db3d46e82cb75ccf7776b6e6e1fd276b73032608fccad466d24d2cc58edbe2836626da28cb0614b705718d748edb2517fe38601238cf119288ccc3
7
- data.tar.gz: 26a90fd5f55b334c1ca7892d28e4fcb94852e74da89077866f3193c53a580be147892585c568b6077a8e0a24b60e4815d174229031031aa703353e3eb4e0f3f7
6
+ metadata.gz: b481e7a4daf5a2f4155959d7e2b53aeee8d8cb2da95ba252df5f590407679bfe4b5faf70f736ffd735b8bf1cc08717fb8b80471042649a9a4ffc8a2aafd25b67
7
+ data.tar.gz: bb5db5c1d64cecdd49e8bb8e1557c296e2a29e36be7ce3fa3c12644e40448157456b988ed5c4ab1a5e170f14bfec4978768422444b2206a239bbcd0fce84cea1
data/Dockerfile CHANGED
@@ -2,7 +2,7 @@ FROM ubuntu:cosmic
2
2
  USER root
3
3
  # START PROVISION
4
4
  ADD provision.sh /tmp/provision.sh
5
- RUN /bin/bash /tmp/provision.sh
5
+ RUN /bin/sh +x /tmp/provision.sh
6
6
  # END PROVISION
7
- USER rbbt
8
- ENV HOME /home/rbbt
7
+ #USER rbbt
8
+ #ENV HOME /home/rbbt
@@ -25,18 +25,10 @@ $ #{$0} [options]
25
25
  -ws--workflow_server* Rbbt remote workflow server
26
26
  -rr--remote_resources* Remote resources to gather from file-server
27
27
  -rw--remote_workflows* Remote workflows server from workflow-server
28
- -ss--skip_base_system Skip base system installation
29
- -st--skip_tokyocabinet Skip tokyocabinet setup installation
30
- -sr--skip_ruby Skip ruby setup installation
31
- -sp--skip_perl Skip perl setup installation
32
- -spy--skip_python Skip python setup installation
33
- -sg--skip_gem Skip ruby gem installation
34
- -sR--skip_R Skip R setup
35
- -su--skip_user_setup Skip user setup
36
- -sb--skip_bootstrap Skip user bootstrap
37
- -Rc--R_custom Install a custom installation of R
38
- -Rp--R_packages Install basic R packages
28
+ -bs--base_system* Version of base system initialization script to use (default: ubuntu)
39
29
  -Rbv--ruby_version* Ruby version to use, using three numbers (defaults to 2.4.1)
30
+ -d--do* List of steps to do
31
+ -nd--not_do* List of steps to not do
40
32
  -op--optimize Optimize files under ~/.rbbt
41
33
  -dep--container_dependency* Use a different image in Dockerfile, Singularity and Virtualbox
42
34
  -dt--docker* Build docker image using the provided name
@@ -66,27 +58,26 @@ script_dir = File.join(root_dir, "share/provision_scripts/")
66
58
  # options[:skip_bootstrap] = true
67
59
  #end
68
60
 
69
- USER = options[:user] || 'rbbt'
70
- SKIP_BASE_SYSTEM = options[:skip_base_system]
71
- SKIP_TOKYOCABINET= options[:skip_tokyocabinet]
72
- SKIP_RUBY = options[:skip_ruby]
73
- SKIP_PERL = options[:skip_perl]
74
- SKIP_PYTHON = options[:skip_python]
75
- R_CUSTOM = options[:R_custom]
76
- SKIP_R = options[:skip_R]
77
- SKIP_BOOT = options[:skip_bootstrap]
78
- SKIP_USER = options[:skip_user_setup]
79
- SKIP_GEM = options[:skip_gem]
80
- OPTIMIZE = options[:optimize]
61
+ all_steps = %w(functions base_system tokyocabinet ruby_custom gem java R_custom R perl_custom python_custom python user slurm_loopback hacks)
62
+
63
+
64
+ do_steps = options.include?("do")? (all_steps & options[:do].split(",")) : all_steps
65
+ not_do_steps = options.include?(:not_do)? options[:not_do].split(",") : all_steps - do_steps
66
+
67
+ do_steps << 'base_system' if options[:base_system]
68
+ do_steps << 'user' if options[:workflow]
69
+
70
+ OPTIMIZE = options[:optimize]
71
+ USER = options[:user] || 'rbbt'
72
+ CONTAINER_DEP = options[:container_dependency] || 'alpine'
73
+ BASE_SYSTEM = options[:base_system] || CONTAINER_DEP
81
74
 
82
75
  VARIABLES={
83
- :RBBT_LOG => 0,
84
- :BOOTSTRAP_WORKFLOWS => (options[:workflow] || "").split(/[\s,]+/)*" ",
85
- :REMOTE_RESOURCES => (options[:remote_resources] || "KEGG").split(/[\s,]+/)*" "
76
+ :RBBT_LOG => 0,
77
+ :BOOTSTRAP_WORKFLOWS => (options[:workflow] || "").split(/[\s,]+/)*" ",
78
+ :REMOTE_RESOURCES => (options[:remote_resources] || "").split(/[\s,]+/)*" "
86
79
  }
87
80
 
88
- VARIABLES[:BOOTSTRAP_WORKFLOWS] = "" if VARIABLES[:BOOTSTRAP_WORKFLOWS] == 'none'
89
-
90
81
  VARIABLES[:RBBT_SERVER] = options[:server] if options[:server]
91
82
  VARIABLES[:RBBT_FILE_SERVER] = options[:file_server] if options[:file_server]
92
83
  VARIABLES[:RBBT_WORKFLOW_SERVER] = options[:workflow_server] if options[:workflow_server]
@@ -96,213 +87,88 @@ VARIABLES[:RBBT_NO_PROGRESS] = "true" if options[:nobar]
96
87
 
97
88
  options[:ruby_version] ||= "2.6.4"
98
89
 
99
-
100
90
  provision_script =<<-EOF
101
91
  #!/bin/bash -x
102
92
 
103
- echo "RUNNING PROVISION"
104
- echo
93
+ # PROVISION FILE
105
94
  echo "CMD: #{File.basename($0) + " " + orig_argv.collect{|a| a =~ /\s/ ? "\'#{a}\'" : a }.join(" ")}"
106
- echo
107
- echo -n "Starting: "
108
- date
109
-
110
- EOF
111
-
112
- provision_script +=<<-EOF
113
- echo "1. Provisioning base system"
114
- #{
115
- if not SKIP_BASE_SYSTEM
116
- File.read(script_dir + 'ubuntu_setup.sh')
117
- else
118
- "echo SKIPPED\necho"
119
- end
120
- }
121
-
122
- #{
123
- if not SKIP_BASE_SYSTEM and R_CUSTOM
124
- "echo 1.1 Setting custom R"
125
- File.read(script_dir + 'R_setup.sh')
126
- end
127
- }
128
-
129
- #{
130
- if not SKIP_R
131
- "echo 1.2 Install R packages"
132
- File.read(script_dir + 'R_packages.sh')
133
- end
134
- }
135
-
136
- echo "2. Setting up tokyocabinet"
137
- #{
138
- if not SKIP_TOKYOCABINET
139
- File.read(script_dir + 'tokyocabinet_setup.sh')
140
- else
141
- "echo SKIPPED\necho"
142
- end
143
- }
144
-
145
- echo "3. Setting up ruby"
146
- #{
147
- if not SKIP_RUBY
148
- "export RUBY_VERSION='#{options[:ruby_version]}'\n" << File.read(script_dir + 'ruby_setup.sh')
149
- else
150
- "echo SKIPPED\necho"
151
- end
152
- }
153
-
154
-
155
- echo "3.1. Setting up gems"
156
- #{
157
- if not SKIP_GEM
158
- File.read(script_dir + 'gem_setup.sh')
159
- else
160
- "echo SKIPPED\necho"
161
- end
162
- }
163
-
164
- echo "4 Setting up other stuff"
165
- echo "4.1 Setting up perl"
166
- #{
167
- if not SKIP_PERL
168
- File.read(script_dir + 'perl_setup.sh')
169
- else
170
- "echo SKIPPED\necho"
171
- end
172
- }
173
-
174
- echo "4.2 Setting up python"
175
- #{
176
- if not SKIP_PYTHON
177
- File.read(script_dir + 'python_setup.sh')
178
- else
179
- "echo SKIPPED\necho"
180
- end
181
- }
182
-
183
- echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
184
- echo "source /etc/rbbt_environment" >> /etc/profile
185
- EOF
186
-
187
- provision_script +=<<-EOF
188
- echo "4. Configuring user"
189
- EOF
190
-
191
- if not SKIP_USER
192
- provision_script +=<<-EOF
193
- ####################
194
- # USER CONFIGURATION
195
-
196
- if [[ '#{ USER }' == 'root' ]] ; then
197
- home_dir='/root'
198
- else
199
- useradd -ms /bin/bash #{USER}
200
- home_dir='/home/#{USER}'
201
- fi
202
95
 
203
- user_script=$home_dir/.rbbt/bin/config_user
204
- mkdir -p $(dirname $user_script)
205
- chown -R #{USER} /home/#{USER}/.rbbt/
96
+ test -f /etc/profile && source /etc/profile
97
+ test -f /etc/rbbt_environment && source /etc/rbbt_environment
206
98
 
207
-
208
- # set user configuration script
209
- cat > $user_script <<'EUSER'
210
-
211
- . /etc/profile
212
-
213
- echo "4.1. Loading custom variables"
214
- #{
215
- VARIABLES.collect do |variable,value|
216
- "export " << ([variable,'"' << value.to_s << '"'] * "=")
217
- end * "\n"
218
- }
219
-
220
- echo "4.2. Loading default variables"
221
- #{File.read(script_dir + 'variables.sh')}
222
-
223
- echo "4.3. Configuring rbbt"
224
- #{File.read(script_dir + 'user_setup.sh')}
225
- EUSER
226
-
227
- echo "4.4. Running user configuration as '#{USER}'"
228
- chown #{USER} $user_script;
229
- su -l -c "bash $user_script" #{USER}
230
-
231
- EOF
232
- else
233
- provision_script += "echo SKIPPED\necho\n\n"
234
- end
235
-
236
- provision_script +=<<-EOF
237
- echo "5. Bootstrapping workflows as '#{USER}'"
238
- echo
239
99
  EOF
240
100
 
241
- if not SKIP_BOOT
242
- provision_script +=<<-EOF
243
-
244
- if [[ '#{ USER }' == 'root' ]] ; then
245
- home_dir='/root'
246
- else
247
- home_dir='/home/#{USER}'
248
- fi
249
-
250
- user_script=$home_dir/.rbbt/bin/bootstrap
251
-
252
- cat > $user_script <<'EUSER'
253
-
254
- . /etc/profile
255
-
256
- echo "5.1. Loading custom variables"
257
- #{
258
- VARIABLES.collect do |variable,value|
259
- "export " << ([variable,'"' << value.to_s << '"'] * "=")
260
- end * "\n"
261
- }
262
-
263
- echo "5.2. Loading default variables"
264
- #{File.read(script_dir + 'variables.sh')}
265
-
266
- echo "5.3. Configuring rbbt"
267
- #{File.read(script_dir + 'user_setup.sh')}
268
- #
269
- echo "5.4. Install and bootstrap"
270
- #{File.read(script_dir + "bootstrap.sh")}
271
- EUSER
272
-
273
- chown #{USER} $user_script;
274
- su -l -c "bash $user_script" #{USER}
101
+ all_steps.each_with_index do |step,i|
102
+ if ! do_steps.include?(step)
103
+ provision_script += "#" + "NOT DO #{step}\n"
104
+ next
105
+ end
275
106
 
276
- EOF
277
- else
278
- provision_script += "echo SKIPPED\necho\n\n"
107
+ provision_script += "#" + "DO #{step}\n"
108
+ provision_script += case step
109
+ when 'base_system'
110
+ File.read(script_dir + "#{BASE_SYSTEM}_setup.sh")
111
+ when 'user'
112
+ user_script =<<~EOF
113
+ . /etc/profile
114
+ . /etc/rbbt_environment
115
+
116
+ echo "6.1. Loading custom variables"
117
+ #{
118
+ VARIABLES.collect do |variable,value|
119
+ "export " << ([variable,'"' << value.to_s << '"'] * "=")
120
+ end * "\n"
121
+ }
122
+
123
+ echo "6.2. Loading default variables"
124
+ #{File.read(script_dir + 'variables.sh')}
125
+
126
+ echo "6.3. Configuring rbbt"
127
+ #{File.read(script_dir + 'user.sh')}
128
+
129
+ echo "6.4. Install and bootstrap"
130
+ #{File.read(script_dir + "bootstrap.sh")}
131
+
132
+ echo "6.5. Migrate shared files"
133
+ #{File.read(script_dir + "migrate.sh")}
134
+ EOF
135
+
136
+ <<~EOF
137
+ if [[ '#{ USER }' == 'root' ]] ; then
138
+ home_dir='/root'
139
+ else
140
+ adduser --disabled-password --gecos "" #{USER}
141
+ addgroup rbbt
142
+ adduser #{USER} rbbt
143
+ home_dir='/home/#{USER}'
144
+ chown -R #{USER} $home_dir/
145
+ fi
146
+
147
+ mkdir -p $home_dir/.rbbt/bin/
148
+ user_script=$home_dir/.rbbt/bin/bootstrap
149
+ chown -R #{USER} $home_dir/
150
+
151
+ for d in /usr/local/var/rbbt /usr/local/share/rbbt /usr/local/workflows/rbbt /usr/local/software/rbbt; do
152
+ mkdir -p $d
153
+ chgrp rbbt $d
154
+ chown rbbt $d
155
+ chmod g+w $d
156
+ done
157
+
158
+ cat > $user_script <<'EUSER'
159
+ #{user_script}
160
+ EUSER
161
+
162
+
163
+ su -l -c "sh $user_script" #{USER}
164
+ EOF
165
+ else
166
+ File.read(script_dir + "#{step}.sh")
167
+ end
279
168
  end
280
169
 
281
- provision_script +=<<-EOF
282
- # HACKS
283
- # =====
284
-
285
- #{File.read(script_dir + 'hacks.sh')}
286
- EOF
287
-
288
- provision_script +=<<-EOF
289
- # CODA
290
- # ====
291
-
292
- apt-get clean
293
- rm -rf /var/lib/apt/lists/* /var/tmp/* /usr/share/doc /usr/share/man /usr/local/share/ri
294
-
295
- #{ "su -l -c 'rbbt system optimize /home/#{USER}/.rbbt ' #{USER}" if OPTIMIZE}
296
-
297
- echo
298
- echo -n "Installation done: "
299
- date
300
-
301
- EOF
302
-
303
-
304
- if docker_image = options[:docker]
305
- container_dependency = options[:container_dependency] || 'ubuntu:focal'
170
+ if docker_image = options[:docker]
171
+ container_dependency = CONTAINER_DEP
306
172
  dockerfile = options[:dockerfile] || File.join(root_dir, 'Dockerfile')
307
173
  dockerfile_text = Open.read(dockerfile)
308
174
  dockerfile_text.sub!(/^FROM.*/,'FROM ' + container_dependency) if container_dependency
@@ -339,31 +205,44 @@ end
339
205
 
340
206
  if singularity_image = options[:singularity]
341
207
 
342
- container_dependency = options[:container_dependency] || 'ubuntu:focal'
208
+ container_dependency = CONTAINER_DEP
343
209
  TmpFile.with_file(nil, false) do |dir|
344
210
  Path.setup(dir)
345
211
 
346
212
  provision_file = dir['provision.sh']
347
213
 
348
- bootstrap_text=<<-EOF
214
+ if container_dependency.include? '.sif'
215
+ bootstrap_text=<<-EOF
216
+ Bootstrap: localimage
217
+ From: #{container_dependency}
218
+ EOF
219
+ else
220
+ bootstrap_text=<<-EOF
349
221
  Bootstrap: docker
350
222
  From: #{container_dependency}
223
+ EOF
224
+ end
351
225
 
226
+ bootstrap_text+=<<-EOF
352
227
  %post
353
228
  cat > /image_provision.sh <<"EOS"
354
229
  #{provision_script}
355
230
  EOS
356
- bash -x /image_provision.sh 2>&1 | tee /image_provision.log
357
- ln -s /etc/rbbt_environment /.singularity.d/env/99-rbbt_environment.sh
231
+ sh -x /image_provision.sh 2>&1 | tee /image_provision.log
232
+ bash -c '[ -f /.singularity.d/env/99-rbbt_environment.sh ] || ln -s /etc/rbbt_environment /.singularity.d/env/99-rbbt_environment.sh'
358
233
  chmod +x /.singularity.d/env/99-rbbt_environment.sh
359
- bash -c '[ -d /usr/local/share ] || mkdir -p /usr/local/share'
360
- bash -c '[ -d /software/rbbt ] || mkdir -p /software/rbbt'
361
- bash -c '[ -d /home/#{USER}/.rbbt/var/ ] && mv /home/#{USER}/.rbbt/var/ /var/rbbt' || echo -n ""
362
- bash -c '[ -d /home/#{USER}/.rbbt/var/ ] && mv /home/#{USER}/.rbbt/var/ /var/rbbt' || echo -n ""
363
- bash -c '[ -d /home/#{USER}/.rbbt/share/ ] && mv /home/#{USER}/.rbbt/share/ /usr/local/share/rbbt' || echo -n ""
364
- bash -c '[ -d /home/#{USER}/.rbbt/software/opt ] && mv /home/#{USER}/.rbbt/software/opt /software/rbbt/opt' || echo -n ""
365
- bash -c '[ -d /home/#{USER}/.rbbt/software/src ] && mv /home/#{USER}/.rbbt/software/src /software/rbbt/src' || echo -n ""
366
- bash -c '[ -d /home/#{USER}/.rbbt/software/scm ] && mv /home/#{USER}/.rbbt/software/scm /software/rbbt/scm' || echo -n ""
234
+ #bash -c '[ -d /home/#{USER}/.local/lib/ ] && (rsync -av /home/#{USER}/.local/lib/ /usr/lib/' && chmod 755 /usr/lib/python*/site-packages/ && chown -R root /usr/lib/python*/site-packages/ && rm /home/#{USER}/.local/lib/) || echo -n ""
235
+ #bash -c '[ -d /usr/local/share ] || mkdir -p /usr/local/share'
236
+ #bash -c '[ -d /usr/local/share ] || mkdir -p /usr/local/share'
237
+ #bash -c '[ -d /usr/local/workflows ] || mkdir -p /usr/local/workflows'
238
+ #bash -c '[ -d /software/rbbt ] || mkdir -p /software/rbbt'
239
+ #bash -c '[ -d /home/#{USER}/.rbbt/var/ ] && mv /home/#{USER}/.rbbt/var/ /var/rbbt' || echo -n ""
240
+ #bash -c '[ -d /home/#{USER}/.rbbt/var/ ] && rm -Rf /home/#{USER}/.rbbt/var/' || echo -n ""
241
+ #bash -c '[ -d /home/#{USER}/.rbbt/share/ ] && mv /home/#{USER}/.rbbt/share/ /usr/local/share/rbbt' || echo -n ""
242
+ #bash -c '[ -d /home/#{USER}/.rbbt/workflows/ ] && mv /home/#{USER}/.rbbt/workflows/ /usr/local/workflows/rbbt' || echo -n ""
243
+ #bash -c '[ -d /home/#{USER}/.rbbt/software/opt ] && mv /home/#{USER}/.rbbt/software/opt /software/rbbt/opt' || echo -n ""
244
+ #bash -c '[ -d /home/#{USER}/.rbbt/software/src ] && mv /home/#{USER}/.rbbt/software/src /software/rbbt/src' || echo -n ""
245
+ #bash -c '[ -d /home/#{USER}/.rbbt/software/scm ] && mv /home/#{USER}/.rbbt/software/scm /software/rbbt/scm' || echo -n ""
367
246
  EOF
368
247
  FileUtils.mkdir_p dir
369
248
  Open.write(dir["singularity_bootstrap"].find, bootstrap_text)
@@ -374,11 +253,11 @@ EOF
374
253
  cmd_boot = "singularity build #{singularity_image} '#{dir["singularity_bootstrap"]}'"
375
254
 
376
255
 
377
- puts "**************"
378
- puts "CREATING IMAGE: #{dir["singularity_bootstrap"].find}"
379
- puts "**************"
380
- puts cmd_create
381
- CMD.cmd_log(cmd_create, :log => 4)
256
+ #puts "**************"
257
+ #puts "CREATING IMAGE: #{dir["singularity_bootstrap"].find}"
258
+ #puts "**************"
259
+ #puts cmd_create
260
+ #CMD.cmd_log(cmd_create, :log => 4)
382
261
 
383
262
  puts "**************"
384
263
  puts "BUILDING IMAGE: #{dir["singularity_bootstrap"].find}"
@@ -390,6 +269,7 @@ EOF
390
269
  end
391
270
 
392
271
  if options[:virtualbox]
272
+ container_dependency = CONTAINER_DEP
393
273
  TmpFile.with_file(nil, false) do |dir|
394
274
  Path.setup(dir)
395
275
 
@@ -416,11 +296,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
416
296
  end
417
297
  EOF
418
298
 
299
+ Log.debug "Running vagrant on #{dir}"
419
300
  Misc.in_dir(dir) do
420
- io = CMD.cmd('vagrant up', :pipe => true, :log => true)
421
- while line = io.gets
422
- puts line
423
- end
301
+ CMD.cmd_log(:vagrant, "up")
424
302
  end
425
303
  end
426
304
  end
@@ -0,0 +1,66 @@
1
+ #!/bin/bash -x
2
+
3
+ # INSTALL
4
+ # =======
5
+
6
+ # R packages
7
+ # ----------
8
+
9
+ function R_install_packages(){
10
+ pkgs="'$1'"
11
+ shift
12
+ for p in $@; do
13
+ pkgs="$pkgs, '$p'"
14
+ done
15
+ echo "install.packages(c($pkgs), repos='http://cran.us.r-project.org')" | R --vanilla --quiet
16
+ }
17
+
18
+ function R_biocLite(){
19
+ pkgs="'$1'"
20
+ shift
21
+ for p in $@; do
22
+ echo "BiocManager::install(c('$p'))" | R --vanilla --quiet
23
+ done
24
+ }
25
+
26
+ function R_CMD_install(){
27
+ url=$1
28
+ name=$2
29
+ wget "$url" -O /tmp/R-pkg-"$name".tar.gz
30
+ R CMD INSTALL /tmp/R-pkg-"$name".tar.gz
31
+ }
32
+
33
+
34
+ export R_HOME=$(R RHOME)
35
+ export R_INCLUDE="$R_HOME/../../include/R"
36
+ gem install rsruby -- --with-R-dir=$R_HOME --with-R-include=$R_INCLUDE
37
+
38
+ echo 'install.packages("Rserve", repos="http://www.rforge.net/")' | R --vanilla --quiet
39
+ gem install rserve-client
40
+
41
+ #R_install_packages 'Rcpp'
42
+ #R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/plyr/plyr_1.8.1.tar.gz' plyr
43
+
44
+ #R_install_packages 'MASS' 'nnet'
45
+ #R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/car/car_2.0-22.tar.gz' car
46
+
47
+ R_install_packages 'tidyverse'
48
+
49
+ R_install_packages 'RJSONIO' 'XML' 'digest' 'gtable' 'reshape2' 'scales' 'proto'
50
+ #R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_1.0.0.tar.gz' ggplot2
51
+
52
+ R_install_packages 'BiocManager'
53
+ R_biocLite Biobase
54
+
55
+ R_install_packages NMF Cairo drc gridSVG ggthemes mclust randomForest viper
56
+
57
+ R_install_packages pheatmap VennDiagram Hmisc pls gridSVG
58
+
59
+ R_install_packages UpSetR
60
+
61
+ R_biocLite limma viper
62
+
63
+ R_install_packages pROC txtplot
64
+
65
+ rm /tmp/R-pkg-*.tar.gz
66
+
@@ -7,7 +7,7 @@ cd /tmp
7
7
 
8
8
  apt-get remove r-base-core
9
9
 
10
- wget https://cran.rediris.es/src/base/R-3/R-3.6.1.tar.gz -O R.tar.gz
10
+ wget https://cran.r-project.org/src/base/R-4/R-4.2.1.tar.gz -O R.tar.gz
11
11
  tar -xvzf R.tar.gz
12
12
 
13
13
  cd R-*/
@@ -0,0 +1,17 @@
1
+ # Basic alpine setup
2
+ apk add ruby ruby-dev # Ruby
3
+ apk add git make gcc g++ cmake # Building
4
+ apk add bzip2 bzip2-dev zlib zlib-dev krb5 gcompat # Libs
5
+ apk add bash openssh-client wget curl rsync gnu-libiconv # Tools
6
+
7
+ gem install rbbt-util rbbt-sources
8
+ gem install RubyInline
9
+
10
+ gem install specific_install hoe minitest
11
+ gem specific_install -l https://github.com/mikisvaz/lockfile.git
12
+ gem specific_install -l https://github.com/mikisvaz/rubyinline.git
13
+
14
+ rm -Rf /usr/lib/ruby/gems/*/doc /usr/lib/ruby/gems/*/cache
15
+
16
+ grep rbbt_environment /etc/rbbt_environment || echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
17
+ grep rbbt_environment /etc/profile || echo echo "source /etc/rbbt_environment" >> /etc/profile
@@ -0,0 +1,47 @@
1
+ # Basic alpine setup
2
+ apk add ruby ruby-dev # Ruby
3
+ apk add git make gcc g++ cmake # Building
4
+ apk add bzip2 bzip2-dev zlib zlib-dev krb5 gcompat # Libs
5
+ apk add bash openssh-client wget curl rsync gnu-libiconv # Tools
6
+
7
+ gem install rbbt-util rbbt-sources
8
+ gem install RubyInline
9
+
10
+ gem install specific_install hoe minitest
11
+ gem specific_install -l https://github.com/mikisvaz/lockfile.git
12
+ gem specific_install -l https://github.com/mikisvaz/rubyinline.git
13
+
14
+ rm -Rf /usr/lib/ruby/gems/*/doc /usr/lib/ruby/gems/*/cache
15
+
16
+ grep rbbt_environment /etc/rbbt_environment || echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
17
+ grep rbbt_environment /etc/profile || echo echo "source /etc/rbbt_environment" >> /etc/profile
18
+
19
+ # Main alpine setup
20
+ apk add xvfb bison autoconf rsync curl openssl numactl zlib-dev zlib yaml-dev openssl xz-dev xz-libs libffi tcsh gawk pandoc libtbb-dev yaml libxml2-dev libxml2 shared-mime-info
21
+
22
+ # Extended alpine setup
23
+ apk add openjdk17 R R-dev python3 python3-dev py3-pip ansible
24
+
25
+ apk add fontconfig fontconfig-dev harfbuzz fribidi harfbuzz-dev fribidi-dev jpeg jpeg-dev tiff tiff-dev cairo cairo-dev libxt-dev libxt
26
+
27
+ # Allow USER to install things globaly during bootstrap
28
+ chmod 777 -R /usr/lib/python*/site-packages
29
+
30
+ gem install pycall
31
+
32
+ export R_HOME=$(R RHOME)
33
+ export R_INCLUDE="$R_HOME/../../include/R"
34
+ cat >> /etc/rbbt_environment <<'EOF'
35
+ export R_HOME=$(R RHOME)
36
+ export R_INCLUDE="$R_HOME/../../include/R"
37
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$R_HOME/lib"
38
+ export PATH="$PATH:$R_HOME/bin"
39
+ EOF
40
+ gem install rsruby -- --with-R-dir=$R_HOME --with-R-include=$R_INCLUDE
41
+
42
+ echo 'install.packages("Rserve", repos="http://www.rforge.net/")' | R --vanilla --quiet
43
+ gem install rserve-client
44
+
45
+ export JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' | cut -f 2 -d "=" | awk '{$1=$1};1')
46
+ echo $JAVA_HOME
47
+ gem install rjb
@@ -0,0 +1,20 @@
1
+ # Basic alpine setup
2
+ apk add ruby ruby-dev # Ruby
3
+ apk add git make gcc g++ cmake # Building
4
+ apk add bzip2 bzip2-dev zlib zlib-dev krb5 gcompat # Libs
5
+ apk add bash openssh-client wget curl rsync gnu-libiconv # Tools
6
+
7
+ gem install rbbt-util rbbt-sources
8
+ gem install RubyInline
9
+
10
+ gem install specific_install hoe minitest
11
+ gem specific_install -l https://github.com/mikisvaz/lockfile.git
12
+ gem specific_install -l https://github.com/mikisvaz/rubyinline.git
13
+
14
+ rm -Rf /usr/lib/ruby/gems/*/doc /usr/lib/ruby/gems/*/cache
15
+
16
+ grep rbbt_environment /etc/rbbt_environment || echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
17
+ grep rbbt_environment /etc/profile || echo echo "source /etc/rbbt_environment" >> /etc/profile
18
+
19
+ # Main alpine setup
20
+ apk add xvfb bison autoconf rsync curl openssl numactl zlib-dev zlib yaml-dev openssl xz-dev xz-libs libffi tcsh gawk pandoc libtbb-dev yaml libxml2-dev libxml2 shared-mime-info
@@ -3,15 +3,27 @@
3
3
  # USER RBBT BOOTSTRAP
4
4
  # ===================
5
5
 
6
+ export RBBT_WORKFLOW_AUTOINSTALL=true
7
+ export RBBT_LOG=0
8
+
6
9
  for workflow in $BOOTSTRAP_WORKFLOWS; do
7
10
  rbbt workflow install $workflow
8
- done
9
11
 
10
- export RBBT_WORKFLOW_AUTOINSTALL=true
11
- export RBBT_LOG
12
+ pip_requirements_file=$(rbbt_find.rb -w $workflow requirements.pip --nocolor)
13
+ test -z $pip_requirements_file || pip install -r $pip_requirements_file
14
+ unset pip_requirements_file
15
+
16
+ pip_requirements_file2=$(rbbt_find.rb -w $workflow requirements.pip2 --nocolor)
17
+ test -z $pip_requirements_file2 || pip install -r $pip_requirements_file2
18
+ unset pip_requirements_file2
19
+
20
+ pip_requirements_file3=$(rbbt_find.rb -w $workflow requirements.pip3 --nocolor)
21
+ test -z $pip_requirements_file3 || pip install -r $pip_requirements_file3
22
+ unset pip_requirements_file3
23
+ done
12
24
 
13
25
  for workflow in $BOOTSTRAP_WORKFLOWS; do
14
26
  echo "Bootstrapping $workflow on $BOOTSTRAP_CPUS CPUs"
15
27
  [ -d $HOME/.rbbt/tmp/ ] || mkdir -p $HOME/.rbbt/tmp/
16
- rbbt workflow cmd $workflow bootstrap --cpus $BOOTSTRAP_CPUS &> $HOME/.rbbt/tmp/${workflow}.bootstrap.log
28
+ rbbt workflow cmd $workflow bootstrap --config_keys "cpus $BOOTSTRAP_CPUS bootstrap" > $HOME/.rbbt/tmp/${workflow}.bootstrap.log
17
29
  done
@@ -0,0 +1,58 @@
1
+ _var_content(){
2
+ var=$1
3
+ eval echo "$"$(echo $var)
4
+ }
5
+
6
+ _append_with_colon(){
7
+ var=$1
8
+ value=$2
9
+
10
+ current=`_var_content $var`
11
+
12
+ if ! echo $current | grep "\(^\|:\)$value\(:\|$\)" >/dev/null 2>&1; then
13
+ eval $(echo $var)="\"$current:$value\""
14
+ fi
15
+ }
16
+
17
+ _append_with_space(){
18
+ var=$1
19
+ value=$2
20
+
21
+ current=`_var_content $var`
22
+
23
+ if ! echo $current | grep "\(^\| \)$value\( \|$\)" >/dev/null 2>&1; then
24
+ eval $(echo $var)="\"$current:$value\""
25
+ fi
26
+ }
27
+
28
+ _prepend_with_colon(){
29
+ var=$1
30
+ value=$2
31
+
32
+ current=`_var_content $var`
33
+
34
+ if ! echo $current | grep "\(^\|:\)$value\(:\|$\)" >/dev/null 2>&1; then
35
+ eval $(echo $var)="\"$value:$current\""
36
+ fi
37
+ }
38
+
39
+ _prepend_with_space(){
40
+ var=$1
41
+ value=$2
42
+
43
+ current=`_var_content $var`
44
+
45
+ if ! echo $current | grep "\(^\| \)$value\( \|$\)" >/dev/null 2>&1; then
46
+ eval $(echo $var)="\"$value $current\""
47
+ fi
48
+ }
49
+
50
+ _add_path(){
51
+ _prepend_with_colon PATH "${1%/}"
52
+ }
53
+
54
+ _add_libpath(){
55
+ _prepend_with_colon LD_LIBRARY_PATH "${1%/}"
56
+ _prepend_with_colon LD_RUN_PATH "${1%/}"
57
+ }
58
+
@@ -0,0 +1,42 @@
1
+ #!/bin/bash -x
2
+
3
+ # RUBY GEMS and RBBT
4
+ # =================
5
+
6
+ echo "* Updating RubyGem"
7
+ export REALLY_GEM_UPDATE_SYSTEM=true
8
+ env REALLY_GEM_UPDATE_SYSTEM=true gem update --no-document --system
9
+
10
+ #echo "* Installing difficult gems: ZenTest, RubyInline, rsruby and rjb"
11
+ #gem install --force --no-document RubyInline
12
+ gem install --force --no-document ZenTest
13
+
14
+ ## R (extra config in gem)
15
+ #export R_INCLUDE="$(echo "$R_HOME" | sed 's@/usr/lib\(32\|64\)*@/usr/share@')/include"
16
+ #gem install --conservative --no-document rsruby -- --with-R-dir="$R_HOME" --with-R-include="$R_INCLUDE" \
17
+ # --with_cflags="-fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wall -fno-strict-aliasing"
18
+
19
+ # Java (extra config in gem)
20
+ #export JAVA_HOME=$(echo /usr/lib/jvm/java-?-openjdk-*)
21
+ #gem install --conservative --force --no-document rjb
22
+
23
+ echo "* Installing all rbbt gems"
24
+ # Rbbt and some optional gems
25
+ gem install --no-document --force \
26
+ tokyocabinet \
27
+ ruby-prof \
28
+ rbbt-util rbbt-sources rbbt-dm rbbt-text rbbt-rest
29
+
30
+ echo "* Installing extra gems for web stuff"
31
+ # Extra things for web interface
32
+ gem install --no-document \
33
+ sinatra puma \
34
+ rest-client \
35
+ kramdown pandoc pandoc-ruby \
36
+ spreadsheet rubyXL \
37
+ prawn prawn-svg mimemagic \
38
+ prime mechanize
39
+
40
+ gem install --no-document mini_racer uglifier
41
+
42
+ gem cleanup
@@ -1,2 +1,2 @@
1
1
  # For BNReduction work
2
- ln -s /bin/sed /usr/bin/sed
2
+ #ln -s /bin/sed /usr/bin/sed
@@ -0,0 +1,3 @@
1
+ export JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' | cut -f 2 -d "=" | awk '{$1=$1};1')
2
+ echo $JAVA_HOME
3
+ gem install rjb
@@ -0,0 +1,6 @@
1
+ rbbt migrate ~/.rbbt/etc/ local --delete
2
+ rbbt migrate ~/.rbbt/var/ local --delete
3
+ rbbt migrate ~/.rbbt/share/ local --delete
4
+ rbbt migrate ~/.rbbt/software/ local --delete
5
+ rbbt migrate ~/.rbbt/workflows/ local --delete
6
+ rm -Rf ~/.rbbt/tmp/
@@ -0,0 +1,4 @@
1
+ gem install pycall
2
+ pip install --upgrade pip
3
+ pip install ansible
4
+ pip install pandas numpy matplotlib
@@ -2,15 +2,21 @@ wget "https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh" -O
2
2
  echo "# Python conda " >> /etc/rbbt_environment
3
3
 
4
4
  bash /tmp/miniconda.sh -b -p /usr/local/miniconda3
5
+
5
6
  ln -s /usr/local/miniconda3/bin/conda /usr/local/bin/conda
6
7
  echo '_add_path "/usr/local/miniconda3/bin/"' >> /etc/rbbt_environment
7
8
 
8
9
  conda create --yes -n python2 python=2.7 pip
9
10
 
10
- conda create --yes -n python3 python=3 pip
11
+ conda create --yes -n python3 python=3.6 pip
11
12
 
12
13
  echo '_add_path "/usr/local/miniconda3/envs/python2/bin/"' >> /etc/rbbt_environment
13
14
  echo '_add_path "/usr/local/miniconda3/envs/python3/bin/"' >> /etc/rbbt_environment
15
+ echo '' >> /etc/rbbt_environment
16
+ echo '# Setup conda environment' >> /etc/rbbt_environment
17
+ echo 'export CONDA_PKGS_DIRS=~/tmp/conda/pkgs' >> /etc/rbbt_environment
18
+ echo '. /usr/local/miniconda3/etc/profile.d/conda.sh' >> /etc/rbbt_environment
14
19
 
15
20
  rm -Rf /usr/local/miniconda3/pkgs
16
21
  source /etc/rbbt_environment
22
+
@@ -13,7 +13,7 @@ cd /tmp/ruby-install
13
13
  wget https://cache.ruby-lang.org/pub/ruby/$_small_version/ruby-${RUBY_VERSION}.tar.gz -O "ruby.tar.gz"
14
14
  tar -xvzf ruby.tar.gz
15
15
  cd ruby-*/
16
- ./configure --prefix=/usr/local
16
+ ./configure --prefix=/usr/local --enable-shared
17
17
  make && make install
18
18
 
19
19
  unset _small_version
@@ -0,0 +1,45 @@
1
+ #!/bin/bash -x
2
+
3
+ # Prepare SLURM loopback
4
+ # ======================
5
+
6
+ cat <<'EOF' > /usr/local/bin/loopback_cmd
7
+ #!/bin/bash
8
+
9
+ if [ -z "$LOOPBACK_KEY" ]; then
10
+ LOOPBACK_KEY="$HOME/.ssh/slurm-loopback"
11
+ fi
12
+
13
+ if [ ! -f "$LOOPBACK_KEY" ]; then
14
+ echo "Prepare a ssh key on '$LOOPBACK_KEY' or point to it with environment variable LOOPBACK_KEY." >&2
15
+ exit -1
16
+ else
17
+ ssh localhost -i $LOOPBACK_KEY "$@"
18
+ fi
19
+ EOF
20
+
21
+
22
+ cat <<'EOF' > /usr/local/bin/squeue
23
+ #!/bin/bash
24
+
25
+ loopback_cmd squeue "$@"
26
+ EOF
27
+
28
+
29
+ cat <<'EOF' > /usr/local/bin/sbatch
30
+ #!/bin/bash
31
+
32
+ loopback_cmd sbatch "$@"
33
+ EOF
34
+
35
+ cat <<'EOF' > /usr/local/bin/sacct
36
+ #!/bin/bash
37
+
38
+ loopback_cmd sacct "$@"
39
+ EOF
40
+
41
+ chmod +x /usr/local/bin/loopback_cmd /usr/local/bin/squeue /usr/local/bin/sbatch /usr/local/bin/sacct
42
+
43
+
44
+
45
+
@@ -3,9 +3,14 @@
3
3
  # TOKYOCABINET INSTALL
4
4
  # ===================
5
5
 
6
- cd /tmp
6
+ mkdir -p /opt/src/
7
+ cd /opt/src/
7
8
  wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.48.tar.gz -O "tokyocabinet.tar.gz"
8
9
  tar -xvzf tokyocabinet.tar.gz
9
10
  cd tokyocabinet-1.4.48
10
11
  ./configure --prefix=/usr/local
11
- make && make install
12
+ make > /tc_make.log
13
+ make install > /tc_make_install.log
14
+ gem install tokyocabinet
15
+ cd /
16
+ rm -Rf /opt/src/
@@ -3,67 +3,65 @@
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
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
67
65
 
68
66
  # Basic system requirements
69
67
  # -------------------------
@@ -76,15 +74,16 @@ DEBIAN_FRONTEND=noninteractive apt-get -y install \
76
74
  vim \
77
75
  wget \
78
76
  libc6 \
79
- time numactl \
77
+ time numactl xvfb \
80
78
  bison autoconf g++ libxslt1-dev make \
81
79
  zlib1g-dev libbz2-dev libreadline-dev \
82
80
  rsync wget curl git openssl libyaml-0-2 libyaml-dev \
83
81
  openjdk-8-jdk \
84
82
  libcairo2 libcairo2-dev r-base-core r-base-dev r-cran-rserve liblzma5 liblzma-dev libcurl4-openssl-dev \
85
83
  build-essential zlib1g-dev libssl-dev libyaml-dev libffi-dev \
86
- python3 python \
84
+ python3 python libtorch \
87
85
  tcsh gawk \
86
+ ansible \
88
87
  pandoc \
89
88
  libtbb-dev
90
89
 
@@ -114,7 +113,8 @@ echo '_add_path "/usr/local/bin/"' >> /etc/rbbt_environment
114
113
  echo 'export LC_ALL=C.UTF-8' >> /etc/rbbt_environment
115
114
 
116
115
 
117
- . /etc/rbbt_environment
118
-
119
116
  apt-get clean
120
117
  rm -rf /var/lib/apt/lists/*
118
+
119
+ echo "[ -f ~/.rbbt/etc/environment ] && . ~/.rbbt/etc/environment" >> "/etc/rbbt_environment"
120
+ echo "source /etc/rbbt_environment" >> /etc/profile
@@ -1,19 +1,17 @@
1
1
  #!/bin/bash -x
2
2
 
3
- test -z ${RBBT_SERVER+x} && RBBT_SERVER=http://rbbt.bsc.es/
4
- test -z ${RBBT_FILE_SERVER+x} && RBBT_FILE_SERVER="$RBBT_SERVER"
5
- test -z ${RBBT_WORKFLOW_SERVER+x} && RBBT_WORKFLOW_SERVER="$RBBT_SERVER"
3
+ test -z $RBBT_SERVER && export RBBT_SERVER=http://rbbt.bsc.es/
4
+ test -z $RBBT_FILE_SERVER && export RBBT_FILE_SERVER="$RBBT_SERVER"
5
+ test -z $RBBT_WORKFLOW_SERVER && export RBBT_WORKFLOW_SERVER="$RBBT_SERVER"
6
6
 
7
- test -z ${REMOTE_RESOURCES+x} && REMOTE_RESOURCES="Organism ICGC COSMIC KEGG InterPro"
8
- test -z ${REMOTE_WORFLOWS+x} && REMOTE_WORFLOWS=""
7
+ test -z $REMOTE_RESOURCES && export REMOTE_RESOURCES="Organism ICGC COSMIC KEGG InterPro Signor"
8
+ test -z $REMOTE_WORFLOWS && export REMOTE_WORFLOWS=""
9
9
 
10
- test -z ${RBBT_WORKFLOW_AUTOINSTALL+x} && RBBT_WORKFLOW_AUTOINSTALL="true"
10
+ test -z $RBBT_WORKFLOW_AUTOINSTALL && export RBBT_WORKFLOW_AUTOINSTALL="true"
11
11
 
12
- test -z ${WORKFLOWS+x} && WORKFLOWS=""
12
+ test -z $WORKFLOWS && export WORKFLOWS=""
13
13
 
14
- test -z ${BOOTSTRAP_WORKFLOWS+x} && BOOTSTRAP_WORKFLOWS=""
15
- test -z ${BOOTSTRAP_CPUS+x} && BOOTSTRAP_CPUS="2"
14
+ test -z $BOOTSTRAP_WORKFLOWS && export BOOTSTRAP_WORKFLOWS=""
15
+ test -z $BOOTSTRAP_CPUS && export BOOTSTRAP_CPUS="2"
16
16
 
17
- test -z ${RBBT_LOG+x} && RBBT_LOG="LOW"
18
-
19
- test -z ${RUBY_VERSION+x} && RUBY_VERSION="2.4.1"
17
+ test -z $RBBT_LOG && export RBBT_LOG="LOW"
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.38
4
+ version: 0.1.40
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-02 00:00:00.000000000 Z
11
+ date: 2023-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbbt-util
@@ -40,17 +40,25 @@ files:
40
40
  - bin/run_rbbt_docker.rb
41
41
  - lib/rbbt/docker.rb
42
42
  - share/provision_scripts/Dockerfile.R-packages
43
- - share/provision_scripts/R_packages.sh
44
- - share/provision_scripts/R_setup.sh
43
+ - share/provision_scripts/R.sh
44
+ - share/provision_scripts/R_custom.sh
45
+ - share/provision_scripts/alpine_basic_setup.sh
46
+ - share/provision_scripts/alpine_extended_setup.sh
47
+ - share/provision_scripts/alpine_setup.sh
45
48
  - share/provision_scripts/bootstrap.sh
46
- - share/provision_scripts/gem_setup.sh
49
+ - share/provision_scripts/functions.sh
50
+ - share/provision_scripts/gem.sh
47
51
  - share/provision_scripts/hacks.sh
48
- - share/provision_scripts/perl_setup.sh
49
- - share/provision_scripts/python_setup.sh
50
- - share/provision_scripts/ruby_setup.sh
51
- - share/provision_scripts/tokyocabinet_setup.sh
52
+ - share/provision_scripts/java.sh
53
+ - share/provision_scripts/migrate.sh
54
+ - share/provision_scripts/perl_custom.sh
55
+ - share/provision_scripts/python.sh
56
+ - share/provision_scripts/python_custom.sh
57
+ - share/provision_scripts/ruby_custom.sh
58
+ - share/provision_scripts/slurm_loopback.sh
59
+ - share/provision_scripts/tokyocabinet.sh
52
60
  - share/provision_scripts/ubuntu_setup.sh
53
- - share/provision_scripts/user_setup.sh
61
+ - share/provision_scripts/user.sh
54
62
  - share/provision_scripts/variables.sh
55
63
  homepage: http://github.com/mikisvaz/rbbt-image
56
64
  licenses:
@@ -71,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
79
  - !ruby/object:Gem::Version
72
80
  version: '0'
73
81
  requirements: []
74
- rubygems_version: 3.0.6
82
+ rubygems_version: 3.4.8
75
83
  signing_key:
76
84
  specification_version: 4
77
85
  summary: Build docker and Vagrant (VM) images
@@ -1,51 +0,0 @@
1
- #!/bin/bash -x
2
-
3
- # INSTALL
4
- # =======
5
-
6
- # R packages
7
- # ----------
8
-
9
- function R_install_packages(){
10
- pkgs="'$1'"
11
- shift
12
- for p in $@; do
13
- pkgs="$pkgs, '$p'"
14
- done
15
- echo "install.packages(c($pkgs), repos='http://cran.us.r-project.org')" | R --vanilla
16
- }
17
-
18
- function R_biocLite(){
19
- pkgs="'$1'"
20
- shift
21
- for p in $@; do
22
- echo "source('http://bioconductor.org/biocLite.R'); biocLite('$p')" | R --vanilla
23
- done
24
- }
25
-
26
- function R_CMD_install(){
27
- url=$1
28
- name=$2
29
- wget "$url" -O /tmp/R-pkg-"$name".tar.gz
30
- R CMD INSTALL /tmp/R-pkg-"$name".tar.gz
31
- }
32
-
33
- R_install_packages Rcpp RJSONIO XML
34
- R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/plyr/plyr_1.8.1.tar.gz' plyr
35
- R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/car/car_2.0-22.tar.gz' car
36
- R_install_packages 'digest' 'gtable' 'reshape2' 'scales' 'proto'
37
-
38
- R_CMD_install 'https://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_1.0.0.tar.gz' ggplot2
39
-
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
46
-
47
- R_biocLite limma viper
48
-
49
- R_install_packages pROC txtplot
50
-
51
- rm /tmp/R-pkg-*.tar.gz
@@ -1,46 +0,0 @@
1
- #!/bin/bash -x
2
-
3
- # RUBY GEMS and RBBT
4
- # =================
5
-
6
- . /etc/rbbt_environment
7
-
8
- echo "* Updating RubyGem"
9
- export REALLY_GEM_UPDATE_SYSTEM=true
10
- env REALLY_GEM_UPDATE_SYSTEM=true gem update --no-document --system
11
-
12
- echo "* Installing difficult gems: ZenTest, RubyInline, rsruby and rjb"
13
- gem install --force --no-document ZenTest
14
- gem install --force --no-document RubyInline
15
-
16
- # R (extra config in gem)
17
- export R_INCLUDE="$(echo "$R_HOME" | sed 's@/usr/lib\(32\|64\)*@/usr/share@')/include"
18
- gem install --conservative --no-document rsruby -- --with-R-dir="$R_HOME" --with-R-include="$R_INCLUDE" \
19
- --with_cflags="-fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wall -fno-strict-aliasing"
20
-
21
- # Java (extra config in gem)
22
- export JAVA_HOME=$(echo /usr/lib/jvm/java-?-openjdk-*)
23
- gem install --conservative --force --no-document rjb
24
-
25
- echo "* Installing bulk gems and Rbbt"
26
- # Rbbt and some optional gems
27
- gem install --no-document --force \
28
- tokyocabinet \
29
- ruby-prof \
30
- rbbt-util rbbt-rest rbbt-dm rbbt-text rbbt-sources rbbt-phgx rbbt-GE \
31
- rserve-client \
32
-
33
- # Get good version of lockfile
34
- #wget http://ubio.bioinfo.cnio.es/people/mvazquezg/lockfile-2.1.4.gem -O /tmp/lockfile-2.1.4.gem
35
- echo "* Installing our version of lockfile"
36
- wget http://github.com/mikisvaz/lockfile/raw/master/lockfile-2.1.5.gem -O /tmp/lockfile-2.1.5.gem
37
- gem install --no-document /tmp/lockfile-2.1.5.gem
38
-
39
- # Extra things for web interface
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
File without changes