rbbt-util 3.0.3 → 3.1.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.
@@ -152,5 +152,18 @@ row2 2 4 6 8
152
152
  assert_equal "Test", string
153
153
  end
154
154
 
155
+ def test_non_blocking
156
+ $a = TSV.new test_datafile('test.tsv'), :persistence => true, :persistence_dir => Rbbt.tmp.test.persistence
157
+ $a.data.read
158
+
159
+ pid = Process.fork do
160
+ $b = TSV.new test_datafile('test.tsv'), :persistence => true, :persistence_dir => Rbbt.tmp.test.persistence
161
+ $b.data.close
162
+ end
163
+
164
+ Process.wait pid
165
+ end
166
+
167
+
155
168
  end
156
169
 
@@ -73,13 +73,15 @@ class TestTCHash < Test::Unit::TestCase
73
73
  t.close
74
74
 
75
75
  pid = Process.fork do
76
- t2 = TCHash.get f, true, :double
76
+ t2 = TCHash.get f, false, :double
77
77
  assert_equal [["3"],["4","5"]], t2["2"]
78
+ t2.read
78
79
  exit
79
80
  end
80
81
 
81
- t2 = TCHash.get f, true, :double
82
+ t2 = TCHash.get f, false, :double
82
83
  assert_equal [["3"],["4","5"]], t2["2"]
84
+ t2.read
83
85
 
84
86
  Process.wait pid
85
87
  end
@@ -178,11 +178,38 @@ row2 A B
178
178
  assert !tsv1.case_insensitive
179
179
  assert tsv1.include? "A"
180
180
  end
181
- def test_create_array
182
- tsv = TSV.new(%w(a b c))
183
- assert_equal %w(a b c).sort, tsv.keys.sort
184
- assert_equal [[]] * tsv.keys.length, tsv.values
181
+ end
182
+
183
+ def test_create_array
184
+ tsv = TSV.new(%w(a b c))
185
+ assert_equal %w(a b c).sort, tsv.keys.sort
186
+ assert_equal [[]] * tsv.keys.length, tsv.values
187
+ end
188
+
189
+ def test_persistence_data
190
+ content1 =<<-EOF
191
+ #: :sep=/\\s+/#:case_insensitive=false
192
+ #Id ValueA ValueB
193
+ row1 a|aa|aaa b
194
+ row2 A B
195
+ EOF
196
+
197
+ tsv1 = tsv2 = identifiers = nil
198
+ TmpFile.with_file(content1) do |filename|
199
+ TmpFile.with_file do |tchashfile|
200
+ tchash = TCHash.get(tchashfile, true)
201
+ tsv1 = TSV.new(File.open(filename), :key => "ValueA", :persistence_data => tchash)
202
+ assert TCHash === tsv1.data
203
+ assert !tsv1.case_insensitive
204
+ assert tsv1.include? "A"
205
+
206
+ tsv1 = TSV.new(tchash, :key => "ValueA")
207
+ assert TCHash === tsv1.data
208
+ assert !tsv1.case_insensitive
209
+ assert tsv1.include? "A"
210
+ end
185
211
  end
212
+
186
213
  end
187
214
  end
188
215
 
@@ -5,11 +5,11 @@ module MathWF
5
5
  extend WorkFlow
6
6
  self.tasks[:input] = Task.new(:input, :marshal, :value) do |value| value end
7
7
  self.tasks[:add_1] = Task.new(:add_1, :marshal) do input + 1 end
8
- self.tasks[:add_1].dependencies << :input
8
+ self.tasks[:add_1].dependencies << tasks[:input]
9
9
  self.tasks[:times_2] = Task.new(:times_2, :marshal) do input * 2 end
10
- self.tasks[:times_2].dependencies << :add_1
10
+ self.tasks[:times_2].dependencies << tasks[:add_1]
11
11
  self.tasks[:times_4] = Task.new(:times_4, :marshal) do input * 4 end
12
- self.tasks[:times_4].dependencies << :add_1
12
+ self.tasks[:times_4].dependencies << tasks[:add_1]
13
13
  self.tasks.each do |name, task| task.workflow = self end
14
14
  end
15
15
 
@@ -119,5 +119,13 @@ class TestWorkFlow < Test::Unit::TestCase
119
119
  assert 2, ConWF.run(:times_2, "Test", "one").load
120
120
  assert 4, ConWF.run(:times_2, "Test", "two").load
121
121
  end
122
+
123
+ def test_option_summary
124
+ assert MathWF.tasks[:times_2].option_summary.first.first[:name] == :value
125
+ end
126
+
127
+ def test_usage
128
+ assert MathWF.tasks[:times_2].usage =~ /^Task:/
129
+ end
122
130
  end
123
131
 
@@ -350,7 +350,41 @@ row6,dd,dd,ee,,
350
350
 
351
351
  assert_equal result, Open.read(f)
352
352
  end
353
-
353
+ end
354
+
355
+ def test_paste
356
+ file1 =<<-EOF
357
+ row6,dd,dd,ee
358
+ row1,a,b,c
359
+ row1,aa,bb,cc
360
+ row2,A,B,C
361
+ row3,1,2,3
362
+ EOF
363
+ file2 =<<-EOF
364
+ row20,rr,rr
365
+ row1,d,e
366
+ row2,D,E
367
+ row4,x,y
368
+ EOF
369
+ result =<<-EOF
370
+ row1,aa|a,bb|b,cc|c,d,e
371
+ row2,A,B,C,D,E
372
+ row20,,,,rr,rr
373
+ row3,1,2,3,,
374
+ row4,,,,x,y
375
+ row6,dd,dd,ee,,
376
+ EOF
377
+
378
+ TmpFile.with_file do |f|
379
+ data1 = TSV.new StringIO.new(file1), :sep => ',', :merge => true
380
+ data2 = TSV.new StringIO.new(file2), :sep => ',', :merge => true
381
+ data3 = data1.paste(data2)
382
+ data3.each do |key, list|
383
+ list.each do |l| l.replace l.sort_by{|v| v.length}.reverse end
384
+ end
385
+
386
+ assert_equal result, data3.to_s(:sort, true).gsub(/\t/,',')
387
+ end
354
388
  end
355
389
 
356
390
  def test_merge_rows
@@ -50,7 +50,7 @@ row3 A a|B Id4
50
50
 
51
51
  TmpFile.with_file(content) do |filename|
52
52
  tsv = TSV.new(File.open(filename), :sep => /\s+/, :key => "OtherID", :persistence => true)
53
- index = tsv.index(:case_insensitive => false, :order => true)
53
+ index = tsv.index(:case_insensitive => false, :order => true, :persistence => true)
54
54
  assert_equal "Id1", index['a'].first
55
55
  assert_equal "Id3", index['A'].first
56
56
  assert_equal "OtherID", index.fields.first
@@ -123,9 +123,7 @@ row2 A B
123
123
  values["Range"].last
124
124
  end
125
125
 
126
- ddd tsv.fields
127
126
  tsv = tsv.slice ["Start", "End"]
128
- ddd tsv.fields
129
127
 
130
128
  tsv
131
129
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
- prerelease:
4
+ hash: 3
5
+ prerelease: false
6
6
  segments:
7
7
  - 3
8
+ - 1
8
9
  - 0
9
- - 3
10
- version: 3.0.3
10
+ version: 3.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Miguel Vazquez
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-23 00:00:00 +01:00
18
+ date: 2011-04-11 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -109,6 +109,8 @@ executables:
109
109
  - tchash.rb
110
110
  - workflow.rb
111
111
  - rbbt_query.rb
112
+ - rbbt_exec.rb
113
+ - rbbt_Rutil.rb
112
114
  extensions: []
113
115
 
114
116
  extra_rdoc_files:
@@ -141,9 +143,11 @@ files:
141
143
  - lib/rbbt/util/tsv/attach.rb
142
144
  - lib/rbbt/util/tsv/index.rb
143
145
  - lib/rbbt/util/tsv/manipulate.rb
146
+ - lib/rbbt/util/tsv/misc.rb
144
147
  - lib/rbbt/util/tsv/parse.rb
145
148
  - lib/rbbt/util/tsv/resource.rb
146
149
  - lib/rbbt/util/workflow.rb
150
+ - lib/rbbt/util/workflow/soap.rb
147
151
  - share/install/software/lib/install_helpers
148
152
  - share/lib/R/util.R
149
153
  - test/rbbt/util/test_R.rb
@@ -176,6 +180,8 @@ files:
176
180
  - bin/tchash.rb
177
181
  - bin/workflow.rb
178
182
  - bin/rbbt_query.rb
183
+ - bin/rbbt_exec.rb
184
+ - bin/rbbt_Rutil.rb
179
185
  has_rdoc: true
180
186
  homepage: http://github.com/mikisvaz/rbbt-util
181
187
  licenses: []
@@ -206,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
212
  requirements: []
207
213
 
208
214
  rubyforge_project:
209
- rubygems_version: 1.4.2
215
+ rubygems_version: 1.3.7
210
216
  signing_key:
211
217
  specification_version: 3
212
218
  summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)