rbbt-util 5.1.0 → 5.2.0

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 (47) hide show
  1. data/LICENSE +1 -1
  2. data/README.rdoc +2 -2
  3. data/bin/rbbt +45 -0
  4. data/bin/rbbt_dangling_locks.rb +9 -0
  5. data/bin/rbbt_monitor.rb +12 -10
  6. data/bin/run_workflow.rb +80 -18
  7. data/lib/rbbt.rb +1 -1
  8. data/lib/rbbt/annotations.rb +1 -19
  9. data/lib/rbbt/annotations/annotated_array.rb +23 -0
  10. data/lib/rbbt/fix_width_table.rb +2 -2
  11. data/lib/rbbt/persist.rb +13 -5
  12. data/lib/rbbt/persist/tsv.rb +2 -0
  13. data/lib/rbbt/resource.rb +4 -4
  14. data/lib/rbbt/resource/path.rb +35 -10
  15. data/lib/rbbt/resource/util.rb +54 -47
  16. data/lib/rbbt/tsv.rb +17 -15
  17. data/lib/rbbt/tsv/accessor.rb +35 -37
  18. data/lib/rbbt/tsv/excel.rb +3 -1
  19. data/lib/rbbt/tsv/manipulate.rb +27 -4
  20. data/lib/rbbt/tsv/parser.rb +13 -7
  21. data/lib/rbbt/util/R.rb +11 -1
  22. data/lib/rbbt/util/misc.rb +182 -26
  23. data/lib/rbbt/util/named_array.rb +14 -7
  24. data/lib/rbbt/util/open.rb +2 -1
  25. data/lib/rbbt/util/tmpfile.rb +16 -1
  26. data/lib/rbbt/workflow.rb +63 -101
  27. data/lib/rbbt/workflow/accessor.rb +19 -9
  28. data/lib/rbbt/workflow/annotate.rb +33 -64
  29. data/lib/rbbt/workflow/definition.rb +71 -0
  30. data/lib/rbbt/workflow/soap.rb +15 -5
  31. data/lib/rbbt/workflow/step.rb +57 -8
  32. data/lib/rbbt/workflow/usage.rb +72 -0
  33. data/share/lib/R/util.R +12 -0
  34. data/share/rbbt_commands/conf/web_user/add +26 -0
  35. data/share/rbbt_commands/conf/web_user/list +9 -0
  36. data/share/rbbt_commands/conf/web_user/remove +18 -0
  37. data/share/rbbt_commands/workflow/remote/add +11 -0
  38. data/share/rbbt_commands/workflow/remote/list +9 -0
  39. data/share/rbbt_commands/workflow/remote/remove +9 -0
  40. data/share/rbbt_commands/workflow/task +181 -0
  41. data/test/rbbt/test_resource.rb +2 -1
  42. data/test/rbbt/test_workflow.rb +13 -0
  43. data/test/rbbt/tsv/test_manipulate.rb +18 -0
  44. data/test/rbbt/util/test_misc.rb +19 -39
  45. data/test/rbbt/util/test_tmpfile.rb +8 -0
  46. data/test/rbbt/workflow/test_soap.rb +2 -0
  47. metadata +31 -2
@@ -1,4 +1,5 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+ require 'rbbt'
2
3
  require 'rbbt/resource'
3
4
  require 'rbbt/util/tmpfile'
4
5
  require 'test/unit'
@@ -41,7 +42,7 @@ class TestTSV < Test::Unit::TestCase
41
42
  end
42
43
 
43
44
 
44
- def test_resolve
45
+ def __test_resolve
45
46
  assert_equal File.join(ENV['HOME'], '.rbbt/etc/foo'), Path.setup('etc/foo').find(:user)
46
47
  assert_equal File.join(ENV['HOME'], '.phgx/etc/foo'), Path.setup('etc/foo', 'phgx').find(:user)
47
48
 
@@ -7,6 +7,8 @@ require 'test/unit'
7
7
  module TestWF
8
8
  extend Workflow
9
9
 
10
+ ddd TestWF.methods.sort
11
+
10
12
  helper :user do
11
13
  "User"
12
14
  end
@@ -67,6 +69,7 @@ class TestWorkflow < Test::Unit::TestCase
67
69
  def test_helper
68
70
  assert_equal "User", TestWF.job(:user, "Default", :number => 3).run
69
71
  end
72
+
70
73
  def test_job
71
74
  str = "TEST"
72
75
  job = TestWF.job(:repeat2, "Default", :number => 3).fork
@@ -110,4 +113,14 @@ class TestWorkflow < Test::Unit::TestCase
110
113
  assert_equal ["TEST", "TEST\nTEST", "TEST\nTEST\nTEST\nTEST"], TestWF.job(:double_dep, "foo", :times => 2, :number => 2).run
111
114
  end
112
115
 
116
+ def test_object_workflow
117
+ a = ""
118
+ a.extend Workflow
119
+ a.task :foo => :string do
120
+ "bar"
121
+ end
122
+
123
+ assert_equal 'bar', a.job(:foo).exec
124
+ end
125
+
113
126
  end
@@ -224,5 +224,23 @@ row3 a
224
224
  end
225
225
  end
226
226
 
227
+ def test_transpose
228
+ content =<<-EOF
229
+ #: :type=:list
230
+ #Row vA vB vID
231
+ row1 a b Id1
232
+ row2 A B Id3
233
+ row3 a C Id4
234
+ EOF
235
+
236
+ TmpFile.with_file(content) do |filename|
237
+ tsv = TSV.open(filename, :sep => /\s+/)
238
+
239
+ assert_equal %w(vA vB vID), tsv.transpose("Values").keys
240
+
241
+ end
242
+
243
+ end
244
+
227
245
 
228
246
  end
@@ -199,45 +199,25 @@ class TestMisc < Test::Unit::TestCase
199
199
  g = Misc.prepare_entity("TP53", "Gene", :format => "Associated Gene Name", "organism" => "Hsa/jun2011")
200
200
  end
201
201
 
202
- #
203
- # def test_process_to_hash
204
- # list = [1,2,3,4]
205
- # assert_equal 4, Misc.process_to_hash(list){|l| l.collect{|e| e * 2}}[2]
206
- # end
202
+ def test_collapse_ranges
203
+ ranges = [(0..100), (50..150), (51..61),(200..250), (300..324),(320..350)]
204
+ assert_equal [(0..150),(200..250), (300..350)], Misc.collapse_ranges(ranges)
205
+ end
207
206
 
208
- # def test_add_method
209
- # a = "Test"
210
- # Misc.add_method a, :invert do self.reverse end
211
- # assert_equal "Test".reverse, a.invert
212
- # end
213
- #
214
- # def test_redefine_method
215
- # a = "Test"
216
- # worked = false
217
- # Misc.redefine_method a, :reverse, :old_reverse do worked = true; self.old_reverse end
218
- # assert_equal "Test".reverse, a.reverse
219
- # assert worked
220
- # end
221
- #
222
- # def test_merge_sorted_arrays
223
- # assert_equal [1,2,3,4], Misc.merge_sorted_arrays([1,3], [2,4])
224
- # end
225
- #
226
- # def test_intersect_sorted_arrays
227
- # assert_equal [2,4], Misc.intersect_sorted_arrays([1,2,3,4], [2,4])
228
- # end
229
- #
230
- #
231
- # def test_in_dir
232
- # TmpFile.with_file do |dir|
233
- # FileUtils.mkdir_p dir
234
- # Open.write(File.join(dir, 'test_file_in_dir'), 'test_file_in_dir')
235
- # Misc.in_dir(dir) do
236
- # assert Dir.glob("*").include? 'test_file_in_dir'
237
- # end
238
- # assert Dir.glob(File.join(dir, "*")).include?(File.join(dir, 'test_file_in_dir'))
239
- # assert(! Dir.glob("*").include?('test_file_in_dir'))
240
- # end
241
- # end
207
+ def test_humanize
208
+ str1 = "test_string"
209
+ str2 = "TEST_string"
210
+ str3 = "test"
211
+
212
+ assert_equal "Test string", Misc.humanize(str1)
213
+ assert_equal "TEST string", Misc.humanize(str2)
214
+ assert_equal "Test", Misc.humanize(str3)
215
+ end
242
216
 
217
+ def test_snake_case
218
+ str1 = "ACRONIMTest"
219
+ str2 = "ACRONIM_test"
220
+ assert_equal "ACRONIM_test", Misc.snake_case(str1)
221
+ assert_equal "ACRONIM_test", Misc.snake_case(str2)
222
+ end
243
223
  end
@@ -15,6 +15,14 @@ class TestTmpFile < Test::Unit::TestCase
15
15
  end
16
16
  end
17
17
 
18
+ def test_extension
19
+ TmpFile.with_file(nil, true, :extension => 'txt') do |file|
20
+ ddd file
21
+ assert file =~ /\.txt$/
22
+ end
23
+
24
+ end
25
+
18
26
  end
19
27
 
20
28
 
@@ -91,6 +91,8 @@ class TestSOAP < Test::Unit::TestCase
91
91
  def test_load_job
92
92
  str = "TEST"
93
93
  id = $driver.repeat2("Default", 3)
94
+ $driver.clean id
95
+ id = $driver.repeat2("Default", 3)
94
96
  while not $driver.done id
95
97
  sleep 1
96
98
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-15 00:00:00.000000000 Z
12
+ date: 2013-05-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -155,6 +155,22 @@ dependencies:
155
155
  - - ! '>='
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: highline
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
158
174
  description: Utilities for handling tsv files, caches, etc
159
175
  email: miguel.vazquez@cnio.es
160
176
  executables:
@@ -165,6 +181,8 @@ executables:
165
181
  - rbbt_exec.rb
166
182
  - rbbt_Rutil.rb
167
183
  - rbbt_monitor.rb
184
+ - rbbt
185
+ - rbbt_dangling_locks.rb
168
186
  extensions: []
169
187
  extra_rdoc_files:
170
188
  - LICENSE
@@ -211,11 +229,20 @@ files:
211
229
  - lib/rbbt/workflow.rb
212
230
  - lib/rbbt/workflow/accessor.rb
213
231
  - lib/rbbt/workflow/annotate.rb
232
+ - lib/rbbt/workflow/definition.rb
214
233
  - lib/rbbt/workflow/soap.rb
215
234
  - lib/rbbt/workflow/step.rb
216
235
  - lib/rbbt/workflow/task.rb
236
+ - lib/rbbt/workflow/usage.rb
217
237
  - share/install/software/lib/install_helpers
218
238
  - share/lib/R/util.R
239
+ - share/rbbt_commands/conf/web_user/add
240
+ - share/rbbt_commands/conf/web_user/list
241
+ - share/rbbt_commands/conf/web_user/remove
242
+ - share/rbbt_commands/workflow/remote/add
243
+ - share/rbbt_commands/workflow/remote/list
244
+ - share/rbbt_commands/workflow/remote/remove
245
+ - share/rbbt_commands/workflow/task
219
246
  - README.rdoc
220
247
  - test/rbbt/tsv/test_accessor.rb
221
248
  - test/rbbt/tsv/test_index.rb
@@ -252,6 +279,8 @@ files:
252
279
  - bin/rbbt_exec.rb
253
280
  - bin/rbbt_Rutil.rb
254
281
  - bin/rbbt_monitor.rb
282
+ - bin/rbbt
283
+ - bin/rbbt_dangling_locks.rb
255
284
  homepage: http://github.com/mikisvaz/rbbt-util
256
285
  licenses: []
257
286
  post_install_message: