rbbt-util 5.33.2 → 5.33.3
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 +4 -4
- data/lib/rbbt/hpc/orchestrate/batches.rb +3 -3
- data/lib/rbbt/util/cmd.rb +1 -1
- data/lib/rbbt/workflow/definition.rb +6 -1
- data/lib/rbbt/workflow/integration/nextflow.rb +32 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ffb05883cf1e7eda628395b50967322b42240ace100fb73a2f4c4a1ed5e8d27
|
4
|
+
data.tar.gz: 8b25c002f68b88dc0ba1f09c041258ee0ca15d4fc6f8dc3df5de37ea2473d059
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b74e527336830eecb1cad52bb13cbcb335c734a18e9261d87cfba6da93422cf94a826e97d43c6ef1d37d122623408230d80a037a9a91000fa95a6cf9c818cf6
|
7
|
+
data.tar.gz: 8b8de5c12aac8dfae5f68018cb5aae4023b78993fa78aa7cf93cacc16eea4c2b959f75190ead6862502ecc75ae3ccd9cc462b1db26930943447a758f1f359cd9
|
@@ -11,7 +11,7 @@ module HPC
|
|
11
11
|
iii :END_BATCHES
|
12
12
|
else
|
13
13
|
n = batch.dup
|
14
|
-
n[:deps] = n[:deps].collect{|b| b[:top_level] }
|
14
|
+
n[:deps] = n[:deps].collect{|b| b[:top_level] } if n[:deps]
|
15
15
|
iif n
|
16
16
|
end
|
17
17
|
end
|
@@ -79,14 +79,14 @@ module HPC
|
|
79
79
|
|
80
80
|
batches.each do |batch|
|
81
81
|
jobs = batch[:jobs]
|
82
|
-
all_deps = jobs.collect{|d| job_dependencies(d) }.flatten.uniq
|
82
|
+
all_deps = jobs.collect{|d| job_dependencies(d) }.flatten.uniq - jobs
|
83
83
|
|
84
84
|
minimum = all_deps
|
85
85
|
all_deps.each do |dep|
|
86
86
|
minimum -= job_dependencies(dep)
|
87
87
|
end
|
88
88
|
|
89
|
-
all_deps = minimum
|
89
|
+
all_deps = minimum
|
90
90
|
deps = all_deps.collect do |d|
|
91
91
|
(batches - [batch]).select{|batch| batch[:jobs].collect(&:path).include? d.path }
|
92
92
|
end.flatten.uniq
|
data/lib/rbbt/util/cmd.rb
CHANGED
@@ -75,7 +75,7 @@ module CMD
|
|
75
75
|
|
76
76
|
string = ""
|
77
77
|
options.each do |option, value|
|
78
|
-
raise "Invalid option key: #{option.inspect}" if option.to_s !~ /^[a-z_0-9
|
78
|
+
raise "Invalid option key: #{option.inspect}" if option.to_s !~ /^[a-z_0-9\-=.]+$/i
|
79
79
|
#raise "Invalid option value: #{value.inspect}" if value.to_s.include? "'"
|
80
80
|
value = value.gsub("'","\\'") if value.to_s.include? "'"
|
81
81
|
|
@@ -92,7 +92,12 @@ module Workflow
|
|
92
92
|
self.dependencies = self.dependencies - [dep]
|
93
93
|
Open.rm_rf self.files_dir if Open.exist? self.files_dir
|
94
94
|
FileUtils.cp_r dep.files_dir, self.files_dir if Open.exist?(dep.files_dir)
|
95
|
-
|
95
|
+
|
96
|
+
if dep.overriden
|
97
|
+
Open.link dep.path, self.tmp_path
|
98
|
+
else
|
99
|
+
Open.ln_h dep.path, self.tmp_path
|
100
|
+
end
|
96
101
|
|
97
102
|
case remove.to_s
|
98
103
|
when 'true'
|
@@ -4,7 +4,7 @@ module Workflow
|
|
4
4
|
end
|
5
5
|
|
6
6
|
def self.nextflow_includes(file)
|
7
|
-
Open.read(file).scan(/^include\s*{\s*(
|
7
|
+
Open.read(file).scan(/^include\s*{\s*([^\s]*?)\s+.*?}\s*from\s+["'](.*?)["'](?:\s*params.*)?/).collect{|p| p}.uniq
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.nextflow_recursive_params(file)
|
@@ -48,25 +48,43 @@ module Workflow
|
|
48
48
|
task name => result do
|
49
49
|
work = file('work')
|
50
50
|
profile = config :profile, :nextflow
|
51
|
+
config_file = config :config, :nextflow
|
51
52
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
nextflow_inputs = {}
|
54
|
+
|
55
|
+
inputs.zip(inputs.fields).collect do |v,f|
|
56
|
+
v = if String === v && m = v.match(/^JOB_FILE:(.*)/)
|
57
|
+
file(m[1])
|
58
|
+
elsif v.nil?
|
59
|
+
Rbbt::Config.get(['nextflow', f] * "_", 'default', f)
|
60
|
+
else
|
61
|
+
v
|
62
|
+
end
|
63
|
+
|
64
|
+
if f.to_s.include?("-")
|
65
|
+
p,_sep, section = f.to_s.partition("-")
|
66
|
+
name = [section, p] * "."
|
57
67
|
else
|
58
|
-
|
68
|
+
name = f
|
59
69
|
end
|
70
|
+
|
71
|
+
nextflow_inputs[name] = v
|
60
72
|
end
|
61
73
|
|
62
|
-
inputs.replace new_inputs
|
63
|
-
|
64
74
|
Misc.in_dir file('stage') do
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
75
|
+
|
76
|
+
cmd = "nextflow "
|
77
|
+
|
78
|
+
cmd += " -C #{config_file}" if config_file
|
79
|
+
|
80
|
+
cmd += " run"
|
81
|
+
|
82
|
+
cmd += " -work-dir #{work} -ansi-log false"
|
83
|
+
|
84
|
+
cmd += " -profile #{profile}" if profile
|
85
|
+
|
86
|
+
|
87
|
+
cmd("#{cmd} #{file}", nextflow_inputs.merge('add_option_dashes' => true))
|
70
88
|
end
|
71
89
|
|
72
90
|
output_file = file(output).glob.first if output
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.33.
|
4
|
+
version: 5.33.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|