bio-svgenes 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. data/.DS_Store +0 -0
  2. data/VERSION +1 -1
  3. data/bio-svgenes.gemspec +59 -4
  4. data/doc/.DS_Store +0 -0
  5. data/doc/Bio.html +141 -0
  6. data/doc/Bio/.DS_Store +0 -0
  7. data/doc/Bio/Graphics.html +147 -0
  8. data/doc/Bio/Graphics/Glyph.html +1061 -0
  9. data/doc/Bio/Graphics/MiniFeature.html +342 -0
  10. data/doc/Bio/Graphics/Page.html +1200 -0
  11. data/doc/Bio/Graphics/Primitive.html +278 -0
  12. data/doc/Bio/Graphics/SVGEE.html +471 -0
  13. data/doc/Bio/Graphics/Track.html +506 -0
  14. data/doc/LICENSE_txt.html +118 -0
  15. data/doc/created.rid +9 -0
  16. data/doc/images/add.png +0 -0
  17. data/doc/images/arrow_up.png +0 -0
  18. data/doc/images/brick.png +0 -0
  19. data/doc/images/brick_link.png +0 -0
  20. data/doc/images/bug.png +0 -0
  21. data/doc/images/bullet_black.png +0 -0
  22. data/doc/images/bullet_toggle_minus.png +0 -0
  23. data/doc/images/bullet_toggle_plus.png +0 -0
  24. data/doc/images/date.png +0 -0
  25. data/doc/images/delete.png +0 -0
  26. data/doc/images/find.png +0 -0
  27. data/doc/images/loadingAnimation.gif +0 -0
  28. data/doc/images/macFFBgHack.png +0 -0
  29. data/doc/images/package.png +0 -0
  30. data/doc/images/page_green.png +0 -0
  31. data/doc/images/page_white_text.png +0 -0
  32. data/doc/images/page_white_width.png +0 -0
  33. data/doc/images/plugin.png +0 -0
  34. data/doc/images/ruby.png +0 -0
  35. data/doc/images/tag_blue.png +0 -0
  36. data/doc/images/tag_green.png +0 -0
  37. data/doc/images/transparent.png +0 -0
  38. data/doc/images/wrench.png +0 -0
  39. data/doc/images/wrench_orange.png +0 -0
  40. data/doc/images/zoom.png +0 -0
  41. data/doc/index.html +94 -0
  42. data/doc/js/darkfish.js +155 -0
  43. data/doc/js/jquery.js +18 -0
  44. data/doc/js/navigation.js +142 -0
  45. data/doc/js/search.js +94 -0
  46. data/doc/js/search_index.js +1 -0
  47. data/doc/js/searcher.js +228 -0
  48. data/doc/rdoc.css +595 -0
  49. data/doc/table_of_contents.html +162 -0
  50. data/test/gene.gff +4 -0
  51. data/test/json_config.json +17 -0
  52. data/test/test_glyph.rb +33 -0
  53. data/test/test_mini_feature.rb +37 -0
  54. data/test/test_page.rb +127 -0
  55. data/test/test_primitive.rb +45 -0
  56. data/test/test_svgee.rb +73 -0
  57. data/test/test_track.rb +53 -0
  58. data/test/test_transcripts.gff +4 -0
  59. metadata +94 -14
data/.DS_Store CHANGED
Binary file
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.3.0
data/bio-svgenes.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bio-svgenes"
8
- s.version = "0.2.3"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dan MacLean"]
12
- s.date = "2013-01-30"
12
+ s.date = "2013-03-04"
13
13
  s.description = "This bio-gem facilitates the creation of pretty, publication quality SVG images from feature data."
14
14
  s.email = "maclean.daniel@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -26,6 +26,52 @@ Gem::Specification.new do |s|
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "bio-svgenes.gemspec",
29
+ "doc/.DS_Store",
30
+ "doc/Bio.html",
31
+ "doc/Bio/.DS_Store",
32
+ "doc/Bio/Graphics.html",
33
+ "doc/Bio/Graphics/Glyph.html",
34
+ "doc/Bio/Graphics/MiniFeature.html",
35
+ "doc/Bio/Graphics/Page.html",
36
+ "doc/Bio/Graphics/Primitive.html",
37
+ "doc/Bio/Graphics/SVGEE.html",
38
+ "doc/Bio/Graphics/Track.html",
39
+ "doc/LICENSE_txt.html",
40
+ "doc/created.rid",
41
+ "doc/images/add.png",
42
+ "doc/images/arrow_up.png",
43
+ "doc/images/brick.png",
44
+ "doc/images/brick_link.png",
45
+ "doc/images/bug.png",
46
+ "doc/images/bullet_black.png",
47
+ "doc/images/bullet_toggle_minus.png",
48
+ "doc/images/bullet_toggle_plus.png",
49
+ "doc/images/date.png",
50
+ "doc/images/delete.png",
51
+ "doc/images/find.png",
52
+ "doc/images/loadingAnimation.gif",
53
+ "doc/images/macFFBgHack.png",
54
+ "doc/images/package.png",
55
+ "doc/images/page_green.png",
56
+ "doc/images/page_white_text.png",
57
+ "doc/images/page_white_width.png",
58
+ "doc/images/plugin.png",
59
+ "doc/images/ruby.png",
60
+ "doc/images/tag_blue.png",
61
+ "doc/images/tag_green.png",
62
+ "doc/images/transparent.png",
63
+ "doc/images/wrench.png",
64
+ "doc/images/wrench_orange.png",
65
+ "doc/images/zoom.png",
66
+ "doc/index.html",
67
+ "doc/js/darkfish.js",
68
+ "doc/js/jquery.js",
69
+ "doc/js/navigation.js",
70
+ "doc/js/search.js",
71
+ "doc/js/search_index.js",
72
+ "doc/js/searcher.js",
73
+ "doc/rdoc.css",
74
+ "doc/table_of_contents.html",
29
75
  "examples/.DS_Store",
30
76
  "examples/annotate_snps.rb",
31
77
  "examples/data.txt",
@@ -49,13 +95,22 @@ Gem::Specification.new do |s|
49
95
  "lib/bio/graphics/primitive.rb",
50
96
  "lib/bio/graphics/svgee.rb",
51
97
  "lib/bio/graphics/track.rb",
98
+ "test/gene.gff",
52
99
  "test/helper.rb",
53
- "test/test_bio-svgenes.rb"
100
+ "test/json_config.json",
101
+ "test/test_bio-svgenes.rb",
102
+ "test/test_glyph.rb",
103
+ "test/test_mini_feature.rb",
104
+ "test/test_page.rb",
105
+ "test/test_primitive.rb",
106
+ "test/test_svgee.rb",
107
+ "test/test_track.rb",
108
+ "test/test_transcripts.gff"
54
109
  ]
55
110
  s.homepage = "http://github.com/danmaclean/bioruby-svgenes"
56
111
  s.licenses = ["MIT"]
57
112
  s.require_paths = ["lib"]
58
- s.rubygems_version = "1.8.10"
113
+ s.rubygems_version = "1.8.25"
59
114
  s.summary = "Create pretty SVG-format images of features, gene models and data tracks"
60
115
 
61
116
  if s.respond_to? :specification_version then
data/doc/.DS_Store ADDED
Binary file
data/doc/Bio.html ADDED
@@ -0,0 +1,141 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>module Bio - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "./";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="module">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="./index.html">Home</a>
28
+ <a href="./table_of_contents.html#classes">Classes</a>
29
+ <a href="./table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+
47
+
48
+ <div id="file-metadata">
49
+ <nav id="file-list-section" class="section">
50
+ <h3 class="section-header">Defined In</h3>
51
+ <ul>
52
+ <li>lib/bio/graphics/glyph.rb
53
+ <li>lib/bio/graphics/mini_feature.rb
54
+ <li>lib/bio/graphics/page.rb
55
+ <li>lib/bio/graphics/primitive.rb
56
+ <li>lib/bio/graphics/svgee.rb
57
+ <li>lib/bio/graphics/track.rb
58
+ </ul>
59
+ </nav>
60
+
61
+
62
+ </div>
63
+
64
+ <div id="class-metadata">
65
+
66
+
67
+
68
+
69
+
70
+ </div>
71
+
72
+ <div id="project-metadata">
73
+ <nav id="fileindex-section" class="section project-section">
74
+ <h3 class="section-header">Pages</h3>
75
+
76
+ <ul>
77
+
78
+ <li class="file"><a href="./LICENSE_txt.html">LICENSE</a>
79
+
80
+ </ul>
81
+ </nav>
82
+
83
+ <nav id="classindex-section" class="section project-section">
84
+ <h3 class="section-header">Class and Module Index</h3>
85
+
86
+ <ul class="link-list">
87
+
88
+ <li><a href="./Bio.html">Bio</a>
89
+
90
+ <li><a href="./Bio/Graphics.html">Bio::Graphics</a>
91
+
92
+ <li><a href="./Bio/Graphics/Glyph.html">Bio::Graphics::Glyph</a>
93
+
94
+ <li><a href="./Bio/Graphics/MiniFeature.html">Bio::Graphics::MiniFeature</a>
95
+
96
+ <li><a href="./Bio/Graphics/Page.html">Bio::Graphics::Page</a>
97
+
98
+ <li><a href="./Bio/Graphics/Primitive.html">Bio::Graphics::Primitive</a>
99
+
100
+ <li><a href="./Bio/Graphics/SVGEE.html">Bio::Graphics::SVGEE</a>
101
+
102
+ <li><a href="./Bio/Graphics/Track.html">Bio::Graphics::Track</a>
103
+
104
+ </ul>
105
+ </nav>
106
+
107
+ </div>
108
+ </nav>
109
+
110
+ <div id="documentation">
111
+ <h1 class="module">module Bio</h1>
112
+
113
+ <div id="description" class="description">
114
+
115
+ </div><!-- description -->
116
+
117
+
118
+
119
+
120
+ <section id="5Buntitled-5D" class="documentation-section">
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ <!-- Methods -->
130
+
131
+ </section><!-- 5Buntitled-5D -->
132
+
133
+ </div><!-- documentation -->
134
+
135
+
136
+ <footer id="validator-badges">
137
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
138
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.rc.2.1.
139
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
140
+ </footer>
141
+
data/doc/Bio/.DS_Store ADDED
Binary file
@@ -0,0 +1,147 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class Bio::Graphics - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../index.html">Home</a>
28
+ <a href="../table_of_contents.html#classes">Classes</a>
29
+ <a href="../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+
47
+
48
+ <div id="file-metadata">
49
+ <nav id="file-list-section" class="section">
50
+ <h3 class="section-header">Defined In</h3>
51
+ <ul>
52
+ <li>lib/bio/graphics/glyph.rb
53
+ <li>lib/bio/graphics/mini_feature.rb
54
+ <li>lib/bio/graphics/page.rb
55
+ <li>lib/bio/graphics/primitive.rb
56
+ <li>lib/bio/graphics/svgee.rb
57
+ <li>lib/bio/graphics/track.rb
58
+ </ul>
59
+ </nav>
60
+
61
+
62
+ </div>
63
+
64
+ <div id="class-metadata">
65
+
66
+ <nav id="parent-class-section" class="section">
67
+ <h3 class="section-header">Parent</h3>
68
+
69
+ <p class="link">Object
70
+
71
+ </nav>
72
+
73
+
74
+
75
+
76
+ </div>
77
+
78
+ <div id="project-metadata">
79
+ <nav id="fileindex-section" class="section project-section">
80
+ <h3 class="section-header">Pages</h3>
81
+
82
+ <ul>
83
+
84
+ <li class="file"><a href="../LICENSE_txt.html">LICENSE</a>
85
+
86
+ </ul>
87
+ </nav>
88
+
89
+ <nav id="classindex-section" class="section project-section">
90
+ <h3 class="section-header">Class and Module Index</h3>
91
+
92
+ <ul class="link-list">
93
+
94
+ <li><a href="../Bio.html">Bio</a>
95
+
96
+ <li><a href="../Bio/Graphics.html">Bio::Graphics</a>
97
+
98
+ <li><a href="../Bio/Graphics/Glyph.html">Bio::Graphics::Glyph</a>
99
+
100
+ <li><a href="../Bio/Graphics/MiniFeature.html">Bio::Graphics::MiniFeature</a>
101
+
102
+ <li><a href="../Bio/Graphics/Page.html">Bio::Graphics::Page</a>
103
+
104
+ <li><a href="../Bio/Graphics/Primitive.html">Bio::Graphics::Primitive</a>
105
+
106
+ <li><a href="../Bio/Graphics/SVGEE.html">Bio::Graphics::SVGEE</a>
107
+
108
+ <li><a href="../Bio/Graphics/Track.html">Bio::Graphics::Track</a>
109
+
110
+ </ul>
111
+ </nav>
112
+
113
+ </div>
114
+ </nav>
115
+
116
+ <div id="documentation">
117
+ <h1 class="class">class Bio::Graphics</h1>
118
+
119
+ <div id="description" class="description">
120
+
121
+ </div><!-- description -->
122
+
123
+
124
+
125
+
126
+ <section id="5Buntitled-5D" class="documentation-section">
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+ <!-- Methods -->
136
+
137
+ </section><!-- 5Buntitled-5D -->
138
+
139
+ </div><!-- documentation -->
140
+
141
+
142
+ <footer id="validator-badges">
143
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
144
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.rc.2.1.
145
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
146
+ </footer>
147
+
@@ -0,0 +1,1061 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class Bio::Graphics::Glyph - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../../index.html">Home</a>
28
+ <a href="../../table_of_contents.html#classes">Classes</a>
29
+ <a href="../../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+
47
+
48
+ <div id="file-metadata">
49
+ <nav id="file-list-section" class="section">
50
+ <h3 class="section-header">Defined In</h3>
51
+ <ul>
52
+ <li>lib/bio/graphics/glyph.rb
53
+ </ul>
54
+ </nav>
55
+
56
+
57
+ </div>
58
+
59
+ <div id="class-metadata">
60
+
61
+ <nav id="parent-class-section" class="section">
62
+ <h3 class="section-header">Parent</h3>
63
+
64
+ <p class="link">Object
65
+
66
+ </nav>
67
+
68
+
69
+
70
+ <!-- Method Quickref -->
71
+ <nav id="method-list-section" class="section">
72
+ <h3 class="section-header">Methods</h3>
73
+
74
+ <ul class="link-list">
75
+
76
+ <li ><a href="#method-c-circle">::circle</a>
77
+
78
+ <li ><a href="#method-c-directed">::directed</a>
79
+
80
+ <li ><a href="#method-c-down_triangle">::down_triangle</a>
81
+
82
+ <li ><a href="#method-c-generic">::generic</a>
83
+
84
+ <li ><a href="#method-c-gradient">::gradient</a>
85
+
86
+ <li ><a href="#method-c-gradients">::gradients</a>
87
+
88
+ <li ><a href="#method-c-label">::label</a>
89
+
90
+ <li ><a href="#method-c-scale">::scale</a>
91
+
92
+ <li ><a href="#method-c-span">::span</a>
93
+
94
+ <li ><a href="#method-c-transcript">::transcript</a>
95
+
96
+ <li ><a href="#method-c-up_triangle">::up_triangle</a>
97
+
98
+ </ul>
99
+ </nav>
100
+
101
+ </div>
102
+
103
+ <div id="project-metadata">
104
+ <nav id="fileindex-section" class="section project-section">
105
+ <h3 class="section-header">Pages</h3>
106
+
107
+ <ul>
108
+
109
+ <li class="file"><a href="../../LICENSE_txt.html">LICENSE</a>
110
+
111
+ </ul>
112
+ </nav>
113
+
114
+ <nav id="classindex-section" class="section project-section">
115
+ <h3 class="section-header">Class and Module Index</h3>
116
+
117
+ <ul class="link-list">
118
+
119
+ <li><a href="../../Bio.html">Bio</a>
120
+
121
+ <li><a href="../../Bio/Graphics.html">Bio::Graphics</a>
122
+
123
+ <li><a href="../../Bio/Graphics/Glyph.html">Bio::Graphics::Glyph</a>
124
+
125
+ <li><a href="../../Bio/Graphics/MiniFeature.html">Bio::Graphics::MiniFeature</a>
126
+
127
+ <li><a href="../../Bio/Graphics/Page.html">Bio::Graphics::Page</a>
128
+
129
+ <li><a href="../../Bio/Graphics/Primitive.html">Bio::Graphics::Primitive</a>
130
+
131
+ <li><a href="../../Bio/Graphics/SVGEE.html">Bio::Graphics::SVGEE</a>
132
+
133
+ <li><a href="../../Bio/Graphics/Track.html">Bio::Graphics::Track</a>
134
+
135
+ </ul>
136
+ </nav>
137
+
138
+ </div>
139
+ </nav>
140
+
141
+ <div id="documentation">
142
+ <h1 class="class">class Bio::Graphics::Glyph</h1>
143
+
144
+ <div id="description" class="description">
145
+
146
+ <p>A <a href="Glyph.html">Glyph</a> is an array of <a
147
+ href="Primitive.html">Primitive</a> objects, holding information about the
148
+ type of <a href="Glyph.html">Glyph</a> being created. Each different type
149
+ of <a href="Glyph.html">Glyph</a> has different arguments, pertaining to
150
+ how the <a href="Glyph.html">Glyph</a> will be drawn and the parameters
151
+ provided to <a href="SVGEE.html">SVGEE</a>.</p>
152
+
153
+ </div><!-- description -->
154
+
155
+
156
+
157
+
158
+ <section id="5Buntitled-5D" class="documentation-section">
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+ <!-- Attributes -->
167
+ <section id="attribute-method-details" class="method-section section">
168
+ <h3 class="section-header">Attributes</h3>
169
+
170
+
171
+ <div id="attribute-i-glyphs" class="method-detail">
172
+ <div class="method-heading attribute-method-heading">
173
+ <span class="method-name">glyphs</span><span
174
+ class="attribute-access-type">[R]</span>
175
+ </div>
176
+
177
+ <div class="method-description">
178
+
179
+ <p>The different type of Glyphs are:</p>
180
+ <ul><li>
181
+ <p>generic</p>
182
+ </li><li>
183
+ <p>circle</p>
184
+ </li><li>
185
+ <p>directed</p>
186
+ </li><li>
187
+ <p>down_triangle</p>
188
+ </li><li>
189
+ <p>up_triangle</p>
190
+ </li><li>
191
+ <p>span</p>
192
+ </li><li>
193
+ <p>transcript</p>
194
+ </li><li>
195
+ <p>scale</p>
196
+ </li><li>
197
+ <p>label</p>
198
+ </li><li>
199
+ <p>histogram</p>
200
+ </li></ul>
201
+
202
+ </div>
203
+ </div>
204
+
205
+ </section><!-- attribute-method-details -->
206
+
207
+
208
+ <!-- Methods -->
209
+
210
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
211
+ <h3 class="section-header">Public Class Methods</h3>
212
+
213
+
214
+ <div id="method-c-circle" class="method-detail ">
215
+
216
+ <div class="method-heading">
217
+ <span class="method-name">circle</span><span
218
+ class="method-args">(args)</span>
219
+
220
+ <span class="method-click-advice">click to toggle source</span>
221
+
222
+ </div>
223
+
224
+
225
+ <div class="method-description">
226
+
227
+ <p>Creates a circular <a href="Glyph.html">Glyph</a></p>
228
+
229
+ <p><code>args</code></p>
230
+ <ul><li>
231
+ <p>radius = the radius of the circle (10)</p>
232
+ </li><li>
233
+ <p>fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
234
+ (‘red’)</p>
235
+ </li><li>
236
+ <p>stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
237
+ (“black”)</p>
238
+ </li><li>
239
+ <p>stroke_width = The width of the outline stroke (1)</p>
240
+ </li><li>
241
+ <p>style = the opacity of the fill color</p>
242
+ </li><li>
243
+ <p>x = x-axis centre of the circle</p>
244
+ </li><li>
245
+ <p>y = y-axis centre of the circle</p>
246
+ </li></ul>
247
+
248
+
249
+
250
+
251
+ <div class="method-source-code" id="circle-source">
252
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 60</span>
253
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">circle</span>(<span class="ruby-identifier">args</span>)
254
+ <span class="ruby-identifier">args</span> = {
255
+ <span class="ruby-value">:radius</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
256
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
257
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
258
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
259
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;&quot;</span>}.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
260
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:x_center</span>] = <span class="ruby-identifier">args</span>[<span class="ruby-value">:x</span>]
261
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:y_center</span>] = <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>]
262
+ [<span class="ruby-value">:x</span>, <span class="ruby-value">:y</span>].<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">e</span>)}
263
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:circle</span>, <span class="ruby-identifier">args</span>)]
264
+ <span class="ruby-keyword">end</span></pre>
265
+ </div><!-- circle-source -->
266
+
267
+ </div>
268
+
269
+
270
+
271
+
272
+ </div><!-- circle-method -->
273
+
274
+
275
+ <div id="method-c-directed" class="method-detail ">
276
+
277
+ <div class="method-heading">
278
+ <span class="method-name">directed</span><span
279
+ class="method-args">(args)</span>
280
+
281
+ <span class="method-click-advice">click to toggle source</span>
282
+
283
+ </div>
284
+
285
+
286
+ <div class="method-description">
287
+
288
+ <p>Creates a polygon <a href="Glyph.html">Glyph</a> to indicate the direction
289
+ in which the <a href="Glyph.html">Glyph</a> is pointing <code>args</code></p>
290
+ <ul><li>
291
+ <p>width = the width of the feature</p>
292
+ </li><li>
293
+ <p>fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
294
+ (‘red’)</p>
295
+ </li><li>
296
+ <p>stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
297
+ (“black”)</p>
298
+ </li><li>
299
+ <p>stroke_width = The width of the outline stroke (1)</p>
300
+ </li><li>
301
+ <p>style = the opacity of the fill color</p>
302
+ </li><li>
303
+ <p>strand = the strand on which the <a href="Glyph.html">Glyph</a> is located.
304
+ May be ‘+’ or ‘-’</p>
305
+ </li><li>
306
+ <p>points = the x and y axis points used to calculate the shape of the polygon</p>
307
+ </li><li>
308
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
309
+ </li><li>
310
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
311
+ </li></ul>
312
+
313
+ <p>The points of the polygon are calculated form the <code>x</code> and
314
+ <code>y</code> co-ordinates</p>
315
+
316
+
317
+
318
+
319
+ <div class="method-source-code" id="directed-source">
320
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 85</span>
321
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">directed</span>(<span class="ruby-identifier">args</span>) <span class="ruby-comment">#:x, :y, :width :fill, :stroke :stroke_width, :style, :height</span>
322
+ <span class="ruby-identifier">args</span> = {
323
+
324
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
325
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
326
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
327
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
328
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;fill-opacity:0.4;&quot;</span>}.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
329
+
330
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:strand</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'-'</span>
331
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:points</span>] = <span class="ruby-node">&quot;#{args[:x]},#{args[:y]} #{args[:x] + args[:width]},#{args[:y]} #{args[:x] + args[:width]},#{args[:y] + args[:height] } #{args[:x]},#{args[:y] + (args[:height])} #{args[:x] - (args[:height] * 0.2)},#{args[:y] + (args[:height]/2)}&quot;</span>
332
+ <span class="ruby-keyword">else</span>
333
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:points</span>] = <span class="ruby-node">&quot;#{args[:x]},#{args[:y]} #{args[:x] + args[:width] - (args[:height] * 0.2)},#{args[:y]} #{args[:x] + args[:width]},#{args[:y] + (args[:height]/2) } #{args[:x] + args[:width] - (args[:height] * 0.2)},#{args[:y] + args[:height]} #{args[:x]},#{args[:y] + args[:height]}&quot;</span>
334
+
335
+ <span class="ruby-keyword">end</span>
336
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:polygon</span>, <span class="ruby-identifier">args</span>)]
337
+ <span class="ruby-keyword">end</span></pre>
338
+ </div><!-- directed-source -->
339
+
340
+ </div>
341
+
342
+
343
+
344
+
345
+ </div><!-- directed-method -->
346
+
347
+
348
+ <div id="method-c-down_triangle" class="method-detail ">
349
+
350
+ <div class="method-heading">
351
+ <span class="method-name">down_triangle</span><span
352
+ class="method-args">(args)</span>
353
+
354
+ <span class="method-click-advice">click to toggle source</span>
355
+
356
+ </div>
357
+
358
+
359
+ <div class="method-description">
360
+
361
+ <p>Creates a polygon <a href="Glyph.html">Glyph</a> for a downward-pointing
362
+ triangle <code>args</code></p>
363
+ <ul><li>
364
+ <p>height = the height of the <a href="Glyph.html">Glyph</a> (10)</p>
365
+ </li><li>
366
+ <p>fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
367
+ (‘red’)</p>
368
+ </li><li>
369
+ <p>stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
370
+ (“black”)</p>
371
+ </li><li>
372
+ <p>stroke_width = The width of the outline stroke (1)</p>
373
+ </li><li>
374
+ <p>style = the opacity of the fill color (“fill-opacity:0.4;”)</p>
375
+ </li><li>
376
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
377
+ </li><li>
378
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
379
+ </li></ul>
380
+
381
+ <p>The points of the triangle are calculated form the <code>x</code> and
382
+ <code>y</code> co-ordinates</p>
383
+
384
+
385
+
386
+
387
+ <div class="method-source-code" id="down_triangle-source">
388
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 113</span>
389
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">down_triangle</span>(<span class="ruby-identifier">args</span>) <span class="ruby-comment">#:x, :y, :width :fill, :stroke :stroke_width, :style, :height</span>
390
+ <span class="ruby-identifier">args</span> = {
391
+
392
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
393
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
394
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
395
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
396
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;fill-opacity:0.4;&quot;</span>}.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
397
+
398
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:points</span>] = <span class="ruby-node">&quot;#{args[:x]},#{args[:y]} #{args[:x] + args[:width]},#{args[:y]} #{ args[:x] + (args[:width]/2) },#{(args[:y] + args[:height]) }&quot;</span>
399
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:polygon</span>, <span class="ruby-identifier">args</span>)]
400
+ <span class="ruby-keyword">end</span></pre>
401
+ </div><!-- down_triangle-source -->
402
+
403
+ </div>
404
+
405
+
406
+
407
+
408
+ </div><!-- down_triangle-method -->
409
+
410
+
411
+ <div id="method-c-generic" class="method-detail ">
412
+
413
+ <div class="method-heading">
414
+ <span class="method-name">generic</span><span
415
+ class="method-args">(args)</span>
416
+
417
+ <span class="method-click-advice">click to toggle source</span>
418
+
419
+ </div>
420
+
421
+
422
+ <div class="method-description">
423
+
424
+ <p>Creates a generic glyph, which is a rectangle</p>
425
+
426
+ <p><code>args</code></p>
427
+ <ul><li>
428
+ <p>height = the height of the <a href="Glyph.html">Glyph</a> (10)</p>
429
+ </li><li>
430
+ <p>fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
431
+ (‘red’)</p>
432
+ </li><li>
433
+ <p>stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
434
+ (“black”)</p>
435
+ </li><li>
436
+ <p>stroke_width = The width of the outline stroke (1)</p>
437
+ </li><li>
438
+ <p>x_round = x-axis radius of the ellipse used to round off the corners of the
439
+ rectangle (1)</p>
440
+ </li><li>
441
+ <p>y_round = y-axis radius of the ellipse used to round off the corners of the
442
+ rectangle (1)</p>
443
+ </li><li>
444
+ <p>style = the opacity of the fill color (“fill-opacity:0.4;”)</p>
445
+ </li><li>
446
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
447
+ </li><li>
448
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
449
+ </li></ul>
450
+
451
+
452
+
453
+
454
+ <div class="method-source-code" id="generic-source">
455
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 37</span>
456
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">generic</span>(<span class="ruby-identifier">args</span>) <span class="ruby-comment">#:x, :y, :width :fill, :stroke :stroke_width, :style, :height, </span>
457
+ <span class="ruby-identifier">args</span> = {
458
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
459
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
460
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
461
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
462
+ <span class="ruby-value">:x_round</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
463
+ <span class="ruby-value">:y_round</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
464
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;fill-opacity:0.4;&quot;</span>}.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
465
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:rectangle</span>, <span class="ruby-identifier">args</span>)]
466
+ <span class="ruby-keyword">end</span></pre>
467
+ </div><!-- generic-source -->
468
+
469
+ </div>
470
+
471
+
472
+
473
+
474
+ </div><!-- generic-method -->
475
+
476
+
477
+ <div id="method-c-gradient" class="method-detail ">
478
+
479
+ <div class="method-heading">
480
+ <span class="method-name">gradient</span><span
481
+ class="method-args">(gradient)</span>
482
+
483
+ <span class="method-click-advice">click to toggle source</span>
484
+
485
+ </div>
486
+
487
+
488
+ <div class="method-description">
489
+
490
+ <p>Sets the the type (linear or radial) and colour of gradient for a
491
+ pre-defined gradient along with the pertinent parameters for that type</p>
492
+
493
+ <p><code>args</code></p>
494
+ <ul><li>
495
+ <p>gradient = a pre-defined gradient</p>
496
+ </li></ul>
497
+
498
+ <p>The types of gradient are:</p>
499
+ <ul><li>
500
+ <p>red_white_h</p>
501
+ </li><li>
502
+ <p>green_white_h</p>
503
+ </li><li>
504
+ <p>blue_white_h</p>
505
+ </li><li>
506
+ <p>yellow_white_h</p>
507
+ </li><li>
508
+ <p>red_white_radial</p>
509
+ </li><li>
510
+ <p>green_white_radial</p>
511
+ </li><li>
512
+ <p>blue_white_radial</p>
513
+ </li><li>
514
+ <p>yellow_white_radial</p>
515
+ </li></ul>
516
+
517
+
518
+
519
+
520
+ <div class="method-source-code" id="gradient-source">
521
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 367</span>
522
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">gradient</span>(<span class="ruby-identifier">gradient</span>)
523
+ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">color</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">gradient</span>
524
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:red_white_h</span>
525
+ [<span class="ruby-value">:linear</span>, <span class="ruby-string">&quot;red&quot;</span>]
526
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:green_white_h</span>
527
+ [<span class="ruby-value">:linear</span>, <span class="ruby-string">&quot;green&quot;</span>]
528
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:blue_white_h</span>
529
+ [<span class="ruby-value">:linear</span>, <span class="ruby-string">&quot;blue&quot;</span>]
530
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:yellow_white_h</span>
531
+ [<span class="ruby-value">:linear</span>, <span class="ruby-string">&quot;yellow&quot;</span>]
532
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:red_white_radial</span>
533
+ [<span class="ruby-value">:radial</span>, <span class="ruby-string">&quot;red&quot;</span>]
534
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:green_white_radial</span>
535
+ [<span class="ruby-value">:radial</span>, <span class="ruby-string">&quot;green&quot;</span>]
536
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:blue_white_radial</span>
537
+ [<span class="ruby-value">:radial</span>, <span class="ruby-string">&quot;blue&quot;</span>]
538
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:yellow_white_radial</span>
539
+ [<span class="ruby-value">:radial</span>, <span class="ruby-string">&quot;yellow&quot;</span>]
540
+ <span class="ruby-keyword">end</span>
541
+
542
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
543
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:linear</span>
544
+ {<span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:linear</span>,
545
+ <span class="ruby-value">:id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">gradient</span>,
546
+ <span class="ruby-value">:x1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-value">:y1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>,
547
+ <span class="ruby-value">:x2</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-value">:y2</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">100</span>,
548
+ <span class="ruby-value">:stops</span> =<span class="ruby-operator">&gt;</span> [
549
+ {
550
+ <span class="ruby-value">:color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">color</span>,
551
+ <span class="ruby-value">:offset</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>,
552
+ <span class="ruby-value">:opacity=</span><span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
553
+ },
554
+ {
555
+ <span class="ruby-value">:color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;white&quot;</span>,
556
+ <span class="ruby-value">:offset</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">100</span>,
557
+ <span class="ruby-value">:opacity=</span><span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
558
+ }
559
+ ]
560
+ }
561
+ <span class="ruby-keyword">when</span> <span class="ruby-value">:radial</span>
562
+ {
563
+ <span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:radial</span>,
564
+ <span class="ruby-value">:id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">gradient</span>,
565
+ <span class="ruby-value">:cx</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">50</span>, <span class="ruby-value">:cy</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">50</span>,
566
+ <span class="ruby-value">:r</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">50</span>, <span class="ruby-value">:fx</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">50</span>, <span class="ruby-value">:fy</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">50</span>,
567
+ <span class="ruby-value">:stops</span> =<span class="ruby-operator">&gt;</span> [
568
+ {<span class="ruby-value">:offset</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>,
569
+ <span class="ruby-value">:color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;white&quot;</span>,
570
+ <span class="ruby-value">:opacity</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
571
+ },
572
+ {
573
+ <span class="ruby-value">:offset</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">100</span>,
574
+ <span class="ruby-value">:color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">color</span>,
575
+ <span class="ruby-value">:opacity</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
576
+ }
577
+ ]
578
+ }
579
+ <span class="ruby-keyword">end</span>
580
+
581
+ <span class="ruby-keyword">end</span></pre>
582
+ </div><!-- gradient-source -->
583
+
584
+ </div>
585
+
586
+
587
+
588
+
589
+ </div><!-- gradient-method -->
590
+
591
+
592
+ <div id="method-c-gradients" class="method-detail ">
593
+
594
+ <div class="method-heading">
595
+ <span class="method-name">gradients</span><span
596
+ class="method-args">()</span>
597
+
598
+ <span class="method-click-advice">click to toggle source</span>
599
+
600
+ </div>
601
+
602
+
603
+ <div class="method-description">
604
+
605
+ <p>The list of pre-defined gradients</p>
606
+
607
+
608
+
609
+
610
+ <div class="method-source-code" id="gradients-source">
611
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 348</span>
612
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">gradients</span> <span class="ruby-comment">#needs to know which of its gradients are predefined</span>
613
+ [<span class="ruby-value">:red_white_h</span>, <span class="ruby-value">:green_white_h</span>, <span class="ruby-value">:blue_white_h</span>, <span class="ruby-value">:yellow_white_h</span>, <span class="ruby-value">:red_white_radial</span>, <span class="ruby-value">:green_white_radial</span>, <span class="ruby-value">:blue_white_radial</span>, <span class="ruby-value">:yellow_white_radial</span> ]
614
+ <span class="ruby-keyword">end</span></pre>
615
+ </div><!-- gradients-source -->
616
+
617
+ </div>
618
+
619
+
620
+
621
+
622
+ </div><!-- gradients-method -->
623
+
624
+
625
+ <div id="method-c-label" class="method-detail ">
626
+
627
+ <div class="method-heading">
628
+ <span class="method-name">label</span><span
629
+ class="method-args">(args)</span>
630
+
631
+ <span class="method-click-advice">click to toggle source</span>
632
+
633
+ </div>
634
+
635
+
636
+ <div class="method-description">
637
+
638
+ <p>Creates a label <a href="Glyph.html">Glyph</a> to write text</p>
639
+
640
+ <p><code>args</code></p>
641
+ <ul><li>
642
+ <p>text = the text to write</p>
643
+ </li><li>
644
+ <p>fill = the colour of the text (“black”)</p>
645
+ </li><li>
646
+ <p>style = the style of writing (“font-family:monospace;”)</p>
647
+ </li><li>
648
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
649
+ </li><li>
650
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
651
+ </li></ul>
652
+
653
+
654
+
655
+
656
+ <div class="method-source-code" id="label-source">
657
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 339</span>
658
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">label</span>(<span class="ruby-identifier">args</span>)
659
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:text</span>,
660
+ <span class="ruby-value">:text</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:text</span>],
661
+ <span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:x</span>],
662
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>],
663
+ <span class="ruby-value">:fill</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
664
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;font-family:monospace;&quot;</span>)]
665
+ <span class="ruby-keyword">end</span></pre>
666
+ </div><!-- label-source -->
667
+
668
+ </div>
669
+
670
+
671
+
672
+
673
+ </div><!-- label-method -->
674
+
675
+
676
+ <div id="method-c-scale" class="method-detail ">
677
+
678
+ <div class="method-heading">
679
+ <span class="method-name">scale</span><span
680
+ class="method-args">(args)</span>
681
+
682
+ <span class="method-click-advice">click to toggle source</span>
683
+
684
+ </div>
685
+
686
+
687
+ <div class="method-description">
688
+
689
+ <p>Creates the scale across the top of the SVG page</p>
690
+
691
+ <p><code>args</code></p>
692
+ <ul><li>
693
+ <p>start = the start of the scale</p>
694
+ </li><li>
695
+ <p>stop = the end of the scale</p>
696
+ </li><li>
697
+ <p>number_of_intervals = the number of tick-marks on the scale to show the
698
+ current position</p>
699
+ </li><li>
700
+ <p>page_width = the width of the page</p>
701
+ </li></ul>
702
+
703
+ <p><code>returns</code></p>
704
+ <ul><li>
705
+ <p>An <a href="http://www.ruby-doc.org/core-2.0/Array.html">Array</a> of <a
706
+ href="Primitive.html">Primitive</a> objects (of type ‘line’,
707
+ ‘rectangle’ and ‘text’)</p>
708
+ </li></ul>
709
+
710
+
711
+
712
+
713
+ <div class="method-source-code" id="scale-source">
714
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 294</span>
715
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">scale</span>(<span class="ruby-identifier">args</span>)
716
+ <span class="ruby-identifier">first_mark</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">:start</span>]
717
+ <span class="ruby-identifier">last_mark</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">:stop</span>]
718
+ <span class="ruby-comment">#(num.to_f / @nt_per_px_x.to_f)</span>
719
+ <span class="ruby-identifier">full_dist</span> = <span class="ruby-identifier">last_mark</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">first_mark</span>
720
+ <span class="ruby-identifier">interval_width</span> = <span class="ruby-identifier">full_dist</span> <span class="ruby-operator">/</span> (<span class="ruby-identifier">args</span>[<span class="ruby-value">:number_of_intervals</span>] <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
721
+
722
+
723
+ <span class="ruby-identifier">a</span> = [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:line</span>,
724
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'black'</span>,
725
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
726
+ <span class="ruby-value">:x1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>, <span class="ruby-value">:x2</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:page_width</span>],<span class="ruby-comment"># * 1.1, </span>
727
+ <span class="ruby-value">:y1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;20&quot;</span>, <span class="ruby-value">:y2</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;20&quot;</span> )]
728
+
729
+
730
+ <span class="ruby-identifier">marks</span> = (<span class="ruby-identifier">first_mark</span><span class="ruby-operator">..</span><span class="ruby-identifier">last_mark</span>).<span class="ruby-identifier">step</span>(<span class="ruby-identifier">interval_width</span>).<span class="ruby-identifier">to_a</span>
731
+
732
+ <span class="ruby-identifier">px_per_nt</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">:page_width</span>].<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">full_dist</span>.<span class="ruby-identifier">to_f</span>
733
+ <span class="ruby-identifier">marks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">mark</span><span class="ruby-operator">|</span>
734
+ <span class="ruby-identifier">x</span> = (<span class="ruby-identifier">mark</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">first_mark</span> ).<span class="ruby-identifier">to_f</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">px_per_nt</span>
735
+ <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:rectangle</span>,
736
+ <span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span>,
737
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">20</span>,
738
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'black'</span>,
739
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
740
+ <span class="ruby-value">:width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
741
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">5</span> )
742
+
743
+ <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:text</span>,
744
+ <span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span>,
745
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">40</span>, <span class="ruby-value">:fill</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'black'</span>,
746
+ <span class="ruby-value">:text</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mark</span>,
747
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;font-family:Arial;font-style:italic&quot;</span>)
748
+ <span class="ruby-keyword">end</span>
749
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">a</span>
750
+ <span class="ruby-keyword">end</span></pre>
751
+ </div><!-- scale-source -->
752
+
753
+ </div>
754
+
755
+
756
+
757
+
758
+ </div><!-- scale-method -->
759
+
760
+
761
+ <div id="method-c-span" class="method-detail ">
762
+
763
+ <div class="method-heading">
764
+ <span class="method-name">span</span><span
765
+ class="method-args">(args)</span>
766
+
767
+ <span class="method-click-advice">click to toggle source</span>
768
+
769
+ </div>
770
+
771
+
772
+ <div class="method-description">
773
+
774
+ <p>Creates a span glyph, which is a line</p>
775
+
776
+ <p><code>args</code></p>
777
+ <ul><li>
778
+ <p>height = the height of the <a href="Glyph.html">Glyph</a> (10)</p>
779
+ </li><li>
780
+ <p>fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
781
+ (‘red’)</p>
782
+ </li><li>
783
+ <p>stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
784
+ (“black”)</p>
785
+ </li><li>
786
+ <p>stroke_width = The width of the outline stroke (1)</p>
787
+ </li><li>
788
+ <p>style = the opacity of the fill color (“fill-opacity:0.4;”)</p>
789
+ </li><li>
790
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
791
+ </li><li>
792
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
793
+ </li></ul>
794
+
795
+
796
+
797
+
798
+ <div class="method-source-code" id="span-source">
799
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 156</span>
800
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">span</span>(<span class="ruby-identifier">args</span>)
801
+ <span class="ruby-identifier">args</span> = {
802
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
803
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
804
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
805
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
806
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;fill-opacity:1;&quot;</span>
807
+ }.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
808
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:x1</span>] = <span class="ruby-identifier">args</span>[<span class="ruby-value">:x</span>]
809
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:x2</span>] = <span class="ruby-identifier">args</span>[<span class="ruby-value">:x</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:width</span>]
810
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:y1</span>] = <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>]
811
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:y2</span>] = <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>]
812
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:line</span>, <span class="ruby-identifier">args</span>)]
813
+ <span class="ruby-keyword">end</span></pre>
814
+ </div><!-- span-source -->
815
+
816
+ </div>
817
+
818
+
819
+
820
+
821
+ </div><!-- span-method -->
822
+
823
+
824
+ <div id="method-c-transcript" class="method-detail ">
825
+
826
+ <div class="method-heading">
827
+ <span class="method-name">transcript</span><span
828
+ class="method-args">(args)</span>
829
+
830
+ <span class="method-click-advice">click to toggle source</span>
831
+
832
+ </div>
833
+
834
+
835
+ <div class="method-description">
836
+
837
+ <p>Creates a transcript glyph, which is a number of different types of <a
838
+ href="Glyph.html">Glyph</a>, depending on the features within the
839
+ transcript</p>
840
+
841
+ <p><code>args</code></p>
842
+ <ul><li>
843
+ <p>height = the height of the <a href="Glyph.html">Glyph</a> (10)</p>
844
+ </li><li>
845
+ <p>utr_fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
846
+ (‘black’)</p>
847
+ </li><li>
848
+ <p>utr_stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
849
+ (“black”)</p>
850
+ </li><li>
851
+ <p>utr_stroke_width = The width of the outline stroke (1)</p>
852
+ </li><li>
853
+ <p>exon_fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
854
+ (‘red’)</p>
855
+ </li><li>
856
+ <p>exon_stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
857
+ (“black”)</p>
858
+ </li><li>
859
+ <p>exon_stroke_width = The width of the outline stroke (1)</p>
860
+ </li><li>
861
+ <p>line_color = the colour for any line Glyphs</p>
862
+ </li><li>
863
+ <p>line_width = the width for any line Glyphs</p>
864
+ </li><li>
865
+ <p>exon_style = the opacity of the fill color for exons
866
+ (“fill-opacity:0.4;”)</p>
867
+ </li><li>
868
+ <p>utr_style = the opacity of the fill color for utrs</p>
869
+ </li><li>
870
+ <p>line_style = the opacity of the fill color for lines</p>
871
+ </li><li>
872
+ <p>block_gaps = ****I’m not sure what these are****</p>
873
+ </li><li>
874
+ <p>gap_marker = ****I’m not sure what these are****</p>
875
+ </li><li>
876
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
877
+ </li><li>
878
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
879
+ </li></ul>
880
+
881
+
882
+
883
+
884
+ <div class="method-source-code" id="transcript-source">
885
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 190</span>
886
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">transcript</span>(<span class="ruby-identifier">args</span>)
887
+ <span class="ruby-identifier">args</span> = {
888
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
889
+ <span class="ruby-value">:utr_fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'black'</span>,
890
+ <span class="ruby-value">:utr_stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
891
+ <span class="ruby-value">:utr_stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
892
+ <span class="ruby-value">:exon_fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
893
+ <span class="ruby-value">:exon_stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
894
+ <span class="ruby-value">:exon_stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
895
+ <span class="ruby-value">:line_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'black'</span>,
896
+ <span class="ruby-value">:line_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
897
+ <span class="ruby-value">:exon_style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;fill-opacity:0.4;&quot;</span>,
898
+ <span class="ruby-value">:utr_style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;&quot;</span>,
899
+ <span class="ruby-value">:line_style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;&quot;</span>,
900
+ <span class="ruby-value">:block_gaps</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;&quot;</span>,
901
+ <span class="ruby-value">:gap_marker</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;&quot;</span>
902
+ }.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
903
+
904
+ <span class="ruby-identifier">composite</span> = []
905
+
906
+ <span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utrs</span>].<span class="ruby-identifier">empty?</span> <span class="ruby-comment">##draw the utr as terminal element...##terminal utr is the one with the point on...</span>
907
+ <span class="ruby-identifier">x</span>,<span class="ruby-identifier">width</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">:strand</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'-'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utrs</span>].<span class="ruby-identifier">shift</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utrs</span>].<span class="ruby-identifier">pop</span>
908
+ <span class="ruby-identifier">composite</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Glyph</span>.<span class="ruby-identifier">directed</span>(<span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span>,
909
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>],
910
+ <span class="ruby-value">:width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">width</span>,
911
+ <span class="ruby-value">:strand</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:strand</span>],
912
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:height</span>],
913
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_fill_color</span>],
914
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span><span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_stroke</span>],
915
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_stroke_width</span>],
916
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_style</span>] )
917
+ <span class="ruby-comment">##draw the other(s!) </span>
918
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:utrs</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">utr</span><span class="ruby-operator">|</span>
919
+ <span class="ruby-identifier">composite</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:rectangle</span>, {
920
+ <span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">utr</span>.<span class="ruby-identifier">first</span>,
921
+ <span class="ruby-value">:width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">utr</span>.<span class="ruby-identifier">last</span>,
922
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>],
923
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:height</span>],
924
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_fill_color</span>],
925
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span><span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_stroke</span>],
926
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_stroke_width</span>],
927
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:utr_style</span>]} )
928
+ <span class="ruby-keyword">end</span>
929
+ <span class="ruby-keyword">else</span> <span class="ruby-comment">## draw the terminal exon as terminal element </span>
930
+ <span class="ruby-identifier">points</span> = <span class="ruby-keyword">nil</span>
931
+ <span class="ruby-identifier">x</span>,<span class="ruby-identifier">width</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">:strand</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'-'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exons</span>].<span class="ruby-identifier">shift</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exons</span>].<span class="ruby-identifier">pop</span>
932
+ <span class="ruby-identifier">composite</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Glyph</span>.<span class="ruby-identifier">directed</span>(<span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">x</span>,
933
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>],
934
+ <span class="ruby-value">:width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">width</span>,
935
+ <span class="ruby-value">:strand</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:strand</span>],
936
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:height</span>],
937
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_fill_color</span>],
938
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span><span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_stroke</span>],
939
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_stroke_width</span>],
940
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_style</span>] )
941
+ <span class="ruby-keyword">end</span>
942
+ <span class="ruby-comment">#draw any remaining exons</span>
943
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:exons</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">exon</span><span class="ruby-operator">|</span>
944
+ <span class="ruby-identifier">composite</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:rectangle</span>, {
945
+ <span class="ruby-value">:x</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exon</span>[<span class="ruby-value">0</span>],
946
+ <span class="ruby-value">:width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exon</span>[<span class="ruby-value">1</span>],
947
+ <span class="ruby-value">:y</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>],
948
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:height</span>],
949
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_fill_color</span>],
950
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span><span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_stroke</span>],
951
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_stroke_width</span>],
952
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:exon_style</span>]} )
953
+ <span class="ruby-keyword">end</span>
954
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:gap_marker</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&quot;angled&quot;</span> <span class="ruby-keyword">and</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:block_gaps</span>].<span class="ruby-identifier">empty?</span>
955
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:block_gaps</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gap</span><span class="ruby-operator">|</span>
956
+ <span class="ruby-identifier">points</span> = <span class="ruby-node">&quot;#{gap.first},#{args[:y] + (args[:height]/2) } #{gap.first + (gap.last/2)},#{args[:y]} #{gap.first + gap.last},#{args[:y] + (args[:height]/2)}&quot;</span>
957
+ <span class="ruby-identifier">composite</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:polyline</span>, {
958
+ <span class="ruby-value">:points</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">points</span>,
959
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:line_color</span>],
960
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:line_width</span>],
961
+ <span class="ruby-value">:fill</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;none&quot;</span>,
962
+ <span class="ruby-value">:line_style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:line_style</span>]})
963
+ <span class="ruby-keyword">end</span>
964
+ <span class="ruby-keyword">else</span>
965
+ <span class="ruby-comment">#add line</span>
966
+ <span class="ruby-identifier">composite</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:line</span>, {
967
+ <span class="ruby-value">:x1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:x</span>],
968
+ <span class="ruby-value">:x2</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{args[:x] + args[:width]}&quot;</span>,
969
+ <span class="ruby-value">:y1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>] <span class="ruby-operator">+</span> (<span class="ruby-identifier">args</span>[<span class="ruby-value">:height</span>]<span class="ruby-operator">/</span><span class="ruby-value">2</span>),
970
+ <span class="ruby-value">:y2</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:y</span>] <span class="ruby-operator">+</span> (<span class="ruby-identifier">args</span>[<span class="ruby-value">:height</span>]<span class="ruby-operator">/</span><span class="ruby-value">2</span>),
971
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:line_color</span>],
972
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:line_width</span>],
973
+ <span class="ruby-value">:line_style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">:line_style</span>]})
974
+
975
+ <span class="ruby-keyword">end</span>
976
+ <span class="ruby-identifier">composite</span>
977
+ <span class="ruby-keyword">end</span></pre>
978
+ </div><!-- transcript-source -->
979
+
980
+ </div>
981
+
982
+
983
+
984
+
985
+ </div><!-- transcript-method -->
986
+
987
+
988
+ <div id="method-c-up_triangle" class="method-detail ">
989
+
990
+ <div class="method-heading">
991
+ <span class="method-name">up_triangle</span><span
992
+ class="method-args">(args)</span>
993
+
994
+ <span class="method-click-advice">click to toggle source</span>
995
+
996
+ </div>
997
+
998
+
999
+ <div class="method-description">
1000
+
1001
+ <p>Creates a polygon <a href="Glyph.html">Glyph</a> for an upward-pointing
1002
+ triangle <code>args</code></p>
1003
+ <ul><li>
1004
+ <p>height = the height of the <a href="Glyph.html">Glyph</a> (10)</p>
1005
+ </li><li>
1006
+ <p>fill_color = the fill colour of the <a href="Glyph.html">Glyph</a>
1007
+ (‘red’)</p>
1008
+ </li><li>
1009
+ <p>stroke = the outline colour of the <a href="Glyph.html">Glyph</a>
1010
+ (“black”)</p>
1011
+ </li><li>
1012
+ <p>stroke_width = The width of the outline stroke (1)</p>
1013
+ </li><li>
1014
+ <p>style = the opacity of the fill color (“fill-opacity:0.4;”)</p>
1015
+ </li><li>
1016
+ <p>x = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the x-axis</p>
1017
+ </li><li>
1018
+ <p>y = the co-ordinates of the <a href="Glyph.html">Glyph</a> for the y-axis</p>
1019
+ </li></ul>
1020
+
1021
+ <p>The points of the triangle are calculated form the <code>x</code> and
1022
+ <code>y</code> co-ordinates</p>
1023
+
1024
+
1025
+
1026
+
1027
+ <div class="method-source-code" id="up_triangle-source">
1028
+ <pre><span class="ruby-comment"># File lib/bio/graphics/glyph.rb, line 136</span>
1029
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">up_triangle</span>(<span class="ruby-identifier">args</span>) <span class="ruby-comment">#:x, :y, :width :fill, :stroke :stroke_width, :style, :height</span>
1030
+ <span class="ruby-identifier">args</span> = {
1031
+ <span class="ruby-value">:height</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>,
1032
+ <span class="ruby-value">:fill_color</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'red'</span>,
1033
+ <span class="ruby-value">:stroke</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;black&quot;</span>,
1034
+ <span class="ruby-value">:stroke_width</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>,
1035
+ <span class="ruby-value">:style</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;fill-opacity:0.4;&quot;</span>}.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">args</span>)
1036
+ <span class="ruby-identifier">args</span>[<span class="ruby-value">:points</span>] = <span class="ruby-node">&quot;#{args[:x]},#{args[:y] + args[:height]} #{args[:x] + args[:width]},#{args[:y] + args[:height]} #{ args[:x] + (args[:width]/2) },#{args[:y] }&quot;</span>
1037
+ [<span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">Graphics</span><span class="ruby-operator">::</span><span class="ruby-constant">Primitive</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:polygon</span>, <span class="ruby-identifier">args</span>)]
1038
+ <span class="ruby-keyword">end</span></pre>
1039
+ </div><!-- up_triangle-source -->
1040
+
1041
+ </div>
1042
+
1043
+
1044
+
1045
+
1046
+ </div><!-- up_triangle-method -->
1047
+
1048
+
1049
+ </section><!-- public-class-method-details -->
1050
+
1051
+ </section><!-- 5Buntitled-5D -->
1052
+
1053
+ </div><!-- documentation -->
1054
+
1055
+
1056
+ <footer id="validator-badges">
1057
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
1058
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.rc.2.1.
1059
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
1060
+ </footer>
1061
+