rbbt-util 5.14.33 → 5.14.34

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/bin/rbbt +2 -0
  3. data/lib/rbbt/association/database.rb +153 -0
  4. data/lib/rbbt/association/index.rb +89 -20
  5. data/lib/rbbt/association/open.rb +37 -0
  6. data/lib/rbbt/association/util.rb +133 -0
  7. data/lib/rbbt/association.rb +1 -380
  8. data/lib/rbbt/entity/identifiers.rb +106 -0
  9. data/lib/rbbt/entity.rb +1 -0
  10. data/lib/rbbt/knowledge_base/entity.rb +107 -0
  11. data/lib/rbbt/knowledge_base/query.rb +83 -0
  12. data/lib/rbbt/knowledge_base/registry.rb +106 -0
  13. data/lib/rbbt/knowledge_base/syndicate.rb +22 -0
  14. data/lib/rbbt/knowledge_base.rb +6 -359
  15. data/lib/rbbt/tsv/accessor.rb +4 -0
  16. data/lib/rbbt/tsv/change_id.rb +119 -0
  17. data/lib/rbbt/tsv/index.rb +6 -2
  18. data/lib/rbbt/tsv/parser.rb +7 -5
  19. data/lib/rbbt/tsv/util.rb +1 -1
  20. data/lib/rbbt/tsv.rb +2 -1
  21. data/lib/rbbt/util/R/model.rb +1 -1
  22. data/lib/rbbt/util/log.rb +2 -2
  23. data/lib/rbbt/util/misc/bgzf.rb +2 -0
  24. data/lib/rbbt/util/misc/inspect.rb +1 -1
  25. data/lib/rbbt-util.rb +11 -7
  26. data/lib/rbbt.rb +0 -1
  27. data/share/rbbt_commands/app/start +1 -1
  28. data/share/rbbt_commands/tsv/change_id +2 -2
  29. data/test/rbbt/association/test_database.rb +61 -0
  30. data/test/rbbt/association/test_index.rb +67 -22
  31. data/test/rbbt/association/test_open.rb +68 -0
  32. data/test/rbbt/association/test_util.rb +108 -0
  33. data/test/rbbt/entity/test_identifiers.rb +40 -0
  34. data/test/rbbt/knowledge_base/test_entity.rb +0 -0
  35. data/test/rbbt/knowledge_base/test_query.rb +45 -0
  36. data/test/rbbt/knowledge_base/test_registry.rb +52 -0
  37. data/test/rbbt/test_association.rb +3 -3
  38. data/test/rbbt/test_knowledge_base.rb +79 -51
  39. data/test/rbbt/test_monitor.rb +0 -2
  40. data/test/rbbt/test_packed_index.rb +1 -1
  41. data/test/rbbt/test_resource.rb +6 -6
  42. data/test/rbbt/test_tsv.rb +34 -44
  43. data/test/rbbt/tsv/parallel/test_through.rb +2 -4
  44. data/test/rbbt/tsv/parallel/test_traverse.rb +30 -28
  45. data/test/rbbt/tsv/test_change_id.rb +10 -0
  46. data/test/rbbt/util/R/test_model.rb +9 -10
  47. data/test/rbbt/util/test_misc.rb +1 -1
  48. data/test/test_helper.rb +4 -1
  49. metadata +24 -2
@@ -11,14 +11,14 @@ class TestTSVParallelThrough < Test::Unit::TestCase
11
11
 
12
12
  head = 100
13
13
 
14
- tsv = Organism.identifiers("Hsa").tsv :head => head
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 = Organism.identifiers("Hsa").tsv :head => head
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 = Organism.identifiers("Hsa").tsv :head => head
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 = Organism.identifiers("Hsa").tsv :head => head
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 = Organism.identifiers("Hsa").open
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 = Organism.identifiers("Hsa")
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 = Organism.identifiers("Hsa").open
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, Organism.identifiers("Hsa").tsv(:head => head).keys
90
+ assert_equal res, datafile_test('identifiers').tsv(:head => head).keys
91
91
 
92
- tsv = Organism.identifiers("Hsa").open
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, Organism.identifiers("Hsa").tsv(:head => head).keys.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 = 2_000
163
+ head = 5_000
164
164
 
165
- tsv = Organism.identifiers("Hsa").open
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 = Organism.identifiers("Hsa").open
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 = Organism.identifiers("Hsa").open
188
- dumper = TSV::Dumper.new Organism.identifiers("Hsa").tsv_options
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 = Organism.identifiers("Hsa").open
207
- dumper = TSV::Dumper.new Organism.identifiers("Hsa").tsv_options
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 = Organism.identifiers("Hsa").open
227
- dumper = TSV::Dumper.new Organism.identifiers("Hsa").tsv_options
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 Organism.identifiers("Hsa").open, :head => head
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 Organism.identifiers("Hsa").open, :head => head
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 = 10_000
289
+ head = 5_000
290
290
  cpus = 4
291
291
 
292
- stream = Organism.identifiers("Hsa").open
293
- dumper = TSV::Dumper.new Organism.identifiers("Hsa").tsv_options
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 = Organism.identifiers(Organism.default_code("Hsa")).open
315
- dumper = TSV::Dumper.new Organism.identifiers(Organism.default_code("Hsa")).tsv_options
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 = Organism.identifiers(Organism.default_code("Hsa")).open
336
- dumper = TSV::Dumper.new Organism.identifiers(Organism.default_code("Hsa")).tsv_options
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 _test_fit
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 _test_add_fit
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, :R_debug => true
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
- ppp result
38
+ assert result.fields.include? "Prediction"
40
39
  end
41
40
 
42
- def _test_add_inpute
41
+ def test_add_inpute
43
42
  tsv = TSV.open datafile_test('dose_response'), :type => :list
44
43
 
45
- result = tsv.R <<-EOF, :R_debug => true
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 * Compound", "Compound" => :factor
78
+ model = R::Model.new "viability", "Effect ~ Dose", "Compound" => :factor
80
79
 
81
- model.fit(viability.select("Compound"){|c| ! c.include? "-"}, 'drm', :fct => ":LL.4()")
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
- puts R::SVG.ggplotSVG rppa, plot_script, 7, 7, :R_method => :eval
86
+ R::SVG.ggplotSVG rppa, plot_script, 7, 7, :R_method => :eval
88
87
  end
89
88
  end
@@ -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.2 * sleep_time
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.33
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-07 00:00:00.000000000 Z
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