rbbt-util 5.26.156 → 5.26.157
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 +5 -5
- data/lib/rbbt/resource.rb +6 -1
- data/lib/rbbt/workflow.rb +3 -0
- data/lib/rbbt/workflow/examples.rb +10 -1
- data/lib/rbbt/workflow/remote/remote_step.rb +2 -2
- data/lib/rbbt/workflow/remote/ssh/get.rb +43 -1
- data/lib/rbbt/workflow/step/accessor.rb +7 -1
- data/lib/rbbt/workflow/step/run.rb +5 -4
- data/lib/rbbt/workflow/util/archive.rb +6 -3
- data/share/rbbt_commands/workflow/task +8 -3
- data/test/rbbt/workflow/remote/test_client.rb +9 -10
- metadata +67 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4a7cb4caf03456a936ef3dab72d6ab957a2f3dce03324291fb10c0f4aabe527f
|
4
|
+
data.tar.gz: 8690112157a89e64313dc7fcec69c7192db507c210bac57cfd529271294b7174
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68a347659e479c2cd5fdb09c15bbe09be216586c403f984689c6b72a360cb63f3c4815edabfb675362e4137440e67e5d364da836e4cca33c5ce200a5a7d19539
|
7
|
+
data.tar.gz: f77fa581d1b0cd8fd6d34f4ac63101a40162f0d7012e2ff9917c7f5b0de729a56f5c81a011528f676aac4cb59a30ebc09acdf47892bfadf1662d41a22ec2959c
|
data/lib/rbbt/resource.rb
CHANGED
@@ -93,7 +93,12 @@ module Resource
|
|
93
93
|
timeout = 60 * 10
|
94
94
|
Net::HTTP.start(uri.host, uri.port, :timeout => timeout, :read_timeout => timeout, :open_timeout => timeout) do |http|
|
95
95
|
http.request request do |response|
|
96
|
-
filename = response["Content-Disposition"]
|
96
|
+
filename = if response["Content-Disposition"]
|
97
|
+
response["Content-Disposition"].split(";").select{|f| f.include? "filename"}.collect{|f| f.split("=").last.gsub('"','')}.first
|
98
|
+
else
|
99
|
+
nil
|
100
|
+
end
|
101
|
+
|
97
102
|
if filename && filename =~ /\.b?gz$/ && final_path !~ /\.b?gz$/
|
98
103
|
extension = filename.split(".").last
|
99
104
|
final_path += '.' + extension
|
data/lib/rbbt/workflow.rb
CHANGED
@@ -72,7 +72,16 @@ module Workflow
|
|
72
72
|
end
|
73
73
|
|
74
74
|
end
|
75
|
-
IndiferentHash.setup(inputs)
|
75
|
+
inputs = IndiferentHash.setup(inputs)
|
76
|
+
|
77
|
+
dir.glob("*#*").each do |od|
|
78
|
+
name = File.basename(od)
|
79
|
+
value = Open.read(od)
|
80
|
+
Log.debug "Loading override dependency #{ name } as #{value}"
|
81
|
+
inputs[name] = value.chomp
|
82
|
+
end
|
83
|
+
|
84
|
+
inputs
|
76
85
|
end
|
77
86
|
end
|
78
87
|
|
@@ -258,7 +258,8 @@ class WorkflowRemoteClient
|
|
258
258
|
stream = true if res.respond_to? :read
|
259
259
|
join unless stream
|
260
260
|
result_type ||= self.result_type
|
261
|
-
|
261
|
+
|
262
|
+
case result_type.to_sym
|
262
263
|
when :string
|
263
264
|
stream ? res.read : res
|
264
265
|
when :boolean
|
@@ -277,7 +278,6 @@ class WorkflowRemoteClient
|
|
277
278
|
end
|
278
279
|
when :array
|
279
280
|
(stream ? res.read : res).split("\n")
|
280
|
-
res.split("\n")
|
281
281
|
else
|
282
282
|
json_text = if IO === res
|
283
283
|
res.read
|
@@ -1,4 +1,6 @@
|
|
1
1
|
module WorkflowSSHClient
|
2
|
+
attr_accessor :override_dependencies
|
3
|
+
|
2
4
|
def self.fix_hash(hash, fix_values = false)
|
3
5
|
fixed = {}
|
4
6
|
hash.each do |key, value|
|
@@ -107,7 +109,20 @@ module WorkflowSSHClient
|
|
107
109
|
@input_id ||= "inputs-" << rand(100000).to_s
|
108
110
|
@input_types = task_info(task)[:input_types]
|
109
111
|
|
110
|
-
|
112
|
+
if override_dependencies
|
113
|
+
|
114
|
+
if override_dependencies && override_dependencies.any?
|
115
|
+
override_dependencies.each do |od|
|
116
|
+
name, _sep, value = od.partition("=")
|
117
|
+
inputs[name] = value
|
118
|
+
end
|
119
|
+
end
|
120
|
+
iii inputs
|
121
|
+
|
122
|
+
WorkflowSSHClient.upload_inputs(@server, inputs, @input_types, @input_id)
|
123
|
+
else
|
124
|
+
WorkflowSSHClient.upload_inputs(@server, inputs, @input_types, @input_id)
|
125
|
+
end
|
111
126
|
|
112
127
|
@name ||= Persist.memory("RemoteSteps", :workflow => self, :task => task, :jobname => @name, :inputs => inputs, :cache_type => cache_type) do
|
113
128
|
Misc.insist do
|
@@ -138,8 +153,13 @@ module WorkflowSSHClient
|
|
138
153
|
end
|
139
154
|
end
|
140
155
|
|
156
|
+
def load
|
157
|
+
load_res Open.open(path)
|
158
|
+
end
|
159
|
+
|
141
160
|
def run(*args)
|
142
161
|
produce(*args)
|
162
|
+
self.load unless args.first
|
143
163
|
end
|
144
164
|
|
145
165
|
def clean
|
@@ -148,4 +168,26 @@ module WorkflowSSHClient
|
|
148
168
|
_restart
|
149
169
|
end
|
150
170
|
|
171
|
+
def self.relay(workflow, task, jobname, inputs, server, options = {})
|
172
|
+
options = Misc.add_defaults options, :search_path => 'user'
|
173
|
+
search_path = options[:search_path]
|
174
|
+
|
175
|
+
job = workflow.job(task, jobname, inputs)
|
176
|
+
|
177
|
+
job.dependencies.each do |dep|
|
178
|
+
dep.produce
|
179
|
+
end
|
180
|
+
|
181
|
+
override_dependencies = job.dependencies.collect{|dep| [dep.workflow.to_s, dep.task_name.to_s] * "#" << "=" << Rbbt.identify(dep.path)}
|
182
|
+
|
183
|
+
job.dependencies.each do |dep|
|
184
|
+
Step.migrate(dep.path, search_path, :target => server)
|
185
|
+
end
|
186
|
+
|
187
|
+
remote = WorkflowRemoteClient.new("ssh://#{server}:#{workflow.to_s}", "#{workflow.to_s}")
|
188
|
+
rjob = remote.job(task, jobname, {})
|
189
|
+
rjob.override_dependencies = override_dependencies
|
190
|
+
rjob.run
|
191
|
+
end
|
192
|
+
|
151
193
|
end
|
@@ -77,7 +77,8 @@ class Step
|
|
77
77
|
|
78
78
|
def self.save_inputs(inputs, input_types, dir)
|
79
79
|
inputs.each do |name,value|
|
80
|
-
type = input_types[name]
|
80
|
+
type = input_types[name]
|
81
|
+
type = type.to_s if type
|
81
82
|
path = File.join(dir, name.to_s)
|
82
83
|
|
83
84
|
Log.debug "Saving job input #{name} (#{type}) into #{path}"
|
@@ -115,6 +116,11 @@ class Step
|
|
115
116
|
next if value.nil?
|
116
117
|
inputs[name] = value
|
117
118
|
end
|
119
|
+
|
120
|
+
if options.include? 'override_dependencies'
|
121
|
+
inputs.merge!(:override_dependencies => open[:override_dependencies])
|
122
|
+
input_types = IndiferentHash.setup(input_types.merge(:override_dependencies => :array))
|
123
|
+
end
|
118
124
|
save_inputs(inputs, input_types, dir)
|
119
125
|
|
120
126
|
inputs.any?
|
@@ -290,7 +290,7 @@ class Step
|
|
290
290
|
|
291
291
|
@inputs = new_inputs if @inputs
|
292
292
|
|
293
|
-
if
|
293
|
+
if @inputs && ! task.inputs.nil?
|
294
294
|
info_inputs = @inputs.collect do |i|
|
295
295
|
if Path === i
|
296
296
|
i.to_s
|
@@ -361,7 +361,8 @@ class Step
|
|
361
361
|
merge_info({
|
362
362
|
:done => (done_time = Time.now),
|
363
363
|
:total_time_elapsed => (total_time_elapsed = done_time - issue_time),
|
364
|
-
:time_elapsed => (time_elapsed = done_time - start_time)
|
364
|
+
:time_elapsed => (time_elapsed = done_time - start_time),
|
365
|
+
:versions => Rbbt.versions
|
365
366
|
})
|
366
367
|
log :done, "Completed step #{Log.color :yellow, task.name.to_s || ""} in #{time_elapsed.to_i}+#{(total_time_elapsed - time_elapsed).to_i} sec."
|
367
368
|
end
|
@@ -402,7 +403,8 @@ class Step
|
|
402
403
|
merge_info({
|
403
404
|
:done => (done_time = Time.now),
|
404
405
|
:total_time_elapsed => (total_time_elapsed = done_time - issue_time),
|
405
|
-
:time_elapsed => (time_elapsed = done_time - start_time)
|
406
|
+
:time_elapsed => (time_elapsed = done_time - start_time),
|
407
|
+
:versions => Rbbt.versions
|
406
408
|
})
|
407
409
|
log :ending
|
408
410
|
Step.purge_stream_cache
|
@@ -420,7 +422,6 @@ class Step
|
|
420
422
|
result
|
421
423
|
end # END PERSIST
|
422
424
|
log :done, "Completed step #{Log.color :yellow, task.name.to_s || ""} in #{time_elapsed.to_i}+#{(total_time_elapsed - time_elapsed).to_i} sec." unless stream or time_elapsed.nil?
|
423
|
-
set_info :versions, Rbbt.versions
|
424
425
|
|
425
426
|
if no_load
|
426
427
|
@result ||= result
|
@@ -1,5 +1,8 @@
|
|
1
1
|
require 'rbbt/workflow/remote/ssh/driver'
|
2
2
|
class Step
|
3
|
+
|
4
|
+
MAIN_RSYNC_ARGS="-avztAXHP"
|
5
|
+
|
3
6
|
def self.link_job(path, target_dir, task = nil, workflow = nil)
|
4
7
|
Path.setup(target_dir)
|
5
8
|
|
@@ -40,7 +43,7 @@ class Step
|
|
40
43
|
|
41
44
|
Misc.in_dir(tmpdir) do
|
42
45
|
if File.directory?(target)
|
43
|
-
CMD.cmd_log("rsync
|
46
|
+
CMD.cmd_log("rsync #{MAIN_RSYNC_ARGS} --copy-unsafe-links '#{ tmpdir }/' '#{ target }/'")
|
44
47
|
else
|
45
48
|
CMD.cmd_log("tar cvhzf '#{target}' ./*")
|
46
49
|
end
|
@@ -111,7 +114,7 @@ class Step
|
|
111
114
|
|
112
115
|
Misc.in_dir(tmpdir) do
|
113
116
|
if File.directory?(target)
|
114
|
-
CMD.cmd_log("rsync
|
117
|
+
CMD.cmd_log("rsync #{MAIN_RSYNC_ARGS} --copy-unsafe-links '#{ tmpdir }/' '#{ target }/'")
|
115
118
|
else
|
116
119
|
CMD.cmd_log("tar cvhzf '#{target}' ./*")
|
117
120
|
end
|
@@ -214,7 +217,7 @@ puts resource[path].find(search_path)
|
|
214
217
|
TmpFile.with_file(files_and_dirs.sort_by{|l| l.length}.to_a * "\n") do |tmp_include_file|
|
215
218
|
test_str = options[:test] ? '-nv' : ''
|
216
219
|
|
217
|
-
cmd = "rsync
|
220
|
+
cmd = "rsync #{MAIN_RSYNC_ARGS} --progress #{test_str} --files-from='#{tmp_include_file}' #{source}/ #{target}/ #{other_rsync_args}"
|
218
221
|
|
219
222
|
cmd << " && rm -Rf #{source}" if options[:delete]
|
220
223
|
|
@@ -73,7 +73,12 @@ def fix_options(workflow, task, job_options)
|
|
73
73
|
job_options_cleaned = {}
|
74
74
|
|
75
75
|
job_options.each do |name, value|
|
76
|
-
|
76
|
+
type = input_types[name]
|
77
|
+
type = type.to_sym if type
|
78
|
+
|
79
|
+
value = case type
|
80
|
+
when nil
|
81
|
+
value
|
77
82
|
when :boolean
|
78
83
|
TrueClass === value or %w(true TRUE T yes).include? value
|
79
84
|
when :float
|
@@ -94,7 +99,7 @@ def fix_options(workflow, task, job_options)
|
|
94
99
|
end
|
95
100
|
end
|
96
101
|
when :array
|
97
|
-
if input_options[name]
|
102
|
+
if input_options[name] && input_options[name][:stream] && String === value && Misc.is_filename?(value) && !! input_options[name][:nofile]
|
98
103
|
get_value_stream(value)
|
99
104
|
elsif input_options[name] and input_options[name][:stream] and value == "-"
|
100
105
|
STDIN
|
@@ -394,7 +399,7 @@ begin
|
|
394
399
|
|
395
400
|
if tasks = options.delete(:prepare)
|
396
401
|
tasks = tasks.split(",")
|
397
|
-
prepare_cpus = (options[:prepare_cpus] ||
|
402
|
+
prepare_cpus = (options[:prepare_cpus] || 1)
|
398
403
|
puts Step.prepare_dependencies(job, tasks, prepare_cpus)
|
399
404
|
exit 0
|
400
405
|
end
|
@@ -18,27 +18,26 @@ end
|
|
18
18
|
|
19
19
|
class TestRemote < Test::Unit::TestCase
|
20
20
|
|
21
|
-
def
|
21
|
+
def test_ssh
|
22
22
|
Log.severity = 0
|
23
|
-
client = WorkflowRemoteClient.new "ssh://
|
23
|
+
client = WorkflowRemoteClient.new "ssh://turbo:Translation", "Translation"
|
24
24
|
job = client.job("translate", "SSH-TEST", :genes => ["TP53","KRAS"])
|
25
|
-
|
26
|
-
puts job.run
|
25
|
+
assert_equal 2, job.run.select{|l| l =~ /ENSG/}.length
|
27
26
|
end
|
28
27
|
|
29
28
|
def test_rest
|
30
29
|
Log.with_severity 0 do
|
31
30
|
|
32
31
|
workflow_server(TestWFRest) do |client|
|
33
|
-
assert_equal "Hello World", client.job(:hi, nil, {}).run
|
34
|
-
assert_equal "Hello Miguel", client.job(:hi, nil, {:name => :Miguel}).run
|
35
|
-
assert_equal "Hello Miguel, nice to meet you", client.job(:intro, nil, {:name => :Miguel}).run
|
32
|
+
assert_equal "Hello World", client.job(:hi, nil, {}).run.chomp
|
33
|
+
assert_equal "Hello Miguel", client.job(:hi, nil, {:name => :Miguel}).run.chomp
|
34
|
+
assert_equal "Hello Miguel, nice to meet you", client.job(:intro, nil, {:name => :Miguel}).run.chomp
|
36
35
|
end
|
37
36
|
|
38
37
|
workflow_server(TestWFRest, :Port => 1902) do |client|
|
39
|
-
assert_equal "Hello World", client.job(:hi, nil, {}).run
|
40
|
-
assert_equal "Hello Miguel", client.job(:hi, nil, {:name => :Miguel}).run
|
41
|
-
assert_equal "Hello Miguel, nice to meet you", client.job(:intro, nil, {:name => :Miguel}).run
|
38
|
+
assert_equal "Hello World", client.job(:hi, nil, {}).run.chomp
|
39
|
+
assert_equal "Hello Miguel", client.job(:hi, nil, {:name => :Miguel}).run.chomp
|
40
|
+
assert_equal "Hello Miguel, nice to meet you", client.job(:intro, nil, {:name => :Miguel}).run.chomp
|
42
41
|
end
|
43
42
|
end
|
44
43
|
end
|
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.26.
|
4
|
+
version: 5.26.157
|
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-03-
|
11
|
+
date: 2020-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -537,94 +537,93 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
537
537
|
- !ruby/object:Gem::Version
|
538
538
|
version: '0'
|
539
539
|
requirements: []
|
540
|
-
|
541
|
-
rubygems_version: 2.5.2.3
|
540
|
+
rubygems_version: 3.0.6
|
542
541
|
signing_key:
|
543
542
|
specification_version: 4
|
544
543
|
summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
|
545
544
|
test_files:
|
546
|
-
- test/rbbt/
|
547
|
-
- test/rbbt/
|
548
|
-
- test/rbbt/
|
549
|
-
- test/rbbt/
|
550
|
-
- test/rbbt/
|
551
|
-
- test/rbbt/
|
552
|
-
- test/rbbt/
|
553
|
-
- test/rbbt/util/
|
545
|
+
- test/rbbt/test_entity.rb
|
546
|
+
- test/rbbt/workflow/test_doc.rb
|
547
|
+
- test/rbbt/workflow/test_step.rb
|
548
|
+
- test/rbbt/workflow/remote/test_client.rb
|
549
|
+
- test/rbbt/workflow/step/test_dependencies.rb
|
550
|
+
- test/rbbt/workflow/test_task.rb
|
551
|
+
- test/rbbt/resource/test_path.rb
|
552
|
+
- test/rbbt/util/test_colorize.rb
|
554
553
|
- test/rbbt/util/misc/test_omics.rb
|
555
|
-
- test/rbbt/util/misc/test_bgzf.rb
|
556
|
-
- test/rbbt/util/misc/test_lock.rb
|
557
554
|
- test/rbbt/util/misc/test_pipes.rb
|
558
|
-
- test/rbbt/util/
|
559
|
-
- test/rbbt/util/
|
560
|
-
- test/rbbt/util/
|
561
|
-
- test/rbbt/util/
|
562
|
-
- test/rbbt/util/
|
563
|
-
- test/rbbt/util/
|
555
|
+
- test/rbbt/util/misc/test_lock.rb
|
556
|
+
- test/rbbt/util/misc/test_multipart_payload.rb
|
557
|
+
- test/rbbt/util/misc/test_bgzf.rb
|
558
|
+
- test/rbbt/util/test_concurrency.rb
|
559
|
+
- test/rbbt/util/test_cmd.rb
|
560
|
+
- test/rbbt/util/R/test_plot.rb
|
564
561
|
- test/rbbt/util/R/test_eval.rb
|
565
562
|
- test/rbbt/util/R/test_model.rb
|
566
|
-
- test/rbbt/util/
|
567
|
-
- test/rbbt/util/test_excel2tsv.rb
|
568
|
-
- test/rbbt/util/test_open.rb
|
569
|
-
- test/rbbt/util/test_colorize.rb
|
570
|
-
- test/rbbt/util/concurrency/processes/test_socket.rb
|
571
|
-
- test/rbbt/util/concurrency/test_threads.rb
|
572
|
-
- test/rbbt/util/concurrency/test_processes.rb
|
573
|
-
- test/rbbt/util/test_cmd.rb
|
563
|
+
- test/rbbt/util/test_config.rb
|
574
564
|
- test/rbbt/util/test_log.rb
|
575
565
|
- test/rbbt/util/test_simpleDSL.rb
|
576
566
|
- test/rbbt/util/log/test_progress.rb
|
577
567
|
- test/rbbt/util/test_tmpfile.rb
|
568
|
+
- test/rbbt/util/test_R.rb
|
569
|
+
- test/rbbt/util/test_excel2tsv.rb
|
578
570
|
- test/rbbt/util/test_misc.rb
|
571
|
+
- test/rbbt/util/test_open.rb
|
572
|
+
- test/rbbt/util/test_simpleopt.rb
|
573
|
+
- test/rbbt/util/simpleopt/test_parse.rb
|
574
|
+
- test/rbbt/util/simpleopt/test_setup.rb
|
575
|
+
- test/rbbt/util/simpleopt/test_get.rb
|
579
576
|
- test/rbbt/util/test_python.rb
|
580
|
-
- test/rbbt/util/test_chain_methods.rb
|
581
|
-
- test/rbbt/util/test_concurrency.rb
|
582
577
|
- test/rbbt/util/test_filecache.rb
|
583
|
-
- test/rbbt/util/
|
584
|
-
- test/rbbt/
|
585
|
-
- test/rbbt/
|
578
|
+
- test/rbbt/util/concurrency/test_processes.rb
|
579
|
+
- test/rbbt/util/concurrency/test_threads.rb
|
580
|
+
- test/rbbt/util/concurrency/processes/test_socket.rb
|
581
|
+
- test/rbbt/util/test_semaphore.rb
|
582
|
+
- test/rbbt/util/test_chain_methods.rb
|
583
|
+
- test/rbbt/test_resource.rb
|
584
|
+
- test/rbbt/test_packed_index.rb
|
585
|
+
- test/rbbt/tsv/test_change_id.rb
|
586
586
|
- test/rbbt/tsv/test_attach.rb
|
587
|
-
- test/rbbt/tsv/
|
588
|
-
- test/rbbt/tsv/
|
589
|
-
- test/rbbt/tsv/parallel/test_through.rb
|
590
|
-
- test/rbbt/tsv/parallel/test_traverse.rb
|
591
|
-
- test/rbbt/tsv/test_index.rb
|
592
|
-
- test/rbbt/tsv/test_matrix.rb
|
593
|
-
- test/rbbt/tsv/test_parallel.rb
|
594
|
-
- test/rbbt/tsv/test_util.rb
|
587
|
+
- test/rbbt/tsv/test_filter.rb
|
588
|
+
- test/rbbt/tsv/test_parser.rb
|
595
589
|
- test/rbbt/tsv/test_accessor.rb
|
590
|
+
- test/rbbt/tsv/test_matrix.rb
|
596
591
|
- test/rbbt/tsv/test_field_index.rb
|
592
|
+
- test/rbbt/tsv/test_util.rb
|
593
|
+
- test/rbbt/tsv/test_index.rb
|
594
|
+
- test/rbbt/tsv/test_parallel.rb
|
597
595
|
- test/rbbt/tsv/test_manipulate.rb
|
598
|
-
- test/rbbt/tsv/
|
599
|
-
- test/rbbt/tsv/
|
600
|
-
- test/rbbt/tsv/
|
601
|
-
- test/rbbt/
|
602
|
-
- test/rbbt/
|
596
|
+
- test/rbbt/tsv/test_excel.rb
|
597
|
+
- test/rbbt/tsv/parallel/test_through.rb
|
598
|
+
- test/rbbt/tsv/parallel/test_traverse.rb
|
599
|
+
- test/rbbt/tsv/test_stream.rb
|
600
|
+
- test/rbbt/test_association.rb
|
601
|
+
- test/rbbt/association/test_database.rb
|
602
|
+
- test/rbbt/association/test_item.rb
|
603
|
+
- test/rbbt/association/test_open.rb
|
604
|
+
- test/rbbt/association/test_util.rb
|
605
|
+
- test/rbbt/association/test_index.rb
|
606
|
+
- test/rbbt/test_knowledge_base.rb
|
607
|
+
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
608
|
+
- test/rbbt/persist/tsv/test_cdb.rb
|
609
|
+
- test/rbbt/persist/tsv/test_lmdb.rb
|
610
|
+
- test/rbbt/persist/tsv/test_sharder.rb
|
611
|
+
- test/rbbt/persist/tsv/test_leveldb.rb
|
612
|
+
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
613
|
+
- test/rbbt/persist/test_tsv.rb
|
614
|
+
- test/rbbt/test_tsv.rb
|
603
615
|
- test/rbbt/test_annotations.rb
|
604
|
-
- test/rbbt/
|
616
|
+
- test/rbbt/test_fix_width_table.rb
|
617
|
+
- test/rbbt/test_workflow.rb
|
618
|
+
- test/rbbt/entity/test_identifiers.rb
|
605
619
|
- test/rbbt/annotations/test_util.rb
|
606
|
-
- test/rbbt/
|
607
|
-
- test/rbbt/
|
608
|
-
- test/rbbt/
|
609
|
-
- test/rbbt/
|
610
|
-
- test/rbbt/
|
620
|
+
- test/rbbt/test_hpc.rb
|
621
|
+
- test/rbbt/test_monitor.rb
|
622
|
+
- test/rbbt/test_persist.rb
|
623
|
+
- test/rbbt/knowledge_base/test_entity.rb
|
624
|
+
- test/rbbt/knowledge_base/test_registry.rb
|
611
625
|
- test/rbbt/knowledge_base/test_syndicate.rb
|
612
|
-
- test/rbbt/knowledge_base/test_enrichment.rb
|
613
626
|
- test/rbbt/knowledge_base/test_query.rb
|
627
|
+
- test/rbbt/knowledge_base/test_enrichment.rb
|
614
628
|
- test/rbbt/knowledge_base/test_traverse.rb
|
615
|
-
- test/rbbt/knowledge_base/test_entity.rb
|
616
|
-
- test/rbbt/knowledge_base/test_registry.rb
|
617
|
-
- test/rbbt/test_resource.rb
|
618
|
-
- test/rbbt/test_tsv.rb
|
619
|
-
- test/rbbt/test_hpc.rb
|
620
|
-
- test/rbbt/resource/test_path.rb
|
621
|
-
- test/rbbt/test_entity.rb
|
622
|
-
- test/rbbt/test_monitor.rb
|
623
|
-
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
624
|
-
- test/rbbt/persist/tsv/test_leveldb.rb
|
625
|
-
- test/rbbt/persist/tsv/test_lmdb.rb
|
626
|
-
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
627
|
-
- test/rbbt/persist/tsv/test_cdb.rb
|
628
|
-
- test/rbbt/persist/tsv/test_sharder.rb
|
629
|
-
- test/rbbt/persist/test_tsv.rb
|
630
629
|
- test/test_helper.rb
|