rbbt-image 0.1.38 → 0.1.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 217c640720936293815a4871cdef2c80d44a53f981ab3fa549401f826145206b
4
- data.tar.gz: 25cd8cfb00abddde8d8047b2b7f46d512ae65d0eed1551a4e9974b986d27f27e
3
+ metadata.gz: a15ae2d4c2941a4e142275466e4fbc6ec65391d778bc658fed5530b722d11b95
4
+ data.tar.gz: f2fbcb0d6e3c5e70b1f25665879b7a24be34bebc69592a04964630bf29ca5c82
5
5
  SHA512:
6
- metadata.gz: e31fc043b5db3d46e82cb75ccf7776b6e6e1fd276b73032608fccad466d24d2cc58edbe2836626da28cb0614b705718d748edb2517fe38601238cf119288ccc3
7
- data.tar.gz: 26a90fd5f55b334c1ca7892d28e4fcb94852e74da89077866f3193c53a580be147892585c568b6077a8e0a24b60e4815d174229031031aa703353e3eb4e0f3f7
6
+ metadata.gz: 745c051c7406d23f7997952e664582aceea31ee7ec6a58574fa50af4143ab3e937f7880ed07701405387c5ce9b2daf69eb3c60a04b6120c7ac36a20822d53181
7
+ data.tar.gz: e2bf862a7c9c8a76342768100d7e8ef50bf3cd6d44b4ebd21c27b16bc6a9cb0714c49c934a5bebcb56347c660991331f056dc26c1e15a68f0e69499d439d75db
@@ -30,6 +30,7 @@ $ #{$0} [options]
30
30
  -sr--skip_ruby Skip ruby setup installation
31
31
  -sp--skip_perl Skip perl setup installation
32
32
  -spy--skip_python Skip python setup installation
33
+ -spsl--skip_slurm_loopback Skip setting the slurm loopback
33
34
  -sg--skip_gem Skip ruby gem installation
34
35
  -sR--skip_R Skip R setup
35
36
  -su--skip_user_setup Skip user setup
@@ -72,6 +73,7 @@ SKIP_TOKYOCABINET= options[:skip_tokyocabinet]
72
73
  SKIP_RUBY = options[:skip_ruby]
73
74
  SKIP_PERL = options[:skip_perl]
74
75
  SKIP_PYTHON = options[:skip_python]
76
+ SKIP_SLURM_LOOPBACK = options[:skip_slurm_loopback]
75
77
  R_CUSTOM = options[:R_custom]
76
78
  SKIP_R = options[:skip_R]
77
79
  SKIP_BOOT = options[:skip_bootstrap]
@@ -123,6 +125,8 @@ end
123
125
  if not SKIP_BASE_SYSTEM and R_CUSTOM
124
126
  "echo 1.1 Setting custom R"
125
127
  File.read(script_dir + 'R_setup.sh')
128
+ else
129
+ "echo SKIPPED Custom R\necho"
126
130
  end
127
131
  }
128
132
 
@@ -130,6 +134,8 @@ end
130
134
  if not SKIP_R
131
135
  "echo 1.2 Install R packages"
132
136
  File.read(script_dir + 'R_packages.sh')
137
+ else
138
+ "echo SKIPPED installing R packages\necho"
133
139
  end
134
140
  }
135
141
 
@@ -138,7 +144,7 @@ echo "2. Setting up tokyocabinet"
138
144
  if not SKIP_TOKYOCABINET
139
145
  File.read(script_dir + 'tokyocabinet_setup.sh')
140
146
  else
141
- "echo SKIPPED\necho"
147
+ "echo SKIPPED TokyoCabinet\necho"
142
148
  end
143
149
  }
144
150
 
@@ -147,7 +153,7 @@ echo "3. Setting up ruby"
147
153
  if not SKIP_RUBY
148
154
  "export RUBY_VERSION='#{options[:ruby_version]}'\n" << File.read(script_dir + 'ruby_setup.sh')
149
155
  else
150
- "echo SKIPPED\necho"
156
+ "echo SKIPPED Ruby\necho"
151
157
  end
152
158
  }
153
159
 
@@ -157,7 +163,7 @@ echo "3.1. Setting up gems"
157
163
  if not SKIP_GEM
158
164
  File.read(script_dir + 'gem_setup.sh')
159
165
  else
160
- "echo SKIPPED\necho"
166
+ "echo SKIPPED Ruby gems\necho"
161
167
  end
162
168
  }
163
169
 
@@ -167,7 +173,7 @@ echo "4.1 Setting up perl"
167
173
  if not SKIP_PERL
168
174
  File.read(script_dir + 'perl_setup.sh')
169
175
  else
170
- "echo SKIPPED\necho"
176
+ "echo SKIPPED Perl\necho"
171
177
  end
172
178
  }
173
179
 
@@ -176,7 +182,16 @@ echo "4.2 Setting up python"
176
182
  if not SKIP_PYTHON
177
183
  File.read(script_dir + 'python_setup.sh')
178
184
  else
179
- "echo SKIPPED\necho"
185
+ "echo SKIPPED Python\necho"
186
+ end
187
+ }
188
+
189
+ echo "4.3 Setting up SLURM loopback"
190
+ #{
191
+ if not SKIP_SLURM_LOOPBACK
192
+ File.read(script_dir + 'slurm_loopback.sh')
193
+ else
194
+ "echo SKIPPED SLURM lookback\necho"
180
195
  end
181
196
  }
182
197
 
@@ -185,7 +200,7 @@ echo "source /etc/rbbt_environment" >> /etc/profile
185
200
  EOF
186
201
 
187
202
  provision_script +=<<-EOF
188
- echo "4. Configuring user"
203
+ echo "5. Configuring user"
189
204
  EOF
190
205
 
191
206
  if not SKIP_USER
@@ -198,43 +213,47 @@ if [[ '#{ USER }' == 'root' ]] ; then
198
213
  else
199
214
  useradd -ms /bin/bash #{USER}
200
215
  home_dir='/home/#{USER}'
216
+
217
+ if [ -d /usr/local/miniconda3 ]; then
218
+ chgrp #{USER} -R /usr/local/miniconda3
219
+ chmod g+rw -R /usr/local/miniconda3
220
+ fi
201
221
  fi
202
222
 
203
223
  user_script=$home_dir/.rbbt/bin/config_user
204
224
  mkdir -p $(dirname $user_script)
205
- chown -R #{USER} /home/#{USER}/.rbbt/
206
-
225
+ chown -R #{USER} $home_dir/.rbbt/
207
226
 
208
227
  # set user configuration script
209
228
  cat > $user_script <<'EUSER'
210
229
 
211
230
  . /etc/profile
212
231
 
213
- echo "4.1. Loading custom variables"
232
+ echo "5.1. Loading custom variables"
214
233
  #{
215
234
  VARIABLES.collect do |variable,value|
216
235
  "export " << ([variable,'"' << value.to_s << '"'] * "=")
217
236
  end * "\n"
218
237
  }
219
238
 
220
- echo "4.2. Loading default variables"
239
+ echo "5.2. Loading default variables"
221
240
  #{File.read(script_dir + 'variables.sh')}
222
241
 
223
- echo "4.3. Configuring rbbt"
242
+ echo "5.3. Configuring rbbt"
224
243
  #{File.read(script_dir + 'user_setup.sh')}
225
244
  EUSER
226
245
 
227
- echo "4.4. Running user configuration as '#{USER}'"
246
+ echo "5.4. Running user configuration as '#{USER}'"
228
247
  chown #{USER} $user_script;
229
248
  su -l -c "bash $user_script" #{USER}
230
249
 
231
250
  EOF
232
251
  else
233
- provision_script += "echo SKIPPED\necho\n\n"
252
+ provision_script += "echo SKIPPED user configuration\necho\n\n"
234
253
  end
235
254
 
236
255
  provision_script +=<<-EOF
237
- echo "5. Bootstrapping workflows as '#{USER}'"
256
+ echo "6. Bootstrapping workflows as '#{USER}'"
238
257
  echo
239
258
  EOF
240
259
 
@@ -252,21 +271,22 @@ user_script=$home_dir/.rbbt/bin/bootstrap
252
271
  cat > $user_script <<'EUSER'
253
272
 
254
273
  . /etc/profile
274
+ . /etc/rbbt_environment
255
275
 
256
- echo "5.1. Loading custom variables"
276
+ echo "6.1. Loading custom variables"
257
277
  #{
258
278
  VARIABLES.collect do |variable,value|
259
279
  "export " << ([variable,'"' << value.to_s << '"'] * "=")
260
280
  end * "\n"
261
281
  }
262
282
 
263
- echo "5.2. Loading default variables"
283
+ echo "6.2. Loading default variables"
264
284
  #{File.read(script_dir + 'variables.sh')}
265
285
 
266
- echo "5.3. Configuring rbbt"
286
+ echo "6.3. Configuring rbbt"
267
287
  #{File.read(script_dir + 'user_setup.sh')}
268
288
  #
269
- echo "5.4. Install and bootstrap"
289
+ echo "6.4. Install and bootstrap"
270
290
  #{File.read(script_dir + "bootstrap.sh")}
271
291
  EUSER
272
292
 
@@ -275,7 +295,7 @@ su -l -c "bash $user_script" #{USER}
275
295
 
276
296
  EOF
277
297
  else
278
- provision_script += "echo SKIPPED\necho\n\n"
298
+ provision_script += "echo SKIPPED User configuration\necho\n\n"
279
299
  end
280
300
 
281
301
  provision_script +=<<-EOF
@@ -357,10 +377,12 @@ EOS
357
377
  ln -s /etc/rbbt_environment /.singularity.d/env/99-rbbt_environment.sh
358
378
  chmod +x /.singularity.d/env/99-rbbt_environment.sh
359
379
  bash -c '[ -d /usr/local/share ] || mkdir -p /usr/local/share'
380
+ bash -c '[ -d /usr/local/workflows ] || mkdir -p /usr/local/workflows'
360
381
  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 ""
382
+ #bash -c '[ -d /home/#{USER}/.rbbt/var/ ] && mv /home/#{USER}/.rbbt/var/ /var/rbbt' || echo -n ""
383
+ bash -c '[ -d /home/#{USER}/.rbbt/var/ ] && rm -Rf /home/#{USER}/.rbbt/var/' || echo -n ""
363
384
  bash -c '[ -d /home/#{USER}/.rbbt/share/ ] && mv /home/#{USER}/.rbbt/share/ /usr/local/share/rbbt' || echo -n ""
385
+ bash -c '[ -d /home/#{USER}/.rbbt/workflows/ ] && mv /home/#{USER}/.rbbt/workflows/ /usr/local/workflows/rbbt' || echo -n ""
364
386
  bash -c '[ -d /home/#{USER}/.rbbt/software/opt ] && mv /home/#{USER}/.rbbt/software/opt /software/rbbt/opt' || echo -n ""
365
387
  bash -c '[ -d /home/#{USER}/.rbbt/software/src ] && mv /home/#{USER}/.rbbt/software/src /software/rbbt/src' || echo -n ""
366
388
  bash -c '[ -d /home/#{USER}/.rbbt/software/scm ] && mv /home/#{USER}/.rbbt/software/scm /software/rbbt/scm' || echo -n ""
@@ -374,11 +396,11 @@ EOF
374
396
  cmd_boot = "singularity build #{singularity_image} '#{dir["singularity_bootstrap"]}'"
375
397
 
376
398
 
377
- puts "**************"
378
- puts "CREATING IMAGE: #{dir["singularity_bootstrap"].find}"
379
- puts "**************"
380
- puts cmd_create
381
- CMD.cmd_log(cmd_create, :log => 4)
399
+ #puts "**************"
400
+ #puts "CREATING IMAGE: #{dir["singularity_bootstrap"].find}"
401
+ #puts "**************"
402
+ #puts cmd_create
403
+ #CMD.cmd_log(cmd_create, :log => 4)
382
404
 
383
405
  puts "**************"
384
406
  puts "BUILDING IMAGE: #{dir["singularity_bootstrap"].find}"
@@ -390,6 +412,7 @@ EOF
390
412
  end
391
413
 
392
414
  if options[:virtualbox]
415
+ container_dependency = options[:container_dependency] || 'ubuntu:focal'
393
416
  TmpFile.with_file(nil, false) do |dir|
394
417
  Path.setup(dir)
395
418
 
@@ -416,11 +439,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
416
439
  end
417
440
  EOF
418
441
 
442
+ Log.debug "Running vagrant on #{dir}"
419
443
  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
444
+ CMD.cmd_log(:vagrant, "up")
424
445
  end
425
446
  end
426
447
  end
@@ -44,6 +44,8 @@ echo 'install.packages("Rserve", repos="http://www.rforge.net/")' | R --vanilla
44
44
  R_install_packages pheatmap VennDiagram Hmisc pls gridSVG
45
45
  R_install_packages tidyverse
46
46
 
47
+ R_install_packages UpSetR
48
+
47
49
  R_biocLite limma viper
48
50
 
49
51
  R_install_packages pROC txtplot
@@ -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-*/
@@ -5,13 +5,25 @@
5
5
 
6
6
  for workflow in $BOOTSTRAP_WORKFLOWS; do
7
7
  rbbt workflow install $workflow
8
+
9
+ pip_requirements_file=$(rbbt_find.rb -w $workflow requirements.pip --nocolor)
10
+ [ -f $pip_requirements_file ] && echo PIP $pip_requirements_file && pip install -r $pip_requirements_file
11
+ unset pip_requirements_file
12
+
13
+ pip_requirements_file2=$(rbbt_find.rb -w $workflow requirements.pip2 --nocolor)
14
+ [ -f $pip_requirements_file2 ] && pip install -r $pip_requirements_file2
15
+ unset pip_requirements_file2
16
+
17
+ pip_requirements_file3=$(rbbt_find.rb -w $workflow requirements.pip3 --nocolor)
18
+ [ -f $pip_requirements_file3 ] && pip install -r $pip_requirements_file3
19
+ unset pip_requirements_file3
8
20
  done
9
21
 
10
22
  export RBBT_WORKFLOW_AUTOINSTALL=true
11
- export RBBT_LOG
23
+ export RBBT_LOG=0
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
@@ -27,14 +27,14 @@ echo "* Installing bulk gems and Rbbt"
27
27
  gem install --no-document --force \
28
28
  tokyocabinet \
29
29
  ruby-prof \
30
- rbbt-util rbbt-rest rbbt-dm rbbt-text rbbt-sources rbbt-phgx rbbt-GE \
30
+ rbbt-util rbbt-rest rbbt-dm rbbt-text rbbt-sources \
31
31
  rserve-client \
32
32
 
33
33
  # Get good version of lockfile
34
34
  #wget http://ubio.bioinfo.cnio.es/people/mvazquezg/lockfile-2.1.4.gem -O /tmp/lockfile-2.1.4.gem
35
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
36
+ wget https://github.com/mikisvaz/lockfile/raw/master/lockfile-2.1.6.gem -O /tmp/lockfile-2.1.6.gem
37
+ gem install --no-document /tmp/lockfile-2.1.6.gem
38
38
 
39
39
  # Extra things for web interface
40
40
  gem install --no-document --force \
@@ -42,5 +42,5 @@ gem install --no-document --force \
42
42
  ruby-prof \
43
43
  rbbt-util rbbt-rest rbbt-dm rbbt-text rbbt-sources rbbt-phgx rbbt-GE \
44
44
  rserve-client \
45
- uglifier therubyracer kramdown pandoc pandoc-ruby\
46
- puma prawn prawn-svg
45
+ uglifier therubyracer kramdown pandoc pandoc-ruby \
46
+ puma prawn prawn-svg mimemagic
@@ -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
@@ -2,15 +2,24 @@ 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
+
23
+ pip install ansible
24
+
25
+ gem install pycall
@@ -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
+
@@ -76,15 +76,16 @@ DEBIAN_FRONTEND=noninteractive apt-get -y install \
76
76
  vim \
77
77
  wget \
78
78
  libc6 \
79
- time numactl \
79
+ time numactl xvfb \
80
80
  bison autoconf g++ libxslt1-dev make \
81
81
  zlib1g-dev libbz2-dev libreadline-dev \
82
82
  rsync wget curl git openssl libyaml-0-2 libyaml-dev \
83
83
  openjdk-8-jdk \
84
84
  libcairo2 libcairo2-dev r-base-core r-base-dev r-cran-rserve liblzma5 liblzma-dev libcurl4-openssl-dev \
85
85
  build-essential zlib1g-dev libssl-dev libyaml-dev libffi-dev \
86
- python3 python \
86
+ python3 python libtorch \
87
87
  tcsh gawk \
88
+ ansible \
88
89
  pandoc \
89
90
  libtbb-dev
90
91
 
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.39
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-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbbt-util
@@ -48,6 +48,7 @@ files:
48
48
  - share/provision_scripts/perl_setup.sh
49
49
  - share/provision_scripts/python_setup.sh
50
50
  - share/provision_scripts/ruby_setup.sh
51
+ - share/provision_scripts/slurm_loopback.sh
51
52
  - share/provision_scripts/tokyocabinet_setup.sh
52
53
  - share/provision_scripts/ubuntu_setup.sh
53
54
  - share/provision_scripts/user_setup.sh
@@ -71,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
72
  - !ruby/object:Gem::Version
72
73
  version: '0'
73
74
  requirements: []
74
- rubygems_version: 3.0.6
75
+ rubygems_version: 3.1.4
75
76
  signing_key:
76
77
  specification_version: 4
77
78
  summary: Build docker and Vagrant (VM) images