iroki 0.0.31 → 0.0.32
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.
- checksums.yaml +4 -4
- data/exe/iroki +15 -3
- data/lib/iroki/color/gradient.rb +35 -5
- data/lib/iroki/color/single_group_gradient.rb +13 -2
- data/lib/iroki/color/two_group_gradient.rb +29 -5
- data/lib/iroki/main/main.rb +23 -5
- data/lib/iroki/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 571e5fc652dc40cb60edcb05f06a2a7665b63174
|
4
|
+
data.tar.gz: 814c6974bead105ac50b176706af90360ed236b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8ef3ec139f50d020f063d9f226661a4684c5310a4997e223c45d771b330ea3d1e8131ca452f9aa0ffff9861d49f6c1dfc7e6b419bd41eaf9b2c4672cdc2f3bf
|
7
|
+
data.tar.gz: 57e478c4e164883104019233a5ec179f8e2c58df6890a03d95cb0e8120edef80ad3c4aa5a136da156bbe4f3579761243a9dcd12ffce5655fb47d62e1fba3fadc
|
data/exe/iroki
CHANGED
@@ -59,8 +59,7 @@ opts = Trollop.options do
|
|
59
59
|
type: :string)
|
60
60
|
|
61
61
|
opt(:single_color,
|
62
|
-
"Use single color gradient for single group biom files"
|
63
|
-
type: :string)
|
62
|
+
"Use single color gradient for single group biom files")
|
64
63
|
|
65
64
|
opt(:name_map,
|
66
65
|
"File with name mappings",
|
@@ -85,6 +84,17 @@ opts = Trollop.options do
|
|
85
84
|
"Default color",
|
86
85
|
type: :string,
|
87
86
|
default: "black")
|
87
|
+
|
88
|
+
opt(:min_lumin,
|
89
|
+
"Min luminosity (only used for gradients)",
|
90
|
+
type: :int,
|
91
|
+
default: 35)
|
92
|
+
|
93
|
+
opt(:max_lumin,
|
94
|
+
"Max luminosity (only used for gradients)",
|
95
|
+
type: :int,
|
96
|
+
default: 70)
|
97
|
+
|
88
98
|
end
|
89
99
|
|
90
100
|
Iroki::Main.main(
|
@@ -100,5 +110,7 @@ Iroki::Main.main(
|
|
100
110
|
display_auto_color_options: opts[:display_auto_color_options],
|
101
111
|
newick_f: opts[:infile],
|
102
112
|
out_f: opts[:outfile],
|
103
|
-
default_color: opts[:default_color]
|
113
|
+
default_color: opts[:default_color],
|
114
|
+
min_lumin: opts[:min_lumin],
|
115
|
+
max_lumin: opts[:max_lumin]
|
104
116
|
)
|
data/lib/iroki/color/gradient.rb
CHANGED
@@ -19,16 +19,43 @@
|
|
19
19
|
module Iroki
|
20
20
|
module Color
|
21
21
|
class Gradient
|
22
|
-
attr_accessor :samples,
|
22
|
+
attr_accessor :samples,
|
23
|
+
:color_hex_codes,
|
24
|
+
:lumins,
|
25
|
+
:single_color,
|
26
|
+
:min_lumin,
|
27
|
+
:max_lumin
|
23
28
|
|
24
29
|
# scales [old_min, old_max] to [new_min, new_max]
|
25
|
-
def scale x,
|
30
|
+
def scale x,
|
31
|
+
new_min=0.05,
|
32
|
+
new_max=0.9,
|
33
|
+
old_min=0.0,
|
34
|
+
old_max=1.0
|
35
|
+
|
36
|
+
x = x.to_f
|
37
|
+
new_min = new_min.to_f
|
38
|
+
new_max = new_max.to_f
|
39
|
+
old_min = old_min.to_f
|
40
|
+
old_max = old_max.to_f
|
41
|
+
|
26
42
|
((((new_max - new_min) * (x - old_min.to_f)) / (old_max - old_min)) + new_min)
|
27
43
|
end
|
28
44
|
|
29
45
|
# scales [old_min, old_max] to [new_max, new_min]
|
30
|
-
def scale_reverse x,
|
31
|
-
|
46
|
+
def scale_reverse x,
|
47
|
+
new_min=0.0,
|
48
|
+
new_max=0.0,
|
49
|
+
old_min=0.0,
|
50
|
+
old_max=1.0
|
51
|
+
|
52
|
+
x = x.to_f
|
53
|
+
new_min = new_min.to_f
|
54
|
+
new_max = new_max.to_f
|
55
|
+
old_min = old_min.to_f
|
56
|
+
old_max = old_max.to_f
|
57
|
+
|
58
|
+
(new_max - ((((new_max - new_min) * (x - old_min.to_f)) / (old_max - old_min)) + new_min)) + new_min
|
32
59
|
end
|
33
60
|
|
34
61
|
def patterns
|
@@ -51,7 +78,10 @@ module Iroki
|
|
51
78
|
|
52
79
|
def rabunds_to_lumins rabunds
|
53
80
|
rabunds.map do |count|
|
54
|
-
scale_reverse count, new_min=50, new_max=97
|
81
|
+
# scale_reverse count, new_min=50, new_max=97
|
82
|
+
# scale_reverse count, new_min=35, new_max=85
|
83
|
+
scale_reverse count, new_min=@min_lumin, new_max=@max_lumin
|
84
|
+
# scale_reverse count, 0.0, 50.0
|
55
85
|
end
|
56
86
|
end
|
57
87
|
end
|
@@ -21,11 +21,19 @@ module Iroki
|
|
21
21
|
class SingleGroupGradient < Gradient
|
22
22
|
attr_accessor :counts, :rel_abunds
|
23
23
|
|
24
|
-
def initialize samples,
|
24
|
+
def initialize samples,
|
25
|
+
counts,
|
26
|
+
single_color=false,
|
27
|
+
min_lumin,
|
28
|
+
max_lumin
|
29
|
+
|
25
30
|
abort_unless samples.count == counts.count,
|
26
31
|
"Samples (#{samples.count}) and counts " +
|
27
32
|
"#{counts.count} are different size."
|
28
33
|
|
34
|
+
@min_lumin = min_lumin
|
35
|
+
@max_lumin = max_lumin
|
36
|
+
|
29
37
|
@single_color = single_color
|
30
38
|
@samples = samples
|
31
39
|
@counts = counts
|
@@ -45,6 +53,8 @@ module Iroki
|
|
45
53
|
|
46
54
|
col =
|
47
55
|
Iroki::Color::GREEN.mix_with Iroki::Color::BLUE, rel_abund
|
56
|
+
# col =
|
57
|
+
# Iroki::Color::BLUE.mix_with Iroki::Color::GREEN, rel_abund
|
48
58
|
|
49
59
|
col.luminosity = lumin
|
50
60
|
|
@@ -55,7 +65,8 @@ module Iroki
|
|
55
65
|
def single_color_gradient_hex_codes
|
56
66
|
@rel_abunds.zip(@lumins).map do |rel_abund, lumin|
|
57
67
|
amt_of_orig_color =
|
58
|
-
scale rel_abund, new_min=10, new_max=95
|
68
|
+
# scale rel_abund, new_min=10, new_max=95
|
69
|
+
scale rel_abund, new_min=@min_lumin, new_max=@max_lumin
|
59
70
|
|
60
71
|
col =
|
61
72
|
Iroki::Color::DARK_GREEN.lighten_by amt_of_orig_color
|
@@ -21,12 +21,20 @@ module Iroki
|
|
21
21
|
class TwoGroupGradient < Gradient
|
22
22
|
attr_accessor :g1_counts, :g2_counts, :g1_rabunds, :g2_rabunds
|
23
23
|
|
24
|
-
def initialize samples,
|
24
|
+
def initialize samples,
|
25
|
+
g1_counts,
|
26
|
+
g2_counts,
|
27
|
+
min_lumin,
|
28
|
+
max_lumin
|
29
|
+
|
25
30
|
assert(samples.count == g1_counts.count &&
|
26
31
|
g1_counts.count == g2_counts.count,
|
27
32
|
"Samples and counts are different lengths. " +
|
28
33
|
"Check your biom file.")
|
29
34
|
|
35
|
+
@min_lumin = min_lumin
|
36
|
+
@max_lumin = max_lumin
|
37
|
+
|
30
38
|
@samples = samples
|
31
39
|
@g1_counts = g1_counts
|
32
40
|
@g2_counts = g2_counts
|
@@ -37,9 +45,17 @@ module Iroki
|
|
37
45
|
|
38
46
|
def percent_of_group1_color ra1, ra2
|
39
47
|
if ra1 > ra2
|
40
|
-
1 - scale(ra2 / ra1,
|
48
|
+
1 - scale(ra2 / ra1,
|
49
|
+
new_min=0.0,
|
50
|
+
new_max=0.5,
|
51
|
+
old_min=0.0,
|
52
|
+
old_max=1.0)
|
41
53
|
elsif ra1 < ra2
|
42
|
-
scale(ra1 / ra2,
|
54
|
+
scale(ra1 / ra2,
|
55
|
+
new_min=0.0,
|
56
|
+
new_max=0.5,
|
57
|
+
old_min=0.0,
|
58
|
+
old_max=1.0)
|
43
59
|
else
|
44
60
|
0.5
|
45
61
|
end
|
@@ -51,9 +67,17 @@ module Iroki
|
|
51
67
|
|
52
68
|
def lumin_level ra1, ra2
|
53
69
|
if ra1 > ra2
|
54
|
-
scale_reverse ra1,
|
70
|
+
scale_reverse ra1,
|
71
|
+
new_min=@min_lumin,
|
72
|
+
new_max=@max_lumin,
|
73
|
+
old_min=0.0,
|
74
|
+
old_max=1.0
|
55
75
|
else
|
56
|
-
scale_reverse ra2,
|
76
|
+
scale_reverse ra2,
|
77
|
+
new_min=@min_lumin,
|
78
|
+
new_max=@max_lumin,
|
79
|
+
old_min=0.0,
|
80
|
+
old_max=1.0
|
57
81
|
end
|
58
82
|
end
|
59
83
|
|
data/lib/iroki/main/main.rb
CHANGED
@@ -184,7 +184,9 @@ module Iroki
|
|
184
184
|
display_auto_color_options: nil,
|
185
185
|
newick_f: nil,
|
186
186
|
out_f: nil,
|
187
|
-
default_color: "black"
|
187
|
+
default_color: "black",
|
188
|
+
min_lumin: 35,
|
189
|
+
max_lumin: 70)
|
188
190
|
|
189
191
|
args = method(__method__).parameters.map { |arg| arg[1] }
|
190
192
|
AbortIf::logger.info "Args " + args.map { |arg| "#{arg} = #{eval(arg.to_s).inspect}" }.join(', ')
|
@@ -287,11 +289,19 @@ module Iroki
|
|
287
289
|
samples, counts, is_single_group = Biom.open(biom_f, "rt").parse
|
288
290
|
|
289
291
|
if is_single_group
|
290
|
-
biom_patterns = SingleGroupGradient.new(samples,
|
292
|
+
biom_patterns = SingleGroupGradient.new(samples,
|
293
|
+
counts,
|
294
|
+
single_color,
|
295
|
+
min_lumin,
|
296
|
+
max_lumin).patterns
|
291
297
|
else
|
292
298
|
g1_counts = counts.map(&:first)
|
293
299
|
g2_counts = counts.map(&:last)
|
294
|
-
biom_patterns = TwoGroupGradient.new(samples,
|
300
|
+
biom_patterns = TwoGroupGradient.new(samples,
|
301
|
+
g1_counts,
|
302
|
+
g2_counts,
|
303
|
+
min_lumin,
|
304
|
+
max_lumin).patterns
|
295
305
|
end
|
296
306
|
|
297
307
|
# these patterns have the original name for the key, so change
|
@@ -326,11 +336,19 @@ module Iroki
|
|
326
336
|
samples, counts, is_single_group = Biom.open(biom_f, "rt").parse
|
327
337
|
|
328
338
|
if is_single_group
|
329
|
-
patterns = SingleGroupGradient.new(samples,
|
339
|
+
patterns = SingleGroupGradient.new(samples,
|
340
|
+
counts,
|
341
|
+
single_color,
|
342
|
+
min_lumin,
|
343
|
+
max_lumin).patterns
|
330
344
|
else
|
331
345
|
g1_counts = counts.map(&:first)
|
332
346
|
g2_counts = counts.map(&:last)
|
333
|
-
patterns = TwoGroupGradient.new(samples,
|
347
|
+
patterns = TwoGroupGradient.new(samples,
|
348
|
+
g1_counts,
|
349
|
+
g2_counts,
|
350
|
+
min_lumin,
|
351
|
+
max_lumin).patterns
|
334
352
|
end
|
335
353
|
|
336
354
|
# these patterns have the original name for the key, so change
|
data/lib/iroki/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iroki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Moore
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|