rbbt-util 5.21.76 → 5.21.77

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8a09074331abe5af5b916b9cb296fcc69796c7c
4
- data.tar.gz: e874f046cd5f96ad4522aa68bbaee89e36ac76f4
3
+ metadata.gz: 94b444c704c00b00fa41fc21ecda0eac99065d37
4
+ data.tar.gz: d4c01b71ab11e74c7fb0c25822246688323c7e26
5
5
  SHA512:
6
- metadata.gz: 9ccbcb74ef0fba24c99aa8bab2f1b92d25ee6c24794f1c307828f49c14108704aa24d65498f382106e113c4985212ff6fbecd4cf45f18ba2cd3ff1dd76b577f2
7
- data.tar.gz: 557234fcfc128b487add1040f6e8d6eb051de7c74618c7ed957dda7ee0af264e066ddf0bc88f736a09e71689b54a7e38fd9c2cd33f303cc046db10a4b5dc495a
6
+ metadata.gz: 9b41bd6356dcd57efdf98f0540af944b2e058b96a232ce5c724a2cba9767b5612464c5c3d9b5c5760b0b34f1bd2f7dd2ba800a642141ce8df7c13ae17984a2b7
7
+ data.tar.gz: fc5b7a8b16b9b11ebf2d7906500016bc4416f0689fd64fadc31dd07e28f8bc1513a64c6dbfe80cca52d669bddb66ad01b5d51ba3d3b97174c35348286d79c502
@@ -3,6 +3,7 @@ Entity.entity_map_cache = Rbbt.var.sinatra.find.entity_maps
3
3
  Entity.entity_property_cache = Rbbt.var.sinatra.find.entity_properties
4
4
 
5
5
  #{{{ Prepare REST entities
6
+ Log.debug("Processing: " + Rbbt.etc.entities.find)
6
7
  Rbbt.etc.entities.read.split("\n").each do |name|
7
8
  next if name.empty?
8
9
  begin
@@ -22,7 +22,7 @@ module AnnotatedArray
22
22
  value = super(pos)
23
23
  return value if value.nil? or clean
24
24
 
25
- value = value.dup if value.frozen?
25
+ value = value.dup if value.frozen? and (String === value or Array === value)
26
26
 
27
27
  value = annotate(value)
28
28
 
@@ -107,7 +107,7 @@ module TSV
107
107
  rows = []
108
108
 
109
109
  sheet.each do |row|
110
- rows << row.values_at(0..(row.size - 1))
110
+ rows << row.values_at(0..(row.size - 1)).collect{|c| String === c ? c.gsub("\n", ' ') : c }
111
111
  end
112
112
 
113
113
  File.open(filename, 'w') do |f|
@@ -156,7 +156,8 @@ module TSV
156
156
  rows = []
157
157
 
158
158
  sheet.each do |row|
159
- rows << row.cells.collect{|c| c.nil? ? nil : c.value}
159
+ next if row.nil?
160
+ rows << row.cells.collect{|c| c.nil? ? nil : c.value}.collect{|c| String === c ? c.gsub("\n", ' ') : c }
160
161
  end
161
162
 
162
163
  File.open(filename, 'w') do |f|
@@ -213,11 +214,26 @@ module TSV
213
214
 
214
215
 
215
216
  def self.xls(filename, options ={})
216
- TSV::XLS.read(filename, options)
217
+ if Open.remote? filename
218
+ TmpFile.with_file do |tmp|
219
+ Open.download(filename, tmp)
220
+ TSV::XLS.read(tmp, options)
221
+ end
222
+ else
223
+ TSV::XLS.read(filename, options)
224
+ end
217
225
  end
218
226
 
219
227
  def self.xlsx(filename, options ={})
220
- TSV::XLSX.read(filename, options)
228
+ if Open.remote? filename
229
+
230
+ TmpFile.with_file do |tmp|
231
+ Open.download(filename, tmp)
232
+ TSV::XLSX.read(tmp, options)
233
+ end
234
+ else
235
+ TSV::XLSX.read(filename, options)
236
+ end
221
237
  end
222
238
 
223
239
  def self.excel(filename, options = {})
data/lib/rbbt/util/R.rb CHANGED
@@ -46,7 +46,7 @@ source('#{UTIL}');
46
46
  end
47
47
  nil
48
48
  else
49
- CMD.cmd('R --slave --no-save --quiet', options.merge(:in => cmd))
49
+ CMD.cmd('R --no-save --slave --quiet', options.merge(:in => cmd))
50
50
  end
51
51
  end
52
52
 
@@ -3,15 +3,22 @@ require 'rbbt/util/color'
3
3
  module Colorize
4
4
  def self.from_name(color)
5
5
  return color if color =~ /^#?[0-9A-F]+$/i
6
+ colors = Rbbt.share.color.color_names.tsv :type => :single
6
7
  case color.to_s
7
8
  when "white"
8
9
  '#000'
9
10
  when "black"
10
11
  '#fff'
12
+ when 'green'
13
+ colors["green3"]
14
+ when 'red'
15
+ colors["red3"]
16
+ else
17
+ colors[color.to_s] || color
11
18
  end
12
19
  end
13
20
 
14
- def self.continuous(array, start = :white, eend = :black, percent = false)
21
+ def self.continuous(array, start = :green, eend = :red, percent = false)
15
22
  start_color = Color.new from_name(start)
16
23
  end_color = Color.new from_name(eend)
17
24
 
@@ -24,7 +31,7 @@ module Colorize
24
31
  min = array.min
25
32
  range = max - min
26
33
  array.collect do |v|
27
- ratio = (v-min) / range
34
+ ratio = (v.to_f-min) / range
28
35
  start_color.blend end_color, ratio
29
36
  end
30
37
  end
@@ -61,7 +68,7 @@ module Colorize
61
68
  value_color.values_at *array
62
69
  end
63
70
 
64
- def self.tsv(tsv)
71
+ def self.tsv(tsv, options = {})
65
72
  values = tsv.values.flatten
66
73
  if Fixnum === values.first or (values.first.to_f != 0 and values[0] != "0")
67
74
  value_colors = Misc.process_to_hash(values){continuous(values)}
@@ -20,6 +20,24 @@ module Misc
20
20
  max
21
21
  end
22
22
 
23
+ def self.min(list)
24
+ min = nil
25
+ list.each do |v|
26
+ next if v.nil?
27
+ min = v if min.nil? or v < min
28
+ end
29
+ min
30
+ end
31
+
32
+ def self.std_num_vector(v, min, max)
33
+ v_min = Misc.min(v)
34
+ v_max = Misc.max(v)
35
+ v_range = v_max - v_min
36
+ range = max.to_f - min.to_f
37
+
38
+ v.collect{|e| min + range * (e.to_f - v_min) / v_range }
39
+ end
40
+
23
41
  def self.sum(list)
24
42
  list.compact.inject(0.0){|acc,e| acc += e}
25
43
  end
@@ -357,6 +357,8 @@ module Open
357
357
 
358
358
  mode = Misc.process_options options, :mode
359
359
 
360
+ options[:noz] = true if mode.include? "w"
361
+
360
362
  wget_options = options[:wget_options] || {}
361
363
  wget_options[:nice] = options.delete(:nice)
362
364
  wget_options[:nice_key] = options.delete(:nice_key)
@@ -409,6 +411,14 @@ module Open
409
411
  io
410
412
  end
411
413
 
414
+ def self.download(url, file)
415
+ Open.open(url, :mode => 'rb', :noz => true) do |sin|
416
+ Open.open(file, :mode => 'wb') do |sout|
417
+ Misc.consume_stream(sin, false, sout)
418
+ end
419
+ end
420
+ end
421
+
412
422
  def self.can_open?(file)
413
423
  String === file and (File.exist?(file) or remote?(file))
414
424
  end
@@ -0,0 +1,508 @@
1
+ #:type=:single
2
+ #Color Name Color Code
3
+ AliceBlue #f0f8ff
4
+ AntiqueWhite #faebd7
5
+ AntiqueWhite1 #ffefdb
6
+ AntiqueWhite2 #eedfcc
7
+ AntiqueWhite3 #cdc0b0
8
+ AntiqueWhite4 #8b8378
9
+ aquamarine1 #7fffd4
10
+ aquamarine2 #76eec6
11
+ aquamarine4 #458b74
12
+ azure1 #f0ffff
13
+ azure2 #e0eeee
14
+ azure3 #c1cdcd
15
+ azure4 #838b8b
16
+ beige #f5f5dc
17
+ bisque1 #ffe4c4
18
+ bisque2 #eed5b7
19
+ bisque3 #cdb79e
20
+ bisque4 #8b7d6b
21
+ black #000000
22
+ BlanchedAlmond #ffebcd
23
+ blue1 #0000ff
24
+ blue2 #0000ee
25
+ blue4 #00008b
26
+ BlueViolet #8a2be2
27
+ brown #a52a2a
28
+ brown1 #ff4040
29
+ brown2 #ee3b3b
30
+ brown3 #cd3333
31
+ brown4 #8b2323
32
+ burlywood #deb887
33
+ burlywood1 #ffd39b
34
+ burlywood2 #eec591
35
+ burlywood3 #cdaa7d
36
+ burlywood4 #8b7355
37
+ CadetBlue #5f9ea0
38
+ CadetBlue1 #98f5ff
39
+ CadetBlue2 #8ee5ee
40
+ CadetBlue3 #7ac5cd
41
+ CadetBlue4 #53868b
42
+ chartreuse1 #7fff00
43
+ chartreuse2 #76ee00
44
+ chartreuse3 #66cd00
45
+ chartreuse4 #458b00
46
+ chocolate #d2691e
47
+ chocolate1 #ff7f24
48
+ chocolate2 #ee7621
49
+ chocolate3 #cd661d
50
+ coral #ff7f50
51
+ coral1 #ff7256
52
+ coral2 #ee6a50
53
+ coral3 #cd5b45
54
+ coral4 #8b3e2f
55
+ CornflowerBlue #6495ed
56
+ cornsilk1 #fff8dc
57
+ cornsilk2 #eee8cd
58
+ cornsilk3 #cdc8b1
59
+ cornsilk4 #8b8878
60
+ cyan1 #00ffff
61
+ cyan2 #00eeee
62
+ cyan3 #00cdcd
63
+ cyan4 #008b8b
64
+ DarkGoldenrod #b8860b
65
+ DarkGoldenrod1 #ffb90f
66
+ DarkGoldenrod2 #eead0e
67
+ DarkGoldenrod3 #cd950c
68
+ DarkGoldenrod4 #8b6508
69
+ DarkGreen #006400
70
+ DarkKhaki #bdb76b
71
+ DarkOliveGreen #556b2f
72
+ DarkOliveGreen1 #caff70
73
+ DarkOliveGreen2 #bcee68
74
+ DarkOliveGreen3 #a2cd5a
75
+ DarkOliveGreen4 #6e8b3d
76
+ DarkOrange #ff8c00
77
+ DarkOrange1 #ff7f00
78
+ DarkOrange2 #ee7600
79
+ DarkOrange3 #cd6600
80
+ DarkOrange4 #8b4500
81
+ DarkOrchid #9932cc
82
+ DarkOrchid1 #bf3eff
83
+ DarkOrchid2 #b23aee
84
+ DarkOrchid3 #9a32cd
85
+ DarkOrchid4 #68228b
86
+ DarkSalmon #e9967a
87
+ DarkSeaGreen #8fbc8f
88
+ DarkSeaGreen1 #c1ffc1
89
+ DarkSeaGreen2 #b4eeb4
90
+ DarkSeaGreen3 #9bcd9b
91
+ DarkSeaGreen4 #698b69
92
+ DarkSlateBlue #483d8b
93
+ DarkSlateGray #2f4f4f
94
+ DarkSlateGray1 #97ffff
95
+ DarkSlateGray2 #8deeee
96
+ DarkSlateGray3 #79cdcd
97
+ DarkSlateGray4 #528b8b
98
+ DarkTurquoise #00ced1
99
+ DarkViolet #9400d3
100
+ DeepPink1 #ff1493
101
+ DeepPink2 #ee1289
102
+ DeepPink3 #cd1076
103
+ DeepPink4 #8b0a50
104
+ DeepSkyBlue1 #00bfff
105
+ DeepSkyBlue2 #00b2ee
106
+ DeepSkyBlue3 #009acd
107
+ DeepSkyBlue4 #00688b
108
+ DimGray #696969
109
+ DodgerBlue1 #1e90ff
110
+ DodgerBlue2 #1c86ee
111
+ DodgerBlue3 #1874cd
112
+ DodgerBlue4 #104e8b
113
+ firebrick #b22222
114
+ firebrick1 #ff3030
115
+ firebrick2 #ee2c2c
116
+ firebrick3 #cd2626
117
+ firebrick4 #8b1a1a
118
+ FloralWhite #fffaf0
119
+ ForestGreen #228b22
120
+ gainsboro #dcdcdc
121
+ GhostWhite #f8f8ff
122
+ gold1 #ffd700
123
+ gold2 #eec900
124
+ gold3 #cdad00
125
+ gold4 #8b7500
126
+ goldenrod #daa520
127
+ goldenrod1 #ffc125
128
+ goldenrod2 #eeb422
129
+ goldenrod3 #cd9b1d
130
+ goldenrod4 #8b6914
131
+ gray #bebebe
132
+ gray1 #030303
133
+ gray10 #1a1a1a
134
+ gray11 #1c1c1c
135
+ gray12 #1f1f1f
136
+ gray13 #212121
137
+ gray14 #242424
138
+ gray15 #262626
139
+ gray16 #292929
140
+ gray17 #2b2b2b
141
+ gray18 #2e2e2e
142
+ gray19 #303030
143
+ gray2 #050505
144
+ gray20 #333333
145
+ gray21 #363636
146
+ gray22 #383838
147
+ gray23 #3b3b3b
148
+ gray24 #3d3d3d
149
+ gray25 #404040
150
+ gray26 #424242
151
+ gray27 #454545
152
+ gray28 #474747
153
+ gray29 #4a4a4a
154
+ gray3 #080808
155
+ gray30 #4d4d4d
156
+ gray31 #4f4f4f
157
+ gray32 #525252
158
+ gray33 #545454
159
+ gray34 #575757
160
+ gray35 #595959
161
+ gray36 #5c5c5c
162
+ gray37 #5e5e5e
163
+ gray38 #616161
164
+ gray39 #636363
165
+ gray4 #0a0a0a
166
+ gray40 #666666
167
+ gray41 #696969
168
+ gray42 #6b6b6b
169
+ gray43 #6e6e6e
170
+ gray44 #707070
171
+ gray45 #737373
172
+ gray46 #757575
173
+ gray47 #787878
174
+ gray48 #7a7a7a
175
+ gray49 #7d7d7d
176
+ gray5 #0d0d0d
177
+ gray50 #7f7f7f
178
+ gray51 #828282
179
+ gray52 #858585
180
+ gray53 #878787
181
+ gray54 #8a8a8a
182
+ gray55 #8c8c8c
183
+ gray56 #8f8f8f
184
+ gray57 #919191
185
+ gray58 #949494
186
+ gray59 #969696
187
+ gray6 #0f0f0f
188
+ gray60 #999999
189
+ gray61 #9c9c9c
190
+ gray62 #9e9e9e
191
+ gray63 #a1a1a1
192
+ gray64 #a3a3a3
193
+ gray65 #a6a6a6
194
+ gray66 #a8a8a8
195
+ gray67 #ababab
196
+ gray68 #adadad
197
+ gray69 #b0b0b0
198
+ gray7 #121212
199
+ gray70 #b3b3b3
200
+ gray71 #b5b5b5
201
+ gray72 #b8b8b8
202
+ gray73 #bababa
203
+ gray74 #bdbdbd
204
+ gray75 #bfbfbf
205
+ gray76 #c2c2c2
206
+ gray77 #c4c4c4
207
+ gray78 #c7c7c7
208
+ gray79 #c9c9c9
209
+ gray8 #141414
210
+ gray80 #cccccc
211
+ gray81 #cfcfcf
212
+ gray82 #d1d1d1
213
+ gray83 #d4d4d4
214
+ gray84 #d6d6d6
215
+ gray85 #d9d9d9
216
+ gray86 #dbdbdb
217
+ gray87 #dedede
218
+ gray88 #e0e0e0
219
+ gray89 #e3e3e3
220
+ gray9 #171717
221
+ gray90 #e5e5e5
222
+ gray91 #e8e8e8
223
+ gray92 #ebebeb
224
+ gray93 #ededed
225
+ gray94 #f0f0f0
226
+ gray95 #f2f2f2
227
+ gray97 #f7f7f7
228
+ gray98 #fafafa
229
+ gray99 #fcfcfc
230
+ green1 #00ff00
231
+ green2 #00ee00
232
+ green3 #00cd00
233
+ green4 #008b00
234
+ GreenYellow #adff2f
235
+ honeydew1 #f0fff0
236
+ honeydew2 #e0eee0
237
+ honeydew3 #c1cdc1
238
+ honeydew4 #838b83
239
+ HotPink #ff69b4
240
+ HotPink1 #ff6eb4
241
+ HotPink2 #ee6aa7
242
+ HotPink3 #cd6090
243
+ HotPink4 #8b3a62
244
+ IndianRed #cd5c5c
245
+ IndianRed1 #ff6a6a
246
+ IndianRed2 #ee6363
247
+ IndianRed3 #cd5555
248
+ IndianRed4 #8b3a3a
249
+ ivory1 #fffff0
250
+ ivory2 #eeeee0
251
+ ivory3 #cdcdc1
252
+ ivory4 #8b8b83
253
+ khaki #f0e68c
254
+ khaki1 #fff68f
255
+ khaki2 #eee685
256
+ khaki3 #cdc673
257
+ khaki4 #8b864e
258
+ lavender #e6e6fa
259
+ LavenderBlush1 #fff0f5
260
+ LavenderBlush2 #eee0e5
261
+ LavenderBlush3 #cdc1c5
262
+ LavenderBlush4 #8b8386
263
+ LawnGreen #7cfc00
264
+ LemonChiffon1 #fffacd
265
+ LemonChiffon2 #eee9bf
266
+ LemonChiffon3 #cdc9a5
267
+ LemonChiffon4 #8b8970
268
+ light #eedd82
269
+ LightBlue #add8e6
270
+ LightBlue1 #bfefff
271
+ LightBlue2 #b2dfee
272
+ LightBlue3 #9ac0cd
273
+ LightBlue4 #68838b
274
+ LightCoral #f08080
275
+ LightCyan1 #e0ffff
276
+ LightCyan2 #d1eeee
277
+ LightCyan3 #b4cdcd
278
+ LightCyan4 #7a8b8b
279
+ LightGoldenrod1 #ffec8b
280
+ LightGoldenrod2 #eedc82
281
+ LightGoldenrod3 #cdbe70
282
+ LightGoldenrod4 #8b814c
283
+ LightGoldenrodYellow #fafad2
284
+ LightGray #d3d3d3
285
+ LightPink #ffb6c1
286
+ LightPink1 #ffaeb9
287
+ LightPink2 #eea2ad
288
+ LightPink3 #cd8c95
289
+ LightPink4 #8b5f65
290
+ LightSalmon1 #ffa07a
291
+ LightSalmon2 #ee9572
292
+ LightSalmon3 #cd8162
293
+ LightSalmon4 #8b5742
294
+ LightSeaGreen #20b2aa
295
+ LightSkyBlue #87cefa
296
+ LightSkyBlue1 #b0e2ff
297
+ LightSkyBlue2 #a4d3ee
298
+ LightSkyBlue3 #8db6cd
299
+ LightSkyBlue4 #607b8b
300
+ LightSlateBlue #8470ff
301
+ LightSlateGray #778899
302
+ LightSteelBlue #b0c4de
303
+ LightSteelBlue1 #cae1ff
304
+ LightSteelBlue2 #bcd2ee
305
+ LightSteelBlue3 #a2b5cd
306
+ LightSteelBlue4 #6e7b8b
307
+ LightYellow1 #ffffe0
308
+ LightYellow2 #eeeed1
309
+ LightYellow3 #cdcdb4
310
+ LightYellow4 #8b8b7a
311
+ LimeGreen #32cd32
312
+ linen #faf0e6
313
+ magenta #ff00ff
314
+ magenta2 #ee00ee
315
+ magenta3 #cd00cd
316
+ magenta4 #8b008b
317
+ maroon #b03060
318
+ maroon1 #ff34b3
319
+ maroon2 #ee30a7
320
+ maroon3 #cd2990
321
+ maroon4 #8b1c62
322
+ medium #66cdaa
323
+ MediumAquamarine #66cdaa
324
+ MediumBlue #0000cd
325
+ MediumOrchid #ba55d3
326
+ MediumOrchid1 #e066ff
327
+ MediumOrchid2 #d15fee
328
+ MediumOrchid3 #b452cd
329
+ MediumOrchid4 #7a378b
330
+ MediumPurple #9370db
331
+ MediumPurple1 #ab82ff
332
+ MediumPurple2 #9f79ee
333
+ MediumPurple3 #8968cd
334
+ MediumPurple4 #5d478b
335
+ MediumSeaGreen #3cb371
336
+ MediumSlateBlue #7b68ee
337
+ MediumSpringGreen #00fa9a
338
+ MediumTurquoise #48d1cc
339
+ MediumVioletRed #c71585
340
+ MidnightBlue #191970
341
+ MintCream #f5fffa
342
+ MistyRose1 #ffe4e1
343
+ MistyRose2 #eed5d2
344
+ MistyRose3 #cdb7b5
345
+ MistyRose4 #8b7d7b
346
+ moccasin #ffe4b5
347
+ NavajoWhite1 #ffdead
348
+ NavajoWhite2 #eecfa1
349
+ NavajoWhite3 #cdb38b
350
+ NavajoWhite4 #8b795e
351
+ NavyBlue #000080
352
+ OldLace #fdf5e6
353
+ OliveDrab #6b8e23
354
+ OliveDrab1 #c0ff3e
355
+ OliveDrab2 #b3ee3a
356
+ OliveDrab4 #698b22
357
+ orange1 #ffa500
358
+ orange2 #ee9a00
359
+ orange3 #cd8500
360
+ orange4 #8b5a00
361
+ OrangeRed1 #ff4500
362
+ OrangeRed2 #ee4000
363
+ OrangeRed3 #cd3700
364
+ OrangeRed4 #8b2500
365
+ orchid #da70d6
366
+ orchid1 #ff83fa
367
+ orchid2 #ee7ae9
368
+ orchid3 #cd69c9
369
+ orchid4 #8b4789
370
+ pale #db7093
371
+ PaleGoldenrod #eee8aa
372
+ PaleGreen #98fb98
373
+ PaleGreen1 #9aff9a
374
+ PaleGreen2 #90ee90
375
+ PaleGreen3 #7ccd7c
376
+ PaleGreen4 #548b54
377
+ PaleTurquoise #afeeee
378
+ PaleTurquoise1 #bbffff
379
+ PaleTurquoise2 #aeeeee
380
+ PaleTurquoise3 #96cdcd
381
+ PaleTurquoise4 #668b8b
382
+ PaleVioletRed #db7093
383
+ PaleVioletRed1 #ff82ab
384
+ PaleVioletRed2 #ee799f
385
+ PaleVioletRed3 #cd6889
386
+ PaleVioletRed4 #8b475d
387
+ PapayaWhip #ffefd5
388
+ PeachPuff1 #ffdab9
389
+ PeachPuff2 #eecbad
390
+ PeachPuff3 #cdaf95
391
+ PeachPuff4 #8b7765
392
+ pink #ffc0cb
393
+ pink1 #ffb5c5
394
+ pink2 #eea9b8
395
+ pink3 #cd919e
396
+ pink4 #8b636c
397
+ plum #dda0dd
398
+ plum1 #ffbbff
399
+ plum2 #eeaeee
400
+ plum3 #cd96cd
401
+ plum4 #8b668b
402
+ PowderBlue #b0e0e6
403
+ purple #a020f0
404
+ rebeccapurple #663399
405
+ purple1 #9b30ff
406
+ purple2 #912cee
407
+ purple3 #7d26cd
408
+ purple4 #551a8b
409
+ red1 #ff0000
410
+ red2 #ee0000
411
+ red3 #cd0000
412
+ red4 #8b0000
413
+ RosyBrown #bc8f8f
414
+ RosyBrown1 #ffc1c1
415
+ RosyBrown2 #eeb4b4
416
+ RosyBrown3 #cd9b9b
417
+ RosyBrown4 #8b6969
418
+ RoyalBlue #4169e1
419
+ RoyalBlue1 #4876ff
420
+ RoyalBlue2 #436eee
421
+ RoyalBlue3 #3a5fcd
422
+ RoyalBlue4 #27408b
423
+ SaddleBrown #8b4513
424
+ salmon #fa8072
425
+ salmon1 #ff8c69
426
+ salmon2 #ee8262
427
+ salmon3 #cd7054
428
+ salmon4 #8b4c39
429
+ SandyBrown #f4a460
430
+ SeaGreen1 #54ff9f
431
+ SeaGreen2 #4eee94
432
+ SeaGreen3 #43cd80
433
+ SeaGreen4 #2e8b57
434
+ seashell1 #fff5ee
435
+ seashell2 #eee5de
436
+ seashell3 #cdc5bf
437
+ seashell4 #8b8682
438
+ sienna #a0522d
439
+ sienna1 #ff8247
440
+ sienna2 #ee7942
441
+ sienna3 #cd6839
442
+ sienna4 #8b4726
443
+ SkyBlue #87ceeb
444
+ SkyBlue1 #87ceff
445
+ SkyBlue2 #7ec0ee
446
+ SkyBlue3 #6ca6cd
447
+ SkyBlue4 #4a708b
448
+ SlateBlue #6a5acd
449
+ SlateBlue1 #836fff
450
+ SlateBlue2 #7a67ee
451
+ SlateBlue3 #6959cd
452
+ SlateBlue4 #473c8b
453
+ SlateGray #708090
454
+ SlateGray1 #c6e2ff
455
+ SlateGray2 #b9d3ee
456
+ SlateGray3 #9fb6cd
457
+ SlateGray4 #6c7b8b
458
+ snow1 #fffafa
459
+ snow2 #eee9e9
460
+ snow3 #cdc9c9
461
+ snow4 #8b8989
462
+ SpringGreen1 #00ff7f
463
+ SpringGreen2 #00ee76
464
+ SpringGreen3 #00cd66
465
+ SpringGreen4 #008b45
466
+ SteelBlue #4682b4
467
+ SteelBlue1 #63b8ff
468
+ SteelBlue2 #5cacee
469
+ SteelBlue3 #4f94cd
470
+ SteelBlue4 #36648b
471
+ tan #d2b48c
472
+ tan1 #ffa54f
473
+ tan2 #ee9a49
474
+ tan3 #cd853f
475
+ tan4 #8b5a2b
476
+ thistle #d8bfd8
477
+ thistle1 #ffe1ff
478
+ thistle2 #eed2ee
479
+ thistle3 #cdb5cd
480
+ thistle4 #8b7b8b
481
+ tomato1 #ff6347
482
+ tomato2 #ee5c42
483
+ tomato3 #cd4f39
484
+ tomato4 #8b3626
485
+ turquoise #40e0d0
486
+ turquoise1 #00f5ff
487
+ turquoise2 #00e5ee
488
+ turquoise3 #00c5cd
489
+ turquoise4 #00868b
490
+ violet #ee82ee
491
+ VioletRed #d02090
492
+ VioletRed1 #ff3e96
493
+ VioletRed2 #ee3a8c
494
+ VioletRed3 #cd3278
495
+ VioletRed4 #8b2252
496
+ wheat #f5deb3
497
+ wheat1 #ffe7ba
498
+ wheat2 #eed8ae
499
+ wheat3 #cdba96
500
+ wheat4 #8b7e66
501
+ white #ffffff
502
+ WhiteSmoke #f5f5f5
503
+ yellow1 #ffff00
504
+ yellow2 #eeee00
505
+ yellow3 #cdcd00
506
+ yellow4 #8b8b00
507
+ YellowGreen #9acd32
508
+
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rbbt-util'
4
+ require 'rbbt/util/simpleopt'
5
+
6
+ $0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands
7
+
8
+ options = SOPT.setup <<EOF
9
+ Transpose TSV
10
+
11
+ $ rbbt tsv transpose [options] file.tsv
12
+
13
+ Display summary informations. Works with Tokyocabinet HDB and BDB as well.
14
+
15
+ -tch--tokyocabinet File is a TC HDB
16
+ -tcb--tokyocabinet_bd File is a TC BDB
17
+ -f--field* Field name for key
18
+ -hh--header_hash* Change the character used to mark the header line (defaults to #)
19
+ -h--help Help
20
+ EOF
21
+
22
+ SOPT.usage if options[:help]
23
+
24
+ file = ARGV.shift
25
+
26
+ file = case file
27
+ when "-"
28
+ STDIN
29
+ when String
30
+ Open.open(file)
31
+ else
32
+ raise ParameterException, "Please specify the tsv file as argument" if file.nil?
33
+ end
34
+
35
+ field = options[:field]
36
+
37
+ options[:header_hash] = options["header_hash"]
38
+
39
+ case
40
+ when options[:tokyocabinet]
41
+ tsv = Persist.open_tokyocabinet(file, false)
42
+ when options[:tokyocabinet_bd]
43
+ tsv = Persist.open_tokyocabinet(file, false, nil, TokyoCabinet::BDB)
44
+ else
45
+ tsv = TSV.open(file, options.merge(:type => :list))
46
+ end
47
+
48
+ puts tsv.transpose(field).to_s
@@ -9,4 +9,14 @@ class TestColorize < Test::Unit::TestCase
9
9
  assert_equal 16, Colorize.distinct(a).length
10
10
  assert_equal 16, Colorize.distinct(a).compact.uniq.length
11
11
  end
12
+
13
+ def test_from_name
14
+ assert Colorize.from_name('wheat') =~ /^#/
15
+ assert Colorize.from_name('green') =~ /^#/
16
+ end
17
+
18
+ def test_color_continuous
19
+ a = (1..16).to_a
20
+ assert_equal Colorize.continuous(a).length, Colorize.continuous(a).uniq.length
21
+ end
12
22
  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.21.76
4
+ version: 5.21.77
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-23 00:00:00.000000000 Z
11
+ date: 2017-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -327,6 +327,7 @@ files:
327
327
  - share/Rlib/plot.R
328
328
  - share/Rlib/svg.R
329
329
  - share/Rlib/util.R
330
+ - share/color/color_names
330
331
  - share/color/diverging_colors.hex
331
332
  - share/config.ru
332
333
  - share/install/software/HTSLIB
@@ -379,6 +380,7 @@ files:
379
380
  - share/rbbt_commands/tsv/slice
380
381
  - share/rbbt_commands/tsv/sort
381
382
  - share/rbbt_commands/tsv/subset
383
+ - share/rbbt_commands/tsv/transpose
382
384
  - share/rbbt_commands/tsv/unzip
383
385
  - share/rbbt_commands/tsv/values
384
386
  - share/rbbt_commands/tsv/write_excel
@@ -506,83 +508,83 @@ signing_key:
506
508
  specification_version: 4
507
509
  summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
508
510
  test_files:
509
- - test/rbbt/test_workflow.rb
511
+ - test/test_helper.rb
510
512
  - test/rbbt/resource/test_path.rb
511
- - test/rbbt/util/test_cmd.rb
512
- - test/rbbt/util/simpleopt/test_setup.rb
513
- - test/rbbt/util/simpleopt/test_get.rb
514
- - test/rbbt/util/simpleopt/test_parse.rb
515
- - test/rbbt/util/test_chain_methods.rb
516
- - test/rbbt/util/test_simpleDSL.rb
513
+ - test/rbbt/association/test_item.rb
514
+ - test/rbbt/association/test_database.rb
515
+ - test/rbbt/association/test_open.rb
516
+ - test/rbbt/association/test_index.rb
517
+ - test/rbbt/association/test_util.rb
518
+ - test/rbbt/util/test_concurrency.rb
517
519
  - test/rbbt/util/test_log.rb
520
+ - test/rbbt/util/test_chain_methods.rb
521
+ - test/rbbt/util/test_simpleopt.rb
522
+ - test/rbbt/util/simpleopt/test_parse.rb
523
+ - test/rbbt/util/simpleopt/test_get.rb
524
+ - test/rbbt/util/simpleopt/test_setup.rb
525
+ - test/rbbt/util/test_cmd.rb
526
+ - test/rbbt/util/test_semaphore.rb
527
+ - test/rbbt/util/concurrency/test_threads.rb
528
+ - test/rbbt/util/concurrency/processes/test_socket.rb
529
+ - test/rbbt/util/concurrency/test_processes.rb
530
+ - test/rbbt/util/test_tmpfile.rb
518
531
  - test/rbbt/util/test_open.rb
532
+ - test/rbbt/util/test_filecache.rb
533
+ - test/rbbt/util/R/test_eval.rb
534
+ - test/rbbt/util/R/test_model.rb
535
+ - test/rbbt/util/test_simpleDSL.rb
536
+ - test/rbbt/util/log/test_progress.rb
537
+ - test/rbbt/util/test_colorize.rb
538
+ - test/rbbt/util/test_R.rb
519
539
  - test/rbbt/util/misc/test_lock.rb
520
- - test/rbbt/util/misc/test_multipart_payload.rb
521
- - test/rbbt/util/misc/test_bgzf.rb
522
540
  - test/rbbt/util/misc/test_pipes.rb
541
+ - test/rbbt/util/misc/test_bgzf.rb
523
542
  - test/rbbt/util/misc/test_omics.rb
524
- - test/rbbt/util/test_concurrency.rb
525
- - test/rbbt/util/test_R.rb
526
- - test/rbbt/util/log/test_progress.rb
527
- - test/rbbt/util/test_colorize.rb
528
- - test/rbbt/util/test_simpleopt.rb
543
+ - test/rbbt/util/misc/test_multipart_payload.rb
529
544
  - test/rbbt/util/test_excel2tsv.rb
530
- - test/rbbt/util/test_filecache.rb
531
- - test/rbbt/util/concurrency/test_processes.rb
532
- - test/rbbt/util/concurrency/test_threads.rb
533
- - test/rbbt/util/concurrency/processes/test_socket.rb
534
- - test/rbbt/util/test_semaphore.rb
535
545
  - test/rbbt/util/test_misc.rb
536
- - test/rbbt/util/test_tmpfile.rb
537
- - test/rbbt/util/R/test_model.rb
538
- - test/rbbt/util/R/test_eval.rb
539
- - test/rbbt/test_packed_index.rb
540
- - test/rbbt/entity/test_identifiers.rb
541
- - test/rbbt/test_association.rb
542
- - test/rbbt/knowledge_base/test_traverse.rb
543
- - test/rbbt/knowledge_base/test_registry.rb
544
- - test/rbbt/knowledge_base/test_entity.rb
545
- - test/rbbt/knowledge_base/test_enrichment.rb
546
- - test/rbbt/knowledge_base/test_syndicate.rb
547
- - test/rbbt/knowledge_base/test_query.rb
548
- - test/rbbt/test_resource.rb
549
546
  - test/rbbt/test_entity.rb
550
- - test/rbbt/test_knowledge_base.rb
551
- - test/rbbt/annotations/test_util.rb
552
- - test/rbbt/association/test_index.rb
553
- - test/rbbt/association/test_item.rb
554
- - test/rbbt/association/test_open.rb
555
- - test/rbbt/association/test_util.rb
556
- - test/rbbt/association/test_database.rb
557
- - test/rbbt/test_tsv.rb
558
547
  - test/rbbt/workflow/step/test_dependencies.rb
559
- - test/rbbt/workflow/test_task.rb
560
- - test/rbbt/workflow/test_step.rb
561
548
  - test/rbbt/workflow/test_doc.rb
562
- - test/rbbt/test_monitor.rb
563
- - test/rbbt/test_persist.rb
564
- - test/rbbt/test_annotations.rb
565
- - test/rbbt/persist/test_tsv.rb
566
- - test/rbbt/persist/tsv/test_lmdb.rb
567
- - test/rbbt/persist/tsv/test_kyotocabinet.rb
568
- - test/rbbt/persist/tsv/test_sharder.rb
569
- - test/rbbt/persist/tsv/test_cdb.rb
570
- - test/rbbt/persist/tsv/test_tokyocabinet.rb
571
- - test/rbbt/persist/tsv/test_leveldb.rb
572
- - test/rbbt/tsv/test_field_index.rb
549
+ - test/rbbt/workflow/test_step.rb
550
+ - test/rbbt/workflow/test_task.rb
551
+ - test/rbbt/test_association.rb
552
+ - test/rbbt/test_knowledge_base.rb
553
+ - test/rbbt/tsv/parallel/test_traverse.rb
554
+ - test/rbbt/tsv/parallel/test_through.rb
573
555
  - test/rbbt/tsv/test_parallel.rb
574
- - test/rbbt/tsv/test_index.rb
575
- - test/rbbt/tsv/test_matrix.rb
576
- - test/rbbt/tsv/test_change_id.rb
577
- - test/rbbt/tsv/test_parser.rb
578
- - test/rbbt/tsv/test_stream.rb
579
- - test/rbbt/tsv/test_util.rb
580
556
  - test/rbbt/tsv/test_excel.rb
581
557
  - test/rbbt/tsv/test_accessor.rb
558
+ - test/rbbt/tsv/test_change_id.rb
559
+ - test/rbbt/tsv/test_stream.rb
582
560
  - test/rbbt/tsv/test_filter.rb
561
+ - test/rbbt/tsv/test_matrix.rb
583
562
  - test/rbbt/tsv/test_attach.rb
584
563
  - test/rbbt/tsv/test_manipulate.rb
585
- - test/rbbt/tsv/parallel/test_through.rb
586
- - test/rbbt/tsv/parallel/test_traverse.rb
564
+ - test/rbbt/tsv/test_field_index.rb
565
+ - test/rbbt/tsv/test_index.rb
566
+ - test/rbbt/tsv/test_util.rb
567
+ - test/rbbt/tsv/test_parser.rb
568
+ - test/rbbt/test_packed_index.rb
569
+ - test/rbbt/test_persist.rb
587
570
  - test/rbbt/test_fix_width_table.rb
588
- - test/test_helper.rb
571
+ - test/rbbt/knowledge_base/test_traverse.rb
572
+ - test/rbbt/knowledge_base/test_entity.rb
573
+ - test/rbbt/knowledge_base/test_query.rb
574
+ - test/rbbt/knowledge_base/test_enrichment.rb
575
+ - test/rbbt/knowledge_base/test_syndicate.rb
576
+ - test/rbbt/knowledge_base/test_registry.rb
577
+ - test/rbbt/entity/test_identifiers.rb
578
+ - test/rbbt/test_monitor.rb
579
+ - test/rbbt/test_workflow.rb
580
+ - test/rbbt/test_annotations.rb
581
+ - test/rbbt/annotations/test_util.rb
582
+ - test/rbbt/test_resource.rb
583
+ - test/rbbt/persist/tsv/test_tokyocabinet.rb
584
+ - test/rbbt/persist/tsv/test_kyotocabinet.rb
585
+ - test/rbbt/persist/tsv/test_lmdb.rb
586
+ - test/rbbt/persist/tsv/test_leveldb.rb
587
+ - test/rbbt/persist/tsv/test_cdb.rb
588
+ - test/rbbt/persist/tsv/test_sharder.rb
589
+ - test/rbbt/persist/test_tsv.rb
590
+ - test/rbbt/test_tsv.rb