rbbt-util 5.14.33 → 5.14.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/rbbt +2 -0
- data/lib/rbbt/association/database.rb +153 -0
- data/lib/rbbt/association/index.rb +89 -20
- data/lib/rbbt/association/open.rb +37 -0
- data/lib/rbbt/association/util.rb +133 -0
- data/lib/rbbt/association.rb +1 -380
- data/lib/rbbt/entity/identifiers.rb +106 -0
- data/lib/rbbt/entity.rb +1 -0
- data/lib/rbbt/knowledge_base/entity.rb +107 -0
- data/lib/rbbt/knowledge_base/query.rb +83 -0
- data/lib/rbbt/knowledge_base/registry.rb +106 -0
- data/lib/rbbt/knowledge_base/syndicate.rb +22 -0
- data/lib/rbbt/knowledge_base.rb +6 -359
- data/lib/rbbt/tsv/accessor.rb +4 -0
- data/lib/rbbt/tsv/change_id.rb +119 -0
- data/lib/rbbt/tsv/index.rb +6 -2
- data/lib/rbbt/tsv/parser.rb +7 -5
- data/lib/rbbt/tsv/util.rb +1 -1
- data/lib/rbbt/tsv.rb +2 -1
- data/lib/rbbt/util/R/model.rb +1 -1
- data/lib/rbbt/util/log.rb +2 -2
- data/lib/rbbt/util/misc/bgzf.rb +2 -0
- data/lib/rbbt/util/misc/inspect.rb +1 -1
- data/lib/rbbt-util.rb +11 -7
- data/lib/rbbt.rb +0 -1
- data/share/rbbt_commands/app/start +1 -1
- data/share/rbbt_commands/tsv/change_id +2 -2
- data/test/rbbt/association/test_database.rb +61 -0
- data/test/rbbt/association/test_index.rb +67 -22
- data/test/rbbt/association/test_open.rb +68 -0
- data/test/rbbt/association/test_util.rb +108 -0
- data/test/rbbt/entity/test_identifiers.rb +40 -0
- data/test/rbbt/knowledge_base/test_entity.rb +0 -0
- data/test/rbbt/knowledge_base/test_query.rb +45 -0
- data/test/rbbt/knowledge_base/test_registry.rb +52 -0
- data/test/rbbt/test_association.rb +3 -3
- data/test/rbbt/test_knowledge_base.rb +79 -51
- data/test/rbbt/test_monitor.rb +0 -2
- data/test/rbbt/test_packed_index.rb +1 -1
- data/test/rbbt/test_resource.rb +6 -6
- data/test/rbbt/test_tsv.rb +34 -44
- data/test/rbbt/tsv/parallel/test_through.rb +2 -4
- data/test/rbbt/tsv/parallel/test_traverse.rb +30 -28
- data/test/rbbt/tsv/test_change_id.rb +10 -0
- data/test/rbbt/util/R/test_model.rb +9 -10
- data/test/rbbt/util/test_misc.rb +1 -1
- data/test/test_helper.rb +4 -1
- metadata +24 -2
@@ -11,14 +11,14 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
11
11
|
|
12
12
|
head = 100
|
13
13
|
|
14
|
-
tsv =
|
14
|
+
tsv = datafile_test('identifiers').tsv :head => head
|
15
15
|
res = {}
|
16
16
|
TSV.traverse tsv do |k,v|
|
17
17
|
res[k] = v
|
18
18
|
end
|
19
19
|
assert_equal head, res.keys.compact.sort.length
|
20
20
|
|
21
|
-
tsv =
|
21
|
+
tsv = datafile_test('identifiers').tsv :head => head
|
22
22
|
TSV.traverse tsv, :into => res do |k,v|
|
23
23
|
[k,v]
|
24
24
|
end
|
@@ -30,7 +30,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
30
30
|
|
31
31
|
head = 100
|
32
32
|
|
33
|
-
tsv =
|
33
|
+
tsv = datafile_test('identifiers').tsv :head => head
|
34
34
|
res = {}
|
35
35
|
TSV.traverse tsv do |k,v|
|
36
36
|
res[k] = v
|
@@ -38,7 +38,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
38
38
|
assert_equal head, res.keys.compact.sort.length
|
39
39
|
assert res.values.compact.flatten.uniq.length > 0
|
40
40
|
|
41
|
-
tsv =
|
41
|
+
tsv = datafile_test('identifiers').tsv :head => head
|
42
42
|
TSV.traverse tsv, :into => res, :cpus => 5 do |k,v|
|
43
43
|
[k,v]
|
44
44
|
end
|
@@ -52,7 +52,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
52
52
|
|
53
53
|
head = 1000
|
54
54
|
|
55
|
-
tsv =
|
55
|
+
tsv = datafile_test('identifiers').open
|
56
56
|
res = {}
|
57
57
|
TSV.traverse tsv, :head => head, :into => res do |k,v|
|
58
58
|
[k,v]
|
@@ -66,7 +66,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
66
66
|
|
67
67
|
head = 1000
|
68
68
|
|
69
|
-
tsv =
|
69
|
+
tsv = datafile_test('identifiers')
|
70
70
|
res = {}
|
71
71
|
TSV.traverse tsv, :head => head, :cpus => 5, :into => res do |k,v|
|
72
72
|
[k,v]
|
@@ -80,23 +80,23 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
80
80
|
|
81
81
|
head = 1000
|
82
82
|
|
83
|
-
tsv =
|
83
|
+
tsv = datafile_test('identifiers').open
|
84
84
|
res = []
|
85
85
|
|
86
86
|
TSV.traverse tsv, :head => head, :type => :keys do |v|
|
87
87
|
res << v
|
88
88
|
end
|
89
89
|
|
90
|
-
assert_equal res,
|
90
|
+
assert_equal res, datafile_test('identifiers').tsv(:head => head).keys
|
91
91
|
|
92
|
-
tsv =
|
92
|
+
tsv = datafile_test('identifiers').open
|
93
93
|
res = []
|
94
94
|
|
95
95
|
TSV.traverse tsv, :head => head, :type => :keys, :into => res do |v|
|
96
96
|
v
|
97
97
|
end
|
98
98
|
|
99
|
-
assert_equal res.sort,
|
99
|
+
assert_equal res.sort, datafile_test('identifiers').tsv(:head => head).keys.sort
|
100
100
|
end
|
101
101
|
|
102
102
|
def test_traverse_array
|
@@ -160,9 +160,9 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
160
160
|
def test_traverse_benchmark
|
161
161
|
require 'rbbt/sources/organism'
|
162
162
|
|
163
|
-
head =
|
163
|
+
head = 5_000
|
164
164
|
|
165
|
-
tsv =
|
165
|
+
tsv = datafile_test('identifiers').open
|
166
166
|
Misc.benchmark do
|
167
167
|
res = {}
|
168
168
|
TSV.traverse tsv, :head => head do |k,v|
|
@@ -170,7 +170,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
170
170
|
end
|
171
171
|
end
|
172
172
|
|
173
|
-
tsv =
|
173
|
+
tsv = datafile_test('identifiers').open
|
174
174
|
Misc.benchmark do
|
175
175
|
res = {}
|
176
176
|
TSV.traverse tsv, :head => head, :cpus => 5, :into => res do |k,v|
|
@@ -184,8 +184,8 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
184
184
|
|
185
185
|
head = 2_000
|
186
186
|
|
187
|
-
stream =
|
188
|
-
dumper = TSV::Dumper.new
|
187
|
+
stream = datafile_test('identifiers').open
|
188
|
+
dumper = TSV::Dumper.new datafile_test('identifiers').tsv_options
|
189
189
|
dumper.init
|
190
190
|
TSV.traverse stream, :head => head, :into => dumper do |k,v|
|
191
191
|
k = k.first
|
@@ -203,8 +203,8 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
203
203
|
head = 2_000
|
204
204
|
threads = 10
|
205
205
|
|
206
|
-
stream =
|
207
|
-
dumper = TSV::Dumper.new
|
206
|
+
stream = datafile_test('identifiers').open
|
207
|
+
dumper = TSV::Dumper.new datafile_test('identifiers').tsv_options
|
208
208
|
dumper.init
|
209
209
|
|
210
210
|
TSV.traverse stream, :threads => threads, :head => head, :into => dumper do |k,v|
|
@@ -223,8 +223,8 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
223
223
|
head = 2_000
|
224
224
|
cpus = 10
|
225
225
|
|
226
|
-
stream =
|
227
|
-
dumper = TSV::Dumper.new
|
226
|
+
stream = datafile_test('identifiers').open
|
227
|
+
dumper = TSV::Dumper.new datafile_test('identifiers').tsv_options
|
228
228
|
dumper.init
|
229
229
|
TSV.traverse stream, :cpus => cpus, :head => head, :into => dumper do |k,v|
|
230
230
|
k = k.first
|
@@ -243,7 +243,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
243
243
|
|
244
244
|
head = 2_000
|
245
245
|
|
246
|
-
tsv = TSV::Parser.new
|
246
|
+
tsv = TSV::Parser.new datafile_test('identifiers').open, :head => head
|
247
247
|
dumper = TSV::Dumper.new tsv.options
|
248
248
|
|
249
249
|
TSV.traverse tsv, :head => head, :into => dumper do |k,v|
|
@@ -265,7 +265,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
265
265
|
head = 2_000
|
266
266
|
threads = 3
|
267
267
|
|
268
|
-
tsv = TSV::Parser.new
|
268
|
+
tsv = TSV::Parser.new datafile_test('identifiers').open, :head => head
|
269
269
|
|
270
270
|
dumper = TSV::Dumper.new tsv.options
|
271
271
|
dumper.init
|
@@ -286,11 +286,12 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
286
286
|
def test_traverse_dumper_cpus
|
287
287
|
require 'rbbt/sources/organism'
|
288
288
|
|
289
|
-
head =
|
289
|
+
head = 5_000
|
290
290
|
cpus = 4
|
291
291
|
|
292
|
-
stream =
|
293
|
-
dumper = TSV::Dumper.new
|
292
|
+
stream = datafile_test('identifiers').open
|
293
|
+
dumper = TSV::Dumper.new datafile_test('identifiers').tsv_options
|
294
|
+
dumper.init
|
294
295
|
|
295
296
|
TSV.traverse stream, :head => head, :cpus => cpus, :into => dumper do |k,v|
|
296
297
|
k = k.first
|
@@ -302,6 +303,7 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
302
303
|
[k, v.length]
|
303
304
|
end
|
304
305
|
|
306
|
+
|
305
307
|
assert_equal head, res.size
|
306
308
|
end
|
307
309
|
|
@@ -311,8 +313,8 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
311
313
|
head = 2_000
|
312
314
|
|
313
315
|
Log.info Log.color :red, "TRAVERSE EXCEPTION"
|
314
|
-
stream =
|
315
|
-
dumper = TSV::Dumper.new
|
316
|
+
stream = datafile_test('identifiers').open
|
317
|
+
dumper = TSV::Dumper.new datafile_test('identifiers').tsv_options
|
316
318
|
dumper.init
|
317
319
|
|
318
320
|
assert_raise StopException do
|
@@ -332,8 +334,8 @@ class TestTSVParallelThrough < Test::Unit::TestCase
|
|
332
334
|
cpus = 2
|
333
335
|
|
334
336
|
Log.info Log.color :red, "TRAVERSE EXCEPTION"
|
335
|
-
stream =
|
336
|
-
dumper = TSV::Dumper.new
|
337
|
+
stream = datafile_test('identifiers').open
|
338
|
+
dumper = TSV::Dumper.new datafile_test('identifiers').tsv_options
|
337
339
|
dumper.init
|
338
340
|
|
339
341
|
assert_raise ProcessFailed do
|
@@ -47,4 +47,14 @@ aa xx
|
|
47
47
|
@f1.identifiers = @id
|
48
48
|
assert @f1.change_key("X").include? "x"
|
49
49
|
end
|
50
|
+
|
51
|
+
def test_translate_key
|
52
|
+
@f1.identifiers = @id
|
53
|
+
assert TSV.translate(@f1, @f1.key_field, "X", :persist => false).include? "x"
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_translate_key_persist
|
57
|
+
@f1.identifiers = @id
|
58
|
+
assert TSV.translate(@f1, @f1.key_field, "X", :persist => true).include? "x"
|
59
|
+
end
|
50
60
|
end
|
@@ -5,7 +5,7 @@ class TestRModel < Test::Unit::TestCase
|
|
5
5
|
def model
|
6
6
|
end
|
7
7
|
|
8
|
-
def
|
8
|
+
def test_fit
|
9
9
|
data = TSV.setup({}, :key_field => "Dose", :fields => ["Response"], :type => :single)
|
10
10
|
10.times do
|
11
11
|
x = rand(10)
|
@@ -20,29 +20,28 @@ class TestRModel < Test::Unit::TestCase
|
|
20
20
|
x = 5
|
21
21
|
y = 10 + 3 * x
|
22
22
|
input = TSV.setup({"new 1" => [x]}, :key_field => "Code", :fields => ["Dose"], :type => :single)
|
23
|
-
puts model.predict(input).to_s
|
24
23
|
pred = model.predict(input)["new 1"]["Prediction"].to_f
|
25
24
|
assert pred > y and pred < y + 4
|
26
25
|
end
|
27
26
|
|
28
|
-
def
|
27
|
+
def test_add_fit
|
29
28
|
tsv = TSV.open datafile_test('dose_response'), :type => :list
|
30
29
|
tsv = tsv.slice(["Dose", "Response"])
|
31
30
|
|
32
|
-
result = tsv.R <<-EOF, :
|
31
|
+
result = tsv.R <<-EOF, :R_method => :shell
|
33
32
|
library(drc, quietly=T)
|
34
33
|
library(txtplot)
|
35
34
|
data = rbbt.model.add_fit(data, Response ~ Dose, method=drm, classes='numeric', fct=LL.4(),na.action=na.omit)
|
36
35
|
txtplot(data$Dose, data$Response)
|
37
36
|
txtplot(data$Dose, data$Prediction)
|
38
37
|
EOF
|
39
|
-
|
38
|
+
assert result.fields.include? "Prediction"
|
40
39
|
end
|
41
40
|
|
42
|
-
def
|
41
|
+
def test_add_inpute
|
43
42
|
tsv = TSV.open datafile_test('dose_response'), :type => :list
|
44
43
|
|
45
|
-
result = tsv.R <<-EOF, :
|
44
|
+
result = tsv.R <<-EOF, :R_method => :eval
|
46
45
|
library(drc, quietly=T)
|
47
46
|
data = rbbt.model.inpute(data, CI ~ Dose, method=drm, classes='numeric', fct=LL.4(), na.action=na.exclude)
|
48
47
|
EOF
|
@@ -76,14 +75,14 @@ data = rbbt.model.inpute(data, CI ~ Dose, method=drm, classes='numeric', fct=LL.
|
|
76
75
|
rppa = rppa.slice([antibody,"Compound", "Dose"])
|
77
76
|
rppa.rename_field antibody, "RPPA"
|
78
77
|
|
79
|
-
model = R::Model.new "viability", "Effect ~ Dose
|
78
|
+
model = R::Model.new "viability", "Effect ~ Dose", "Compound" => :factor
|
80
79
|
|
81
|
-
model.fit(viability.select("Compound"){|c| ! c.include? "-"}, '
|
80
|
+
model.fit(viability.select("Compound"){|c| ! c.include? "-"}, 'lm')
|
82
81
|
|
83
82
|
rppa = model.predict(rppa, "Prediction")
|
84
83
|
|
85
84
|
plot_script = "plot<-ggplot(data=data) + geom_point(aes(x=RPPA, y=Prediction, color=Compound));"
|
86
85
|
|
87
|
-
|
86
|
+
R::SVG.ggplotSVG rppa, plot_script, 7, 7, :R_method => :eval
|
88
87
|
end
|
89
88
|
end
|
data/test/rbbt/util/test_misc.rb
CHANGED
@@ -265,7 +265,7 @@ eum fugiat quo voluptas nulla pariatur?"
|
|
265
265
|
time_spent = Time.new - time
|
266
266
|
|
267
267
|
assert time_spent >= t * sleep_time
|
268
|
-
assert time_spent <= t * 1.
|
268
|
+
assert time_spent <= t * 1.5 * sleep_time
|
269
269
|
assert_equal (0..t-1).to_a.collect{|i| "LINE #{ i }".reverse}, lines1
|
270
270
|
assert_equal (0..t-1).to_a.collect{|i| "LINE #{ i }".downcase}, lines2
|
271
271
|
end
|
data/test/test_helper.rb
CHANGED
@@ -27,7 +27,10 @@ class Test::Unit::TestCase
|
|
27
27
|
#end
|
28
28
|
end
|
29
29
|
|
30
|
-
def datafile_test(file)
|
30
|
+
def self.datafile_test(file)
|
31
31
|
Path.setup(File.join(File.dirname(__FILE__), 'data', file.to_s))
|
32
32
|
end
|
33
|
+
def datafile_test(file)
|
34
|
+
Test::Unit::TestCase.datafile_test(file)
|
35
|
+
end
|
33
36
|
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.14.
|
4
|
+
version: 5.14.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -142,11 +142,19 @@ files:
|
|
142
142
|
- lib/rbbt/annotations/annotated_array.rb
|
143
143
|
- lib/rbbt/annotations/util.rb
|
144
144
|
- lib/rbbt/association.rb
|
145
|
+
- lib/rbbt/association/database.rb
|
145
146
|
- lib/rbbt/association/index.rb
|
146
147
|
- lib/rbbt/association/item.rb
|
148
|
+
- lib/rbbt/association/open.rb
|
149
|
+
- lib/rbbt/association/util.rb
|
147
150
|
- lib/rbbt/entity.rb
|
151
|
+
- lib/rbbt/entity/identifiers.rb
|
148
152
|
- lib/rbbt/fix_width_table.rb
|
149
153
|
- lib/rbbt/knowledge_base.rb
|
154
|
+
- lib/rbbt/knowledge_base/entity.rb
|
155
|
+
- lib/rbbt/knowledge_base/query.rb
|
156
|
+
- lib/rbbt/knowledge_base/registry.rb
|
157
|
+
- lib/rbbt/knowledge_base/syndicate.rb
|
150
158
|
- lib/rbbt/monitor.rb
|
151
159
|
- lib/rbbt/packed_index.rb
|
152
160
|
- lib/rbbt/persist.rb
|
@@ -306,8 +314,15 @@ files:
|
|
306
314
|
- share/rbbt_commands/workflow/task
|
307
315
|
- share/unicorn.rb
|
308
316
|
- test/rbbt/annotations/test_util.rb
|
317
|
+
- test/rbbt/association/test_database.rb
|
309
318
|
- test/rbbt/association/test_index.rb
|
310
319
|
- test/rbbt/association/test_item.rb
|
320
|
+
- test/rbbt/association/test_open.rb
|
321
|
+
- test/rbbt/association/test_util.rb
|
322
|
+
- test/rbbt/entity/test_identifiers.rb
|
323
|
+
- test/rbbt/knowledge_base/test_entity.rb
|
324
|
+
- test/rbbt/knowledge_base/test_query.rb
|
325
|
+
- test/rbbt/knowledge_base/test_registry.rb
|
311
326
|
- test/rbbt/persist/test_tsv.rb
|
312
327
|
- test/rbbt/persist/tsv/test_cdb.rb
|
313
328
|
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
@@ -425,13 +440,20 @@ test_files:
|
|
425
440
|
- test/rbbt/util/R/test_model.rb
|
426
441
|
- test/rbbt/util/R/test_eval.rb
|
427
442
|
- test/rbbt/test_packed_index.rb
|
443
|
+
- test/rbbt/entity/test_identifiers.rb
|
428
444
|
- test/rbbt/test_association.rb
|
445
|
+
- test/rbbt/knowledge_base/test_registry.rb
|
446
|
+
- test/rbbt/knowledge_base/test_entity.rb
|
447
|
+
- test/rbbt/knowledge_base/test_query.rb
|
429
448
|
- test/rbbt/test_resource.rb
|
430
449
|
- test/rbbt/test_entity.rb
|
431
450
|
- test/rbbt/test_knowledge_base.rb
|
432
451
|
- test/rbbt/annotations/test_util.rb
|
433
452
|
- test/rbbt/association/test_index.rb
|
434
453
|
- test/rbbt/association/test_item.rb
|
454
|
+
- test/rbbt/association/test_open.rb
|
455
|
+
- test/rbbt/association/test_util.rb
|
456
|
+
- test/rbbt/association/test_database.rb
|
435
457
|
- test/rbbt/test_tsv.rb
|
436
458
|
- test/rbbt/workflow/test_task.rb
|
437
459
|
- test/rbbt/workflow/test_step.rb
|