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.
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