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 +4 -4
- data/etc/app.d/entities.rb +1 -0
- data/lib/rbbt/annotations/annotated_array.rb +1 -1
- data/lib/rbbt/tsv/excel.rb +20 -4
- data/lib/rbbt/util/R.rb +1 -1
- data/lib/rbbt/util/colorize.rb +10 -3
- data/lib/rbbt/util/misc/math.rb +18 -0
- data/lib/rbbt/util/open.rb +10 -0
- data/share/color/color_names +508 -0
- data/share/rbbt_commands/tsv/transpose +48 -0
- data/test/rbbt/util/test_colorize.rb +10 -0
- metadata +66 -64
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94b444c704c00b00fa41fc21ecda0eac99065d37
|
4
|
+
data.tar.gz: d4c01b71ab11e74c7fb0c25822246688323c7e26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b41bd6356dcd57efdf98f0540af944b2e058b96a232ce5c724a2cba9767b5612464c5c3d9b5c5760b0b34f1bd2f7dd2ba800a642141ce8df7c13ae17984a2b7
|
7
|
+
data.tar.gz: fc5b7a8b16b9b11ebf2d7906500016bc4416f0689fd64fadc31dd07e28f8bc1513a64c6dbfe80cca52d669bddb66ad01b5d51ba3d3b97174c35348286d79c502
|
data/etc/app.d/entities.rb
CHANGED
@@ -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
|
data/lib/rbbt/tsv/excel.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
data/lib/rbbt/util/colorize.rb
CHANGED
@@ -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 = :
|
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)}
|
data/lib/rbbt/util/misc/math.rb
CHANGED
@@ -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
|
data/lib/rbbt/util/open.rb
CHANGED
@@ -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.
|
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-
|
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/
|
511
|
+
- test/test_helper.rb
|
510
512
|
- test/rbbt/resource/test_path.rb
|
511
|
-
- test/rbbt/
|
512
|
-
- test/rbbt/
|
513
|
-
- test/rbbt/
|
514
|
-
- test/rbbt/
|
515
|
-
- test/rbbt/
|
516
|
-
- test/rbbt/util/
|
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/
|
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/
|
563
|
-
- test/rbbt/
|
564
|
-
- test/rbbt/
|
565
|
-
- test/rbbt/
|
566
|
-
- test/rbbt/
|
567
|
-
- test/rbbt/
|
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/
|
586
|
-
- test/rbbt/tsv/
|
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/
|
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
|