bio-svgenes 0.3.1 → 0.3.2
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.
- data/README.md +88 -0
- data/VERSION +1 -1
- data/bio-svgenes.gemspec +131 -8
- data/doc/classes/Bio.html +131 -0
- data/doc/classes/Bio/Graphics.html +142 -0
- data/doc/classes/Bio/Graphics/Glyph.html +987 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000001.html +26 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000002.html +27 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000003.html +32 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000004.html +27 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000005.html +25 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000006.html +29 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000007.html +107 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000008.html +51 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000009.html +23 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000010.html +18 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000011.html +75 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000012.html +51 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000013.html +23 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000014.html +26 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000015.html +27 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000016.html +32 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000017.html +27 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000018.html +25 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000019.html +29 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000020.html +107 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000021.html +51 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000022.html +23 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000023.html +18 -0
- data/doc/classes/Bio/Graphics/Glyph.src/M000024.html +75 -0
- data/doc/classes/Bio/Graphics/MiniFeature.html +243 -0
- data/doc/classes/Bio/Graphics/MiniFeature.src/M000001.html +25 -0
- data/doc/classes/Bio/Graphics/MiniFeature.src/M000003.html +25 -0
- data/doc/classes/Bio/Graphics/MiniFeature.src/M000024.html +25 -0
- data/doc/classes/Bio/Graphics/Page.html +705 -0
- data/doc/classes/Bio/Graphics/Page.src/M000010.html +35 -0
- data/doc/classes/Bio/Graphics/Page.src/M000011.html +83 -0
- data/doc/classes/Bio/Graphics/Page.src/M000012.html +24 -0
- data/doc/classes/Bio/Graphics/Page.src/M000013.html +29 -0
- data/doc/classes/Bio/Graphics/Page.src/M000014.html +24 -0
- data/doc/classes/Bio/Graphics/Page.src/M000015.html +20 -0
- data/doc/classes/Bio/Graphics/Page.src/M000016.html +20 -0
- data/doc/classes/Bio/Graphics/Page.src/M000017.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000018.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000019.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000020.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000021.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000022.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000023.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000024.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000025.html +35 -0
- data/doc/classes/Bio/Graphics/Page.src/M000026.html +83 -0
- data/doc/classes/Bio/Graphics/Page.src/M000027.html +24 -0
- data/doc/classes/Bio/Graphics/Page.src/M000028.html +29 -0
- data/doc/classes/Bio/Graphics/Page.src/M000029.html +24 -0
- data/doc/classes/Bio/Graphics/Page.src/M000030.html +20 -0
- data/doc/classes/Bio/Graphics/Page.src/M000031.html +20 -0
- data/doc/classes/Bio/Graphics/Page.src/M000032.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000033.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000034.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000035.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000036.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000037.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000038.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000039.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000040.html +107 -0
- data/doc/classes/Bio/Graphics/Page.src/M000041.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000042.html +23 -0
- data/doc/classes/Bio/Graphics/Page.src/M000043.html +18 -0
- data/doc/classes/Bio/Graphics/Page.src/M000044.html +18 -0
- data/doc/classes/Bio/Graphics/Primitive.html +204 -0
- data/doc/classes/Bio/Graphics/Primitive.src/M000001.html +21 -0
- data/doc/classes/Bio/Graphics/Primitive.src/M000002.html +20 -0
- data/doc/classes/Bio/Graphics/Primitive.src/M000008.html +21 -0
- data/doc/classes/Bio/Graphics/Primitive.src/M000009.html +20 -0
- data/doc/classes/Bio/Graphics/Primitive.src/M000022.html +21 -0
- data/doc/classes/Bio/Graphics/Primitive.src/M000023.html +20 -0
- data/doc/classes/Bio/Graphics/SVGEE.html +290 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000002.html +24 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000003.html +18 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000004.html +24 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000005.html +18 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000006.html +18 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000007.html +21 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000008.html +27 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000009.html +23 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000016.html +24 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000017.html +18 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000018.html +18 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000019.html +21 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000020.html +27 -0
- data/doc/classes/Bio/Graphics/SVGEE.src/M000021.html +23 -0
- data/doc/classes/Bio/Graphics/Track.html +473 -0
- data/doc/classes/Bio/Graphics/Track.src/M000001.html +35 -0
- data/doc/classes/Bio/Graphics/Track.src/M000002.html +18 -0
- data/doc/classes/Bio/Graphics/Track.src/M000003.html +28 -0
- data/doc/classes/Bio/Graphics/Track.src/M000004.html +18 -0
- data/doc/classes/Bio/Graphics/Track.src/M000010.html +35 -0
- data/doc/classes/Bio/Graphics/Track.src/M000011.html +18 -0
- data/doc/classes/Bio/Graphics/Track.src/M000012.html +28 -0
- data/doc/classes/Bio/Graphics/Track.src/M000013.html +18 -0
- data/doc/created.rid +1 -9
- data/doc/files/lib/bio-svgenes_rb.html +131 -0
- data/doc/files/lib/bio/graphics/glyph_rb.html +101 -0
- data/doc/files/lib/bio/graphics/mini_feature_rb.html +101 -0
- data/doc/files/lib/bio/graphics/page_rb.html +111 -0
- data/doc/files/lib/bio/graphics/primitive_rb.html +101 -0
- data/doc/files/lib/bio/graphics/svgee_rb.html +101 -0
- data/doc/files/lib/bio/graphics/track_rb.html +101 -0
- data/doc/fr_class_index.html +34 -0
- data/doc/fr_file_index.html +33 -0
- data/doc/fr_method_index.html +70 -0
- data/doc/index.html +21 -91
- data/doc/manual/bootstrap/css/bootstrap-responsive.css +1109 -0
- data/doc/manual/bootstrap/css/bootstrap-responsive.min.css +9 -0
- data/doc/manual/bootstrap/css/bootstrap.css +6158 -0
- data/doc/manual/bootstrap/css/bootstrap.min.css +9 -0
- data/doc/manual/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/doc/manual/bootstrap/img/glyphicons-halflings.png +0 -0
- data/doc/manual/bootstrap/js/bootstrap.js +2276 -0
- data/doc/manual/bootstrap/js/bootstrap.min.js +6 -0
- data/doc/manual/img/circle.png +0 -0
- data/doc/manual/img/directed.png +0 -0
- data/doc/manual/img/down_triangle.png +0 -0
- data/doc/manual/img/histogram.png +0 -0
- data/doc/manual/img/span.png +0 -0
- data/doc/manual/img/transcript.png +0 -0
- data/doc/manual/img/up_triangle.png +0 -0
- data/doc/manual/manual.html +360 -0
- data/doc/manual/manual.md +307 -0
- data/doc/rdoc-style.css +208 -0
- data/examples/example.rb +12 -8
- data/examples/{make_example.rb → example2.rb} +5 -16
- data/lib/bio/graphics/glyph.rb +293 -126
- data/lib/bio/graphics/mini_feature.rb +24 -17
- data/lib/bio/graphics/page.rb +112 -54
- data/lib/bio/graphics/primitive.rb +12 -9
- data/lib/bio/graphics/svgee.rb +9 -11
- data/lib/bio/graphics/track.rb +92 -10
- metadata +132 -9
- data/README.rdoc +0 -19
- data/examples/annotate_snps.rb +0 -86
- data/examples/eg2.rb +0 -40
- data/examples/get_coverage_in_windows.rb +0 -176
data/doc/rdoc-style.css
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
|
2
|
+
body {
|
3
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
4
|
+
font-size: 90%;
|
5
|
+
margin: 0;
|
6
|
+
margin-left: 40px;
|
7
|
+
padding: 0;
|
8
|
+
background: white;
|
9
|
+
}
|
10
|
+
|
11
|
+
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
12
|
+
h1 { font-size: 150%; }
|
13
|
+
h2,h3,h4 { margin-top: 1em; }
|
14
|
+
|
15
|
+
a { background: #eef; color: #039; text-decoration: none; }
|
16
|
+
a:hover { background: #039; color: #eef; }
|
17
|
+
|
18
|
+
/* Override the base stylesheet's Anchor inside a table cell */
|
19
|
+
td > a {
|
20
|
+
background: transparent;
|
21
|
+
color: #039;
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* and inside a section title */
|
26
|
+
.section-title > a {
|
27
|
+
background: transparent;
|
28
|
+
color: #eee;
|
29
|
+
text-decoration: none;
|
30
|
+
}
|
31
|
+
|
32
|
+
/* === Structural elements =================================== */
|
33
|
+
|
34
|
+
div#index {
|
35
|
+
margin: 0;
|
36
|
+
margin-left: -40px;
|
37
|
+
padding: 0;
|
38
|
+
font-size: 90%;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
div#index a {
|
43
|
+
margin-left: 0.7em;
|
44
|
+
}
|
45
|
+
|
46
|
+
div#index .section-bar {
|
47
|
+
margin-left: 0px;
|
48
|
+
padding-left: 0.7em;
|
49
|
+
background: #ccc;
|
50
|
+
font-size: small;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
div#classHeader, div#fileHeader {
|
55
|
+
width: auto;
|
56
|
+
color: white;
|
57
|
+
padding: 0.5em 1.5em 0.5em 1.5em;
|
58
|
+
margin: 0;
|
59
|
+
margin-left: -40px;
|
60
|
+
border-bottom: 3px solid #006;
|
61
|
+
}
|
62
|
+
|
63
|
+
div#classHeader a, div#fileHeader a {
|
64
|
+
background: inherit;
|
65
|
+
color: white;
|
66
|
+
}
|
67
|
+
|
68
|
+
div#classHeader td, div#fileHeader td {
|
69
|
+
background: inherit;
|
70
|
+
color: white;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
div#fileHeader {
|
75
|
+
background: #057;
|
76
|
+
}
|
77
|
+
|
78
|
+
div#classHeader {
|
79
|
+
background: #048;
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
.class-name-in-header {
|
84
|
+
font-size: 180%;
|
85
|
+
font-weight: bold;
|
86
|
+
}
|
87
|
+
|
88
|
+
|
89
|
+
div#bodyContent {
|
90
|
+
padding: 0 1.5em 0 1.5em;
|
91
|
+
}
|
92
|
+
|
93
|
+
div#description {
|
94
|
+
padding: 0.5em 1.5em;
|
95
|
+
background: #efefef;
|
96
|
+
border: 1px dotted #999;
|
97
|
+
}
|
98
|
+
|
99
|
+
div#description h1,h2,h3,h4,h5,h6 {
|
100
|
+
color: #125;;
|
101
|
+
background: transparent;
|
102
|
+
}
|
103
|
+
|
104
|
+
div#validator-badges {
|
105
|
+
text-align: center;
|
106
|
+
}
|
107
|
+
div#validator-badges img { border: 0; }
|
108
|
+
|
109
|
+
div#copyright {
|
110
|
+
color: #333;
|
111
|
+
background: #efefef;
|
112
|
+
font: 0.75em sans-serif;
|
113
|
+
margin-top: 5em;
|
114
|
+
margin-bottom: 0;
|
115
|
+
padding: 0.5em 2em;
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/* === Classes =================================== */
|
120
|
+
|
121
|
+
table.header-table {
|
122
|
+
color: white;
|
123
|
+
font-size: small;
|
124
|
+
}
|
125
|
+
|
126
|
+
.type-note {
|
127
|
+
font-size: small;
|
128
|
+
color: #DEDEDE;
|
129
|
+
}
|
130
|
+
|
131
|
+
.xxsection-bar {
|
132
|
+
background: #eee;
|
133
|
+
color: #333;
|
134
|
+
padding: 3px;
|
135
|
+
}
|
136
|
+
|
137
|
+
.section-bar {
|
138
|
+
color: #333;
|
139
|
+
border-bottom: 1px solid #999;
|
140
|
+
margin-left: -20px;
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
.section-title {
|
145
|
+
background: #79a;
|
146
|
+
color: #eee;
|
147
|
+
padding: 3px;
|
148
|
+
margin-top: 2em;
|
149
|
+
margin-left: -30px;
|
150
|
+
border: 1px solid #999;
|
151
|
+
}
|
152
|
+
|
153
|
+
.top-aligned-row { vertical-align: top }
|
154
|
+
.bottom-aligned-row { vertical-align: bottom }
|
155
|
+
|
156
|
+
/* --- Context section classes ----------------------- */
|
157
|
+
|
158
|
+
.context-row { }
|
159
|
+
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
160
|
+
.context-item-value { font-size: small; color: #448; }
|
161
|
+
.context-item-desc { color: #333; padding-left: 2em; }
|
162
|
+
|
163
|
+
/* --- Method classes -------------------------- */
|
164
|
+
.method-detail {
|
165
|
+
background: #efefef;
|
166
|
+
padding: 0;
|
167
|
+
margin-top: 0.5em;
|
168
|
+
margin-bottom: 1em;
|
169
|
+
border: 1px dotted #ccc;
|
170
|
+
}
|
171
|
+
.method-heading {
|
172
|
+
color: black;
|
173
|
+
background: #ccc;
|
174
|
+
border-bottom: 1px solid #666;
|
175
|
+
padding: 0.2em 0.5em 0 0.5em;
|
176
|
+
}
|
177
|
+
.method-signature { color: black; background: inherit; }
|
178
|
+
.method-name { font-weight: bold; }
|
179
|
+
.method-args { font-style: italic; }
|
180
|
+
.method-description { padding: 0 0.5em 0 0.5em; }
|
181
|
+
|
182
|
+
/* --- Source code sections -------------------- */
|
183
|
+
|
184
|
+
a.source-toggle { font-size: 90%; }
|
185
|
+
div.method-source-code {
|
186
|
+
background: #262626;
|
187
|
+
color: #ffdead;
|
188
|
+
margin: 1em;
|
189
|
+
padding: 0.5em;
|
190
|
+
border: 1px dashed #999;
|
191
|
+
overflow: hidden;
|
192
|
+
}
|
193
|
+
|
194
|
+
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
195
|
+
|
196
|
+
/* --- Ruby keyword styles --------------------- */
|
197
|
+
|
198
|
+
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
199
|
+
|
200
|
+
.ruby-constant { color: #7fffd4; background: transparent; }
|
201
|
+
.ruby-keyword { color: #00ffff; background: transparent; }
|
202
|
+
.ruby-ivar { color: #eedd82; background: transparent; }
|
203
|
+
.ruby-operator { color: #00ffee; background: transparent; }
|
204
|
+
.ruby-identifier { color: #ffdead; background: transparent; }
|
205
|
+
.ruby-node { color: #ffa07a; background: transparent; }
|
206
|
+
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
207
|
+
.ruby-regexp { color: #ffa07a; background: transparent; }
|
208
|
+
.ruby-value { color: #7fffd4; background: transparent; }
|
data/examples/example.rb
CHANGED
@@ -1,24 +1,28 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
#
|
3
|
+
# example.rb
|
4
4
|
#
|
5
5
|
# Created by Dan MacLean (TSL) on 2012-09-28.
|
6
6
|
# Copyright (c) . All rights reserved.
|
7
7
|
###################################################
|
8
|
-
|
9
|
-
|
8
|
+
|
9
|
+
##A very straightforward example that creates all the features and tracks explicitly.
|
10
|
+
|
10
11
|
|
11
12
|
require 'bio-svgenes'
|
12
13
|
|
14
|
+
##create the page
|
13
15
|
p = Bio::Graphics::Page.new(:width => 800,
|
14
16
|
:height => 200,
|
15
|
-
:number_of_intervals => 10
|
16
|
-
|
17
|
+
:number_of_intervals => 10
|
18
|
+
)
|
17
19
|
|
20
|
+
##add a generic glyph track
|
18
21
|
generic_track = p.add_track(:glyph => :generic,
|
19
22
|
:name => 'generic_features',
|
20
23
|
:label => true )
|
21
|
-
|
24
|
+
|
25
|
+
##and some features
|
22
26
|
feature1 = Bio::Graphics::MiniFeature.new(:start => 923, :end => 2212, :strand => '+', :id => "MyFeature")
|
23
27
|
generic_track.add(feature1)
|
24
28
|
feature2 = Bio::Graphics::MiniFeature.new(:start => 467, :end => 1234)
|
@@ -33,7 +37,7 @@ feature2 = Bio::Graphics::MiniFeature.new(:start => 12000, :end => 12030)
|
|
33
37
|
generic_track.add(feature2)
|
34
38
|
|
35
39
|
|
36
|
-
|
40
|
+
##another generic track
|
37
41
|
generic_track = p.add_track(:glyph => :generic, :name => 'more_generic_features', :label => true, :fill_color => 'green' )
|
38
42
|
|
39
43
|
feature1 = Bio::Graphics::MiniFeature.new(:start => 923, :end => 2212)
|
@@ -43,7 +47,7 @@ generic_track.add(feature1)
|
|
43
47
|
feature1 = Bio::Graphics::MiniFeature.new(:start => 467, :end => 15000)
|
44
48
|
generic_track.add(feature1)
|
45
49
|
|
46
|
-
|
50
|
+
##another generic
|
47
51
|
generic_track = p.add_track(:glyph => :generic,
|
48
52
|
:name => 'yet_more_generic_features',
|
49
53
|
:label => true,
|
@@ -1,18 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
5
|
-
# Created by Dan MacLean (TSL) on 2013-01-18.
|
6
|
-
# Copyright (c) . All rights reserved.
|
7
|
-
###################################################
|
2
|
+
#an example that loads data and renders different features from a gff
|
3
|
+
#will select any features in ['gene', 'mRNA','cDNA_match', 'microarray_probe', 'insertion','deletion','substitution','transposable_element_insertion_site'] and
|
4
|
+
#render these
|
8
5
|
|
9
|
-
##to do:
|
10
|
-
## background colour
|
11
|
-
## single nt features : minimum size on circles, squares, triangles, diamonds, span (t bar)
|
12
|
-
## label sizes
|
13
|
-
## label positions
|
14
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
15
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
16
6
|
require 'bio-svgenes'
|
17
7
|
|
18
8
|
|
@@ -129,10 +119,9 @@ end
|
|
129
119
|
|
130
120
|
|
131
121
|
all_features = Bio::Graphics::Page.parse_gff( ARGV[0] )
|
132
|
-
|
133
|
-
#all_features.collect {|f| f.feature }.uniq.each do | feature_type |
|
122
|
+
|
134
123
|
['gene', 'mRNA','cDNA_match', 'microarray_probe', 'insertion','deletion','substitution','transposable_element_insertion_site'].each do |feature_type|
|
135
|
-
|
124
|
+
|
136
125
|
puts "rendering #{feature_type}"
|
137
126
|
case feature_type
|
138
127
|
when 'gene'
|
data/lib/bio/graphics/glyph.rb
CHANGED
@@ -1,40 +1,62 @@
|
|
1
1
|
module Bio
|
2
2
|
class Graphics
|
3
|
-
#A Glyph is an array of Primitive objects, holding information about the type of Glyph being created.
|
4
|
-
#Each different type of Glyph has different arguments, pertaining to how the Glyph will be drawn and the parameters provided to SVGEE.
|
5
|
-
#
|
6
3
|
|
4
|
+
#A glyph is a particular shape that represents a genomic feature. Bio::Graphics::Glyph objects represent glyphs. Bio::Graphics::Glyphs are created internally according to
|
5
|
+
#specification from the Bio::Graphics::Track and not instantiated directly by the user.
|
6
|
+
#Internally, these are constructed as an array of Bio::Graphics::Primitive objects, which are collections of simple shapes, combined appropriately to make a glyph
|
7
7
|
class Glyph
|
8
8
|
|
9
9
|
#The different type of Glyphs are:
|
10
|
-
#* generic
|
11
|
-
#* circle
|
12
|
-
#* directed
|
13
|
-
#*
|
14
|
-
#*
|
15
|
-
#* span
|
16
|
-
#* transcript
|
17
|
-
#* scale
|
18
|
-
#* label
|
19
|
-
#* histogram
|
10
|
+
#* :generic
|
11
|
+
#* :circle
|
12
|
+
#* :directed
|
13
|
+
#* :down_triangle
|
14
|
+
#* :up_triangle
|
15
|
+
#* :span
|
16
|
+
#* :transcript
|
17
|
+
#* :scale
|
18
|
+
#* :label
|
19
|
+
#* :histogram
|
20
20
|
|
21
21
|
attr_reader :glyphs
|
22
|
-
#
|
22
|
+
#only glyphs defined here will be allowed
|
23
23
|
@glyphs = [:generic, :directed, :transcript, :scale, :label, :histogram, :circle, :down_triangle, :up_triangle, :span]
|
24
|
-
|
24
|
+
|
25
|
+
#A generic glyph is a block of colour that displays no specific directional information attached.
|
25
26
|
#
|
26
|
-
|
27
|
-
#* height = the height of the Glyph (10)
|
28
|
-
#* fill_color = the fill colour of the Glyph ('red')
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
27
|
+
#== args
|
28
|
+
#* :height = the height of the Glyph (default = 10)
|
29
|
+
#* :fill_color = the fill colour of the Glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
30
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
31
|
+
#or a custom definition of a gradient
|
32
|
+
# {:type => :radial,
|
33
|
+
# :id => :custom,
|
34
|
+
# :cx => 5,
|
35
|
+
# :cy => 5,
|
36
|
+
# :r => 50,
|
37
|
+
# :fx => 50,
|
38
|
+
# :fy => 50,
|
39
|
+
# :stops => [ {
|
40
|
+
# :offset => 0,
|
41
|
+
# :color => 'rgb(255,255,255)',
|
42
|
+
# :opacity => 0
|
43
|
+
# }, {
|
44
|
+
# :offset => 100,
|
45
|
+
# :color => 'rgb(0,127,200)',
|
46
|
+
# :opacity => 1
|
47
|
+
# }, ]
|
48
|
+
# } #* :stroke = the outline colour of the Glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
49
|
+
#* :stroke_width = The width of the outline stroke (default = 1), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
50
|
+
#* :x_round = x-axis radius of the ellipse used to round off the corners of the rectangle (default = 1)
|
51
|
+
#* :y_round = y-axis radius of the ellipse used to round off the corners of the rectangle (default = 1)
|
52
|
+
#* :style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
53
|
+
#* :x = x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
54
|
+
#* :y = y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
55
|
+
#
|
56
|
+
#=== returns
|
57
|
+
#
|
58
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
59
|
+
def self.generic(args)
|
38
60
|
args = {
|
39
61
|
:height => 10,
|
40
62
|
:fill_color => 'red',
|
@@ -46,17 +68,38 @@ attr_reader :glyphs
|
|
46
68
|
[Bio::Graphics::Primitive.new(:rectangle, args)]
|
47
69
|
end
|
48
70
|
|
49
|
-
#
|
71
|
+
#A circular glyph centered on the start of the feature it represents
|
50
72
|
#
|
51
|
-
|
52
|
-
#* radius = the radius of the circle (10)
|
53
|
-
#* fill_color = the fill colour of the Glyph ('red')
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
73
|
+
#== args
|
74
|
+
#* :radius = the radius of the circle (default = 10)
|
75
|
+
#* :fill_color = the fill colour of the Glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
76
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
77
|
+
#or a custom definition of a gradient
|
78
|
+
# {:type => :radial,
|
79
|
+
# :id => :custom,
|
80
|
+
# :cx => 5,
|
81
|
+
# :cy => 5,
|
82
|
+
# :r => 50,
|
83
|
+
# :fx => 50,
|
84
|
+
# :fy => 50,
|
85
|
+
# :stops => [ {
|
86
|
+
# :offset => 0,
|
87
|
+
# :color => 'rgb(255,255,255)',
|
88
|
+
# :opacity => 0
|
89
|
+
# }, {
|
90
|
+
# :offset => 100,
|
91
|
+
# :color => 'rgb(0,127,200)',
|
92
|
+
# :opacity => 1
|
93
|
+
# }, ]
|
94
|
+
# } #* :stroke = the outline colour of the Glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
95
|
+
#* :stroke_width = The width of the outline stroke (default = 1), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
96
|
+
#* :style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
97
|
+
#* :x = base x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
98
|
+
#* :y = base y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
99
|
+
#
|
100
|
+
#=== returns
|
101
|
+
#
|
102
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
60
103
|
def self.circle(args)
|
61
104
|
args = {
|
62
105
|
:radius => 10,
|
@@ -70,18 +113,41 @@ attr_reader :glyphs
|
|
70
113
|
[Bio::Graphics::Primitive.new(:circle, args)]
|
71
114
|
end
|
72
115
|
|
73
|
-
#
|
74
|
-
|
75
|
-
#* width = the width of the feature
|
76
|
-
#* fill_color = the fill colour of the Glyph ('red')
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
#
|
116
|
+
#A polygon glyph with a point on the end that represents the features strand and direction
|
117
|
+
#== args
|
118
|
+
#* :width = the width of the feature in px
|
119
|
+
#* :fill_color = the fill colour of the Glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
120
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
121
|
+
#or a custom definition of a gradient
|
122
|
+
# {:type => :radial,
|
123
|
+
# :id => :custom,
|
124
|
+
# :cx => 5,
|
125
|
+
# :cy => 5,
|
126
|
+
# :r => 50,
|
127
|
+
# :fx => 50,
|
128
|
+
# :fy => 50,
|
129
|
+
# :stops => [ {
|
130
|
+
# :offset => 0,
|
131
|
+
# :color => 'rgb(255,255,255)',
|
132
|
+
# :opacity => 0
|
133
|
+
# }, {
|
134
|
+
# :offset => 100,
|
135
|
+
# :color => 'rgb(0,127,200)',
|
136
|
+
# :opacity => 1
|
137
|
+
# }, ]
|
138
|
+
# }
|
139
|
+
#* :stroke = the outline colour of the Glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
140
|
+
#* :stroke_width = The width of the outline stroke (default = 1), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
141
|
+
#* :style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
142
|
+
#* :strand = the strand on which the feature is located. May be '+' or '-'
|
143
|
+
#* :points = the x and y axis coordinates that make up the corners of the polygon, calculated and added by the Bio::Graphics::Page object
|
144
|
+
#* :x = base x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
145
|
+
#* :y = base y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
146
|
+
#The points of the polygon are calculated form the +:x+ and +:y+ co-ordinates
|
147
|
+
#
|
148
|
+
#=== returns
|
149
|
+
#
|
150
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
85
151
|
def self.directed(args) #:x, :y, :width :fill, :stroke :stroke_width, :style, :height
|
86
152
|
args = {
|
87
153
|
|
@@ -99,17 +165,38 @@ attr_reader :glyphs
|
|
99
165
|
end
|
100
166
|
[Bio::Graphics::Primitive.new(:polygon, args)]
|
101
167
|
end
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
#*
|
106
|
-
#*
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
#
|
112
|
-
|
168
|
+
|
169
|
+
#A downward-pointing triangle glyph
|
170
|
+
#== args
|
171
|
+
#* :height = the height of the Glyph (default = 10)
|
172
|
+
#* :fill_color = the fill colour of the Glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
173
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
174
|
+
#or a custom definition of a gradient
|
175
|
+
# {:type => :radial,
|
176
|
+
# :id => :custom,
|
177
|
+
# :cx => 5,
|
178
|
+
# :cy => 5,
|
179
|
+
# :r => 50,
|
180
|
+
# :fx => 50,
|
181
|
+
# :fy => 50,
|
182
|
+
# :stops => [ {
|
183
|
+
# :offset => 0,
|
184
|
+
# :color => 'rgb(255,255,255)',
|
185
|
+
# :opacity => 0
|
186
|
+
# }, {
|
187
|
+
# :offset => 100,
|
188
|
+
# :color => 'rgb(0,127,200)',
|
189
|
+
# :opacity => 1
|
190
|
+
# }, ]
|
191
|
+
# } #* :stroke = the outline colour of the Glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
192
|
+
#* :stroke_width = The width of the outline stroke (default = 1), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
193
|
+
#* :style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
194
|
+
#* :x = x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
195
|
+
#* :y = y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
196
|
+
#
|
197
|
+
#=== returns
|
198
|
+
#
|
199
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
113
200
|
def self.down_triangle(args) #:x, :y, :width :fill, :stroke :stroke_width, :style, :height
|
114
201
|
args = {
|
115
202
|
|
@@ -122,17 +209,39 @@ attr_reader :glyphs
|
|
122
209
|
args[:points] = "#{args[:x]},#{args[:y]} #{args[:x] + args[:width]},#{args[:y]} #{ args[:x] + (args[:width]/2) },#{(args[:y] + args[:height]) }"
|
123
210
|
[Bio::Graphics::Primitive.new(:polygon, args)]
|
124
211
|
end
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
#*
|
129
|
-
#*
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
#
|
135
|
-
|
212
|
+
|
213
|
+
#An upward-pointing triangle glyph
|
214
|
+
#== args
|
215
|
+
#* :height = the height of the Glyph (default = 10)
|
216
|
+
#* :fill_color = the fill colour of the Glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
217
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
218
|
+
#or a custom definition of a gradient
|
219
|
+
# {:type => :radial,
|
220
|
+
# :id => :custom,
|
221
|
+
# :cx => 5,
|
222
|
+
# :cy => 5,
|
223
|
+
# :r => 50,
|
224
|
+
# :fx => 50,
|
225
|
+
# :fy => 50,
|
226
|
+
# :stops => [ {
|
227
|
+
# :offset => 0,
|
228
|
+
# :color => 'rgb(255,255,255)',
|
229
|
+
# :opacity => 0
|
230
|
+
# }, {
|
231
|
+
# :offset => 100,
|
232
|
+
# :color => 'rgb(0,127,200)',
|
233
|
+
# :opacity => 1
|
234
|
+
# }, ]
|
235
|
+
# }
|
236
|
+
#* :stroke = the outline colour of the Glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
237
|
+
#* :stroke_width = The width of the outline stroke (default = 1), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
238
|
+
#* :style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
239
|
+
#* :x = x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
240
|
+
#* :y = y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
241
|
+
#
|
242
|
+
#=== returns
|
243
|
+
#
|
244
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
136
245
|
def self.up_triangle(args) #:x, :y, :width :fill, :stroke :stroke_width, :style, :height
|
137
246
|
args = {
|
138
247
|
:height => 10,
|
@@ -143,16 +252,40 @@ attr_reader :glyphs
|
|
143
252
|
args[:points] = "#{args[:x]},#{args[:y] + args[:height]} #{args[:x] + args[:width]},#{args[:y] + args[:height]} #{ args[:x] + (args[:width]/2) },#{args[:y] }"
|
144
253
|
[Bio::Graphics::Primitive.new(:polygon, args)]
|
145
254
|
end
|
146
|
-
|
255
|
+
|
256
|
+
#A line (span) glyph
|
147
257
|
#
|
148
258
|
#+args+
|
149
|
-
#* height = the height of the Glyph (10)
|
150
|
-
#* fill_color = the fill colour of the Glyph ('red')
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
259
|
+
#* :height = the height of the Glyph (default = 10)
|
260
|
+
#* :fill_color = the fill colour of the Glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
261
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
262
|
+
#or a custom definition of a gradient
|
263
|
+
# {:type => :radial,
|
264
|
+
# :id => :custom,
|
265
|
+
# :cx => 5,
|
266
|
+
# :cy => 5,
|
267
|
+
# :r => 50,
|
268
|
+
# :fx => 50,
|
269
|
+
# :fy => 50,
|
270
|
+
# :stops => [ {
|
271
|
+
# :offset => 0,
|
272
|
+
# :color => 'rgb(255,255,255)',
|
273
|
+
# :opacity => 0
|
274
|
+
# }, {
|
275
|
+
# :offset => 100,
|
276
|
+
# :color => 'rgb(0,127,200)',
|
277
|
+
# :opacity => 1
|
278
|
+
# }, ]
|
279
|
+
# }
|
280
|
+
#* :stroke = the outline colour of the Glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
281
|
+
#* :stroke_width = The width of the outline stroke (default = 1)
|
282
|
+
#* :style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
283
|
+
#* :x = x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
284
|
+
#* :y = y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
285
|
+
#
|
286
|
+
#=== returns
|
287
|
+
#
|
288
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
156
289
|
def self.span(args)
|
157
290
|
args = {
|
158
291
|
:height => 10,
|
@@ -167,26 +300,69 @@ attr_reader :glyphs
|
|
167
300
|
args[:y2] = args[:y]
|
168
301
|
[Bio::Graphics::Primitive.new(:line, args)]
|
169
302
|
end
|
170
|
-
|
171
|
-
#
|
303
|
+
|
304
|
+
#Creates a transcript glyph, which is a composite glyph containing generic glyphs for the exons/utrs and a directed glyph
|
305
|
+
#at the end. The glyphs are joined by lines.
|
172
306
|
#
|
173
|
-
|
174
|
-
#* height = the height of the Glyph (10)
|
175
|
-
#* utr_fill_color = the fill colour of the
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
307
|
+
#== args
|
308
|
+
#* :height = the height of the Glyph (default = 10)
|
309
|
+
#* :utr_fill_color = the fill colour of the utr part of the glyph (default = 'black'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients
|
310
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
311
|
+
#or a custom definition of a gradient
|
312
|
+
# {:type => :radial,
|
313
|
+
# :id => :custom,
|
314
|
+
# :cx => 5,
|
315
|
+
# :cy => 5,
|
316
|
+
# :r => 50,
|
317
|
+
# :fx => 50,
|
318
|
+
# :fy => 50,
|
319
|
+
# :stops => [ {
|
320
|
+
# :offset => 0,
|
321
|
+
# :color => 'rgb(255,255,255)',
|
322
|
+
# :opacity => 0
|
323
|
+
# }, {
|
324
|
+
# :offset => 100,
|
325
|
+
# :color => 'rgb(0,127,200)',
|
326
|
+
# :opacity => 1
|
327
|
+
# }, ]
|
328
|
+
# }
|
329
|
+
#* :utr_stroke = the outline colour of the utr part of the glyph (default = "black"), can be any SVG colour eg rgb(256,0,0) or #FF0000
|
330
|
+
#* :utr_stroke_width = The width of the outline stroke for the utr part of the glyph (default = 1)
|
331
|
+
#* :exon_fill_color = the fill colour of the utr part of the glyph (default = 'red'), can be any SVG colour eg rgb(256,0,0) or #FF0000, or one of the built in gradient types Bio::Graphics::Glyph#gradients or a custom definition of a gradient
|
332
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
333
|
+
#or a custom definition of a gradient
|
334
|
+
# {:type => :radial,
|
335
|
+
# :id => :custom,
|
336
|
+
# :cx => 5,
|
337
|
+
# :cy => 5,
|
338
|
+
# :r => 50,
|
339
|
+
# :fx => 50,
|
340
|
+
# :fy => 50,
|
341
|
+
# :stops => [ {
|
342
|
+
# :offset => 0,
|
343
|
+
# :color => 'rgb(255,255,255)',
|
344
|
+
# :opacity => 0
|
345
|
+
# }, {
|
346
|
+
# :offset => 100,
|
347
|
+
# :color => 'rgb(0,127,200)',
|
348
|
+
# :opacity => 1
|
349
|
+
# }, ]
|
350
|
+
# }
|
351
|
+
#* :exon_stroke = the outline colour of the exon part of the glyph (default = "black") can be any SVG colour eg rgb(256,0,0) or #FF0000
|
352
|
+
#* :exon_stroke_width = The width of the outline stroke for the exon part of the glyph (default = 1)
|
353
|
+
#* :line_color = the colour for the line part that joins the blocks (default = 'black') can be any SVG colour eg rgb(256,0,0) or #FF0000
|
354
|
+
#* :line_width = the width ffor the line part that joins the blocks (default = 1)
|
355
|
+
#* :exon_style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
356
|
+
#* :utr_style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
357
|
+
#* :line_style = an arbitrary SVG compliant style string eg "fill-opacity:0.4;"
|
358
|
+
#* :block_gaps = gaps between the rendered blocks - calculated internally by Bio::Graphics::Page object
|
359
|
+
#* :gap_marker = style of the line between blocks - either angled or straight
|
360
|
+
#* :x = x coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
361
|
+
#* :y = y coordinate of the feature in pixels, usually added by the Bio::Graphics::Page object
|
362
|
+
#
|
363
|
+
#+returns+
|
364
|
+
#
|
365
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects
|
190
366
|
def self.transcript(args)
|
191
367
|
args = {
|
192
368
|
:height => 10,
|
@@ -279,18 +455,18 @@ attr_reader :glyphs
|
|
279
455
|
end
|
280
456
|
composite
|
281
457
|
end
|
282
|
-
|
458
|
+
|
459
|
+
#Glyph for the scale across the top of the rendered page
|
283
460
|
#
|
284
|
-
|
285
|
-
#* start = the start of the scale
|
286
|
-
#* stop = the end of the scale
|
287
|
-
#*
|
288
|
-
#* page_width = the width of the page
|
461
|
+
#== args
|
462
|
+
#* :start = the start of the scale, usually added by the Bio::Graphics::Page object
|
463
|
+
#* :stop = the end of the scale, usually added by the Bio::Graphics::Page object
|
464
|
+
#* :number_of_intervals = the number of tick-marks the scale will marked with
|
465
|
+
#* :page_width = the minimum width of the page, usually updated by the Bio::Graphics::Page object
|
289
466
|
#
|
290
467
|
#+returns+
|
291
468
|
#
|
292
|
-
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Primitive objects (of type 'line', 'rectangle' and 'text')
|
293
|
-
|
469
|
+
#* An Array[http://www.ruby-doc.org/core-2.0/Array.html] of Bio::Graphic::Primitive objects (of type 'line', 'rectangle' and 'text')
|
294
470
|
def self.scale(args)
|
295
471
|
first_mark = args[:start]
|
296
472
|
last_mark = args[:stop]
|
@@ -327,15 +503,15 @@ attr_reader :glyphs
|
|
327
503
|
end
|
328
504
|
return a
|
329
505
|
end
|
506
|
+
|
330
507
|
#Creates a label Glyph to write text
|
331
508
|
#
|
332
509
|
#+args+
|
333
|
-
#* text = the text to write
|
334
|
-
#* fill = the colour of the text ("black")
|
335
|
-
#* style = the style of writing ("font-family:monospace;")
|
336
|
-
#* x = the co-ordinates of the Glyph for the x-axis
|
337
|
-
#* y = the co-ordinates of the Glyph for the y-axis
|
338
|
-
|
510
|
+
#* :text = the text to write
|
511
|
+
#* :fill = the colour of the text ("black")
|
512
|
+
#* :style = the style of writing ("font-family:monospace;")
|
513
|
+
#* :x = the co-ordinates of the Glyph for the x-axis
|
514
|
+
#* :y = the co-ordinates of the Glyph for the y-axis
|
339
515
|
def self.label(args)
|
340
516
|
[Bio::Graphics::Primitive.new(:text,
|
341
517
|
:text => args[:text],
|
@@ -344,26 +520,17 @@ attr_reader :glyphs
|
|
344
520
|
:fill => "black",
|
345
521
|
:style => "font-family:monospace;")]
|
346
522
|
end
|
523
|
+
|
347
524
|
#The list of pre-defined gradients
|
348
525
|
def self.gradients #needs to know which of its gradients are predefined
|
349
526
|
[:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
350
527
|
end
|
351
528
|
|
352
|
-
#Sets the the type (linear or radial) and
|
353
|
-
#along with the pertinent parameters for that type
|
529
|
+
#Sets the the type (linear or radial) and colours for a pre-defined gradient
|
354
530
|
#
|
355
|
-
|
356
|
-
#* gradient = a pre-defined gradient
|
357
|
-
#
|
358
|
-
#* red_white_h
|
359
|
-
#* green_white_h
|
360
|
-
#* blue_white_h
|
361
|
-
#* yellow_white_h
|
362
|
-
#* red_white_radial
|
363
|
-
#* green_white_radial
|
364
|
-
#* blue_white_radial
|
365
|
-
#* yellow_white_radial
|
366
|
-
|
531
|
+
#== args
|
532
|
+
#* gradient = a pre-defined gradient type, one of
|
533
|
+
# [:red_white_h, :green_white_h, :blue_white_h, :yellow_white_h, :red_white_radial, :green_white_radial, :blue_white_radial, :yellow_white_radial ]
|
367
534
|
def self.gradient(gradient)
|
368
535
|
type, color = case gradient
|
369
536
|
when :red_white_h
|