rbbt-util 5.26.156 → 5.26.157
Sign up to get free protection for your applications and to get access to all the features.
- 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
|