rbbt-util 4.4.0 → 5.0.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.
@@ -173,12 +173,33 @@ row1 1
173
173
  row2 4
174
174
  EOF
175
175
 
176
+ require 'rbbt/sources/organism'
176
177
  TmpFile.with_file(content) do |filename|
177
178
  tsv = TSV.open(filename, :sep => /\s+/, :cast => :to_i, :type => :single, :fields => "Value")
178
179
  assert_equal 1, tsv["row1"]
180
+ tsv = TSV.open(filename, :sep => /\s+/, :cast => :to_i, :type => :single, :fields => ["Value"])
181
+ assert_equal 1, tsv["row1"]
182
+ tsv = TSV.open(filename, :sep => /\s+/, :type => :single, :key_field => "Value", :fields => ["Id"])
183
+ assert_equal "row1", tsv["1"]
184
+ end
185
+ end
186
+
187
+ def test_tsv_single_from_flat
188
+ content =<<-EOF
189
+ #: :type=:flat
190
+ #Id Value
191
+ row1 1 2
192
+ row2 4
193
+ EOF
194
+
195
+ require 'rbbt/sources/organism'
196
+ TmpFile.with_file(content) do |filename|
197
+ tsv = TSV.open(filename, :sep => /\s+/, :type => :single, :key_field => "Value", :fields => ["Id"])
198
+ assert_equal "row1", tsv["1"]
179
199
  end
180
200
  end
181
201
 
202
+
182
203
  def test_tsv_serializer
183
204
  content =<<-EOF
184
205
  #Id Value
@@ -312,6 +333,20 @@ b 2
312
333
  end
313
334
  end
314
335
 
336
+ def test_grep_invert
337
+ content =<<-EOF
338
+ #: :sep=/\\s+/#:type=:single
339
+ #Id Value
340
+ a 1
341
+ b 2
342
+ EOF
343
+
344
+ TmpFile.with_file(content) do |filename|
345
+ tsv = TSV.open(filename, :key_field => "Value", :grep => "#\\|2", :invert_grep => true)
346
+ assert(! tsv.include?("2"))
347
+ end
348
+ end
349
+
315
350
  def test_grep_header
316
351
  content =<<-EOF
317
352
  #: :sep=/\\s+/#:type=:single#:namespace=Test
@@ -175,4 +175,13 @@ row3 A|AA|AAA|AAA B Id3 3
175
175
  end
176
176
  end
177
177
 
178
+ def test_chunked_values_at
179
+ tsv = TSV.setup({})
180
+ 10.times do |i|
181
+ tsv[i] = i
182
+ end
183
+ pos = tsv.chunked_values_at (0..10-1).to_a, 2
184
+ assert_equal (0..10-1).to_a, pos
185
+ end
186
+
178
187
  end
@@ -4,6 +4,10 @@ require 'test/unit'
4
4
 
5
5
  class TestMisc < Test::Unit::TestCase
6
6
 
7
+ def test_humanize
8
+ assert_equal "mutation_enrichment", Misc.humanize("MutationEnrichment")
9
+ end
10
+
7
11
  def test_fixutf8
8
12
  string = "abc\xffdef"
9
13
  string = string.force_encoding("UTF-8") if string.respond_to? :force_encoding
@@ -182,9 +186,19 @@ class TestMisc < Test::Unit::TestCase
182
186
  assert_equal "--------------------------------TYTIDMKTTQNVNGLSML-------------------------", Misc.fast_align(reference, sequence).last
183
187
  end
184
188
 
185
- # def test_divide
186
- # assert_equal 2, Misc.divide(%w(1 2 3 4 5 6 7 8 9),2).length
187
- # end
189
+ def test_divide
190
+ assert_equal 2, Misc.divide(%w(1 2 3 4 5 6 7 8 9),2).length
191
+ end
192
+
193
+ def test_ordered_divide
194
+ assert_equal 5, Misc.ordered_divide(%w(1 2 3 4 5 6 7 8 9),2).length
195
+ end
196
+
197
+ def test_setup
198
+ require 'rbbt/entity/gene'
199
+ g = Misc.prepare_entity("TP53", "Gene", :format => "Associated Gene Name", "organism" => "Hsa/jun2011")
200
+ end
201
+
188
202
  #
189
203
  # def test_process_to_hash
190
204
  # list = [1,2,3,4]
@@ -68,6 +68,27 @@ class TestOpen < Test::Unit::TestCase
68
68
 
69
69
  end
70
70
 
71
+ def test_read_grep_invert
72
+ content =<<-EOF
73
+ 1
74
+ 2
75
+ 3
76
+ 4
77
+ EOF
78
+ TmpFile.with_file(content) do |file|
79
+ sum = 0
80
+ Open.read(file, :grep => '^1\|3', :invert_grep => true) do |line| sum += line.to_i end
81
+ assert_equal(2 + 4, sum)
82
+ end
83
+
84
+ TmpFile.with_file(content) do |file|
85
+ sum = 0
86
+ Open.read(file, :grep => ["1","3"]) do |line| sum += line.to_i end
87
+ assert_equal(1 + 3, sum)
88
+ end
89
+
90
+ end
91
+
71
92
 
72
93
  def test_gzip
73
94
  content =<<-EOF
@@ -41,12 +41,52 @@ class TestStep < Test::Unit::TestCase
41
41
  step2 = Step.new tmpfile + 'step2', task2, [], step1
42
42
 
43
43
  step1.clean
44
- sleep 1
45
44
  step2.run
46
45
  assert_equal "TEST2", Open.read(tmpfile + 'step2')
47
46
  end
48
47
  end
49
48
 
49
+ def test_dependency_log_relay
50
+ str = "TEST"
51
+ TmpFile.with_file do |tmpfile|
52
+ task1 = Task.setup :result_type => nil, :name => :task1 do
53
+ log(:starting_task1, "Starting Task1")
54
+ Open.write(tmpfile, str);
55
+ end
56
+ step1 = Step.new tmpfile + 'step1', task1
57
+
58
+ task2 = Task.setup :result_type => :string, :name => :task1 do
59
+ Open.read(tmpfile)
60
+ end
61
+ step2 = Step.new tmpfile + 'step2', task2, [], [step1]
62
+
63
+ step2.run
64
+ assert step2.messages.include? "task1>Starting Task1"
65
+ end
66
+ end
67
+
68
+ def test_log_relay_step
69
+ str = "TEST"
70
+ TmpFile.with_file do |tmpfile|
71
+ task1 = Task.setup :result_type => nil, :name => :task1 do
72
+ log(:starting_task1, "Starting Task1")
73
+ Open.write(tmpfile, str);
74
+ end
75
+ step1 = Step.new tmpfile + 'step1', task1
76
+
77
+
78
+ task2 = Task.setup :result_type => :string, :name => :task1 do
79
+ Open.read(tmpfile)
80
+ end
81
+ step2 = Step.new tmpfile + 'step2', task2, [], [step1]
82
+
83
+ Step.log_relay_step = step2
84
+ step2.run
85
+ assert step2.messages.include? "task1>Starting Task1"
86
+ end
87
+ end
88
+
89
+
50
90
  def test_exec
51
91
  TmpFile.with_file do |lock|
52
92
  task = Task.setup do "TEST" end
metadata CHANGED
@@ -1,163 +1,175 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
- version: !ruby/object:Gem::Version
4
- hash: 47
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.0.0
5
5
  prerelease:
6
- segments:
7
- - 4
8
- - 4
9
- - 0
10
- version: 4.4.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Miguel Vazquez
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-07-18 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-12-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rake
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: spreadsheet
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: spreadsheet
32
+ requirement: !ruby/object:Gem::Requirement
38
33
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: ruby-prof
50
39
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: ruby-prof
48
+ requirement: !ruby/object:Gem::Requirement
52
49
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
60
54
  type: :runtime
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: tokyocabinet
64
55
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: tokyocabinet
64
+ requirement: !ruby/object:Gem::Requirement
66
65
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
74
70
  type: :runtime
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: progress-monitor
78
71
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
80
73
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: progress-monitor
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
88
86
  type: :runtime
89
- version_requirements: *id005
90
- - !ruby/object:Gem::Dependency
91
- name: lockfile
92
87
  prerelease: false
93
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
94
89
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: lockfile
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
102
  type: :runtime
103
- version_requirements: *id006
104
- - !ruby/object:Gem::Dependency
105
- name: RubyInline
106
103
  prerelease: false
107
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
108
105
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: RubyInline
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
116
118
  type: :runtime
117
- version_requirements: *id007
118
- - !ruby/object:Gem::Dependency
119
- name: narray
120
119
  prerelease: false
121
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
122
121
  none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: narray
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
130
134
  type: :runtime
131
- version_requirements: *id008
132
- - !ruby/object:Gem::Dependency
133
- name: simplews
134
135
  prerelease: false
135
- requirement: &id009 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: simplews
144
+ requirement: !ruby/object:Gem::Requirement
136
145
  none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- hash: 3
141
- segments:
142
- - 0
143
- version: "0"
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
144
150
  type: :runtime
145
- version_requirements: *id009
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
146
158
  description: Utilities for handling tsv files, caches, etc
147
159
  email: miguel.vazquez@cnio.es
148
- executables:
160
+ executables:
149
161
  - tsv.rb
150
162
  - tchash.rb
151
163
  - run_workflow.rb
152
164
  - rbbt_query.rb
153
165
  - rbbt_exec.rb
154
166
  - rbbt_Rutil.rb
167
+ - rbbt_monitor.rb
155
168
  extensions: []
156
-
157
- extra_rdoc_files:
169
+ extra_rdoc_files:
158
170
  - LICENSE
159
171
  - README.rdoc
160
- files:
172
+ files:
161
173
  - LICENSE
162
174
  - lib/rbbt-util.rb
163
175
  - lib/rbbt.rb
@@ -237,40 +249,32 @@ files:
237
249
  - bin/rbbt_query.rb
238
250
  - bin/rbbt_exec.rb
239
251
  - bin/rbbt_Rutil.rb
252
+ - bin/rbbt_monitor.rb
240
253
  homepage: http://github.com/mikisvaz/rbbt-util
241
254
  licenses: []
242
-
243
255
  post_install_message:
244
256
  rdoc_options: []
245
-
246
- require_paths:
257
+ require_paths:
247
258
  - lib
248
- required_ruby_version: !ruby/object:Gem::Requirement
259
+ required_ruby_version: !ruby/object:Gem::Requirement
249
260
  none: false
250
- requirements:
251
- - - ">="
252
- - !ruby/object:Gem::Version
253
- hash: 3
254
- segments:
255
- - 0
256
- version: "0"
257
- required_rubygems_version: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ required_rubygems_version: !ruby/object:Gem::Requirement
258
266
  none: false
259
- requirements:
260
- - - ">="
261
- - !ruby/object:Gem::Version
262
- hash: 3
263
- segments:
264
- - 0
265
- version: "0"
267
+ requirements:
268
+ - - ! '>='
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
266
271
  requirements: []
267
-
268
272
  rubyforge_project:
269
273
  rubygems_version: 1.8.24
270
274
  signing_key:
271
275
  specification_version: 3
272
276
  summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
273
- test_files:
277
+ test_files:
274
278
  - test/test_helper.rb
275
279
  - test/rbbt/util/test_tmpfile.rb
276
280
  - test/rbbt/util/test_filecache.rb