bio-graphics 1.2 → 1.4

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 (331) hide show
  1. data/doc/classes/Bio.html +4 -26
  2. data/doc/classes/Bio/Feature.html +350 -0
  3. data/doc/classes/Bio/Feature.src/M000010.html +21 -0
  4. data/doc/classes/Bio/Feature.src/M000011.html +20 -0
  5. data/doc/classes/Bio/Feature.src/M000012.html +19 -0
  6. data/doc/classes/Bio/Feature.src/M000014.html +21 -0
  7. data/doc/classes/Bio/Feature.src/M000016.html +21 -0
  8. data/doc/classes/Bio/Feature.src/M000034.html +21 -0
  9. data/doc/classes/Bio/Feature.src/M000035.html +20 -0
  10. data/doc/classes/Bio/Feature.src/M000036.html +19 -0
  11. data/doc/classes/Bio/Feature.src/M000038.html +21 -0
  12. data/doc/classes/Bio/Feature.src/M000040.html +21 -0
  13. data/doc/classes/Bio/Feature.src/M000042.html +21 -0
  14. data/doc/classes/Bio/Feature.src/M000043.html +20 -0
  15. data/doc/classes/Bio/Feature.src/M000044.html +21 -0
  16. data/doc/classes/Bio/Feature.src/M000045.html +20 -0
  17. data/doc/classes/Bio/Feature.src/M000046.html +19 -0
  18. data/doc/classes/Bio/Feature.src/M000048.html +21 -0
  19. data/doc/classes/Bio/Feature.src/M000050.html +21 -0
  20. data/doc/classes/Bio/Feature.src/M000074.html +21 -0
  21. data/doc/classes/Bio/Feature.src/M000075.html +20 -0
  22. data/doc/classes/Bio/Feature.src/M000076.html +19 -0
  23. data/doc/classes/Bio/Feature.src/M000078.html +21 -0
  24. data/doc/classes/Bio/Feature.src/M000080.html +21 -0
  25. data/doc/classes/Bio/Feature/Qualifier.html +189 -0
  26. data/doc/classes/Bio/Feature/Qualifier.src/M000017.html +18 -0
  27. data/doc/classes/Bio/Feature/Qualifier.src/M000041.html +18 -0
  28. data/doc/classes/Bio/Feature/Qualifier.src/M000049.html +18 -0
  29. data/doc/classes/Bio/Feature/Qualifier.src/M000051.html +18 -0
  30. data/doc/classes/Bio/Feature/Qualifier.src/M000081.html +18 -0
  31. data/doc/classes/Bio/Features.html +329 -0
  32. data/doc/classes/Bio/Features.src/M000004.html +18 -0
  33. data/doc/classes/Bio/Features.src/M000005.html +19 -0
  34. data/doc/classes/Bio/Features.src/M000006.html +21 -0
  35. data/doc/classes/Bio/Features.src/M000007.html +18 -0
  36. data/doc/classes/Bio/Features.src/M000008.html +18 -0
  37. data/doc/classes/Bio/Features.src/M000009.html +18 -0
  38. data/doc/classes/Bio/Features.src/M000028.html +18 -0
  39. data/doc/classes/Bio/Features.src/M000029.html +19 -0
  40. data/doc/classes/Bio/Features.src/M000030.html +21 -0
  41. data/doc/classes/Bio/Features.src/M000031.html +18 -0
  42. data/doc/classes/Bio/Features.src/M000032.html +18 -0
  43. data/doc/classes/Bio/Features.src/M000033.html +18 -0
  44. data/doc/classes/Bio/Features.src/M000036.html +18 -0
  45. data/doc/classes/Bio/Features.src/M000037.html +19 -0
  46. data/doc/classes/Bio/Features.src/M000038.html +18 -0
  47. data/doc/classes/Bio/Features.src/M000039.html +19 -0
  48. data/doc/classes/Bio/Features.src/M000040.html +21 -0
  49. data/doc/classes/Bio/Features.src/M000041.html +18 -0
  50. data/doc/classes/Bio/Features.src/M000042.html +18 -0
  51. data/doc/classes/Bio/Features.src/M000043.html +18 -0
  52. data/doc/classes/Bio/Features.src/M000068.html +18 -0
  53. data/doc/classes/Bio/Features.src/M000069.html +19 -0
  54. data/doc/classes/Bio/Features.src/M000070.html +21 -0
  55. data/doc/classes/Bio/Features.src/M000071.html +18 -0
  56. data/doc/classes/Bio/Features.src/M000072.html +18 -0
  57. data/doc/classes/Bio/Features.src/M000073.html +18 -0
  58. data/doc/classes/Bio/Graphics.html +28 -42
  59. data/doc/classes/Bio/Graphics/{Panel/Track/Feature.html → Feature.html} +98 -125
  60. data/doc/classes/Bio/Graphics/Feature.src/M000020.html +51 -0
  61. data/doc/classes/Bio/Graphics/Feature.src/M000021.html +65 -0
  62. data/doc/classes/Bio/Graphics/Feature.src/M000022.html +55 -0
  63. data/doc/classes/Bio/Graphics/Feature.src/M000023.html +66 -0
  64. data/doc/classes/Bio/Graphics/Feature.src/M000024.html +51 -0
  65. data/doc/classes/Bio/Graphics/Feature.src/M000025.html +65 -0
  66. data/doc/classes/Bio/Graphics/Feature.src/M000026.html +55 -0
  67. data/doc/classes/Bio/Graphics/Feature.src/M000054.html +51 -0
  68. data/doc/classes/Bio/Graphics/Feature.src/M000055.html +65 -0
  69. data/doc/classes/Bio/Graphics/Feature.src/M000056.html +55 -0
  70. data/doc/classes/Bio/Graphics/Feature/SubFeature.html +348 -0
  71. data/doc/classes/Bio/Graphics/Feature/SubFeature.src/M000025.html +68 -0
  72. data/doc/classes/Bio/Graphics/Feature/SubFeature.src/M000026.html +67 -0
  73. data/doc/classes/Bio/Graphics/Glyph.html +178 -0
  74. data/doc/classes/Bio/Graphics/Glyph/Box.html +139 -0
  75. data/doc/classes/Bio/Graphics/Glyph/Box.src/M000004.html +24 -0
  76. data/doc/classes/Bio/Graphics/Glyph/Box.src/M000032.html +24 -0
  77. data/doc/classes/Bio/Graphics/Glyph/Common.html +187 -0
  78. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000004.html +18 -0
  79. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000005.html +18 -0
  80. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000006.html +24 -0
  81. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000007.html +24 -0
  82. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000033.html +18 -0
  83. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000034.html +24 -0
  84. data/doc/classes/Bio/Graphics/Glyph/Common.src/M000035.html +24 -0
  85. data/doc/classes/Bio/Graphics/Glyph/CustomTestGlyph.html +139 -0
  86. data/doc/classes/Bio/Graphics/Glyph/CustomTestGlyph.src/M000037.html +22 -0
  87. data/doc/classes/Bio/Graphics/Glyph/CustomTestGlyphInFile.html +139 -0
  88. data/doc/classes/Bio/Graphics/Glyph/CustomTestGlyphInFile.src/M000038.html +22 -0
  89. data/doc/classes/Bio/Graphics/Glyph/DirectedBox.html +139 -0
  90. data/doc/classes/Bio/Graphics/Glyph/DirectedBox.src/M000009.html +31 -0
  91. data/doc/classes/Bio/Graphics/Glyph/DirectedBox.src/M000039.html +31 -0
  92. data/doc/classes/Bio/Graphics/Glyph/DirectedGeneric.html +139 -0
  93. data/doc/classes/Bio/Graphics/Glyph/DirectedGeneric.src/M000011.html +26 -0
  94. data/doc/classes/Bio/Graphics/Glyph/DirectedGeneric.src/M000013.html +26 -0
  95. data/doc/classes/Bio/Graphics/Glyph/DirectedGeneric.src/M000043.html +26 -0
  96. data/doc/classes/Bio/Graphics/Glyph/DirectedSpliced.html +139 -0
  97. data/doc/classes/Bio/Graphics/Glyph/DirectedSpliced.src/M000008.html +40 -0
  98. data/doc/classes/Bio/Graphics/Glyph/DirectedSpliced.src/M000010.html +40 -0
  99. data/doc/classes/Bio/Graphics/Glyph/DirectedSpliced.src/M000040.html +40 -0
  100. data/doc/classes/Bio/Graphics/{Panel/Track/Feature/PixelRange.html → Glyph/Dot.html} +16 -19
  101. data/doc/classes/Bio/Graphics/Glyph/Dot.src/M000013.html +22 -0
  102. data/doc/classes/Bio/Graphics/Glyph/Dot.src/M000015.html +22 -0
  103. data/doc/classes/Bio/Graphics/Glyph/Dot.src/M000045.html +22 -0
  104. data/doc/classes/Bio/Graphics/Glyph/Generic.html +139 -0
  105. data/doc/classes/Bio/Graphics/Glyph/Generic.src/M000009.html +18 -0
  106. data/doc/classes/Bio/Graphics/Glyph/Generic.src/M000011.html +18 -0
  107. data/doc/classes/Bio/Graphics/Glyph/Generic.src/M000041.html +18 -0
  108. data/doc/classes/Bio/Graphics/Glyph/Line.html +139 -0
  109. data/doc/classes/Bio/Graphics/Glyph/Line.src/M000012.html +20 -0
  110. data/doc/classes/Bio/Graphics/Glyph/Line.src/M000014.html +20 -0
  111. data/doc/classes/Bio/Graphics/Glyph/Line.src/M000044.html +20 -0
  112. data/doc/classes/Bio/Graphics/Glyph/LineWithHandles.html +139 -0
  113. data/doc/classes/Bio/Graphics/Glyph/LineWithHandles.src/M000014.html +28 -0
  114. data/doc/classes/Bio/Graphics/Glyph/LineWithHandles.src/M000016.html +28 -0
  115. data/doc/classes/Bio/Graphics/Glyph/LineWithHandles.src/M000046.html +28 -0
  116. data/doc/classes/Bio/Graphics/Glyph/Spliced.html +139 -0
  117. data/doc/classes/Bio/Graphics/Glyph/Spliced.src/M000010.html +19 -0
  118. data/doc/classes/Bio/Graphics/Glyph/Spliced.src/M000012.html +19 -0
  119. data/doc/classes/Bio/Graphics/Glyph/Spliced.src/M000042.html +19 -0
  120. data/doc/classes/Bio/Graphics/Glyph/Transcript.html +113 -0
  121. data/doc/classes/Bio/Graphics/Glyph/Triangle.html +139 -0
  122. data/doc/classes/Bio/Graphics/Glyph/Triangle.src/M000007.html +21 -0
  123. data/doc/classes/Bio/Graphics/Glyph/Triangle.src/M000008.html +21 -0
  124. data/doc/classes/Bio/Graphics/Glyph/Triangle.src/M000036.html +21 -0
  125. data/doc/classes/{ImageMap.html → Bio/Graphics/ImageMap.html} +50 -16
  126. data/doc/classes/{ImageMap.src/M000001.html → Bio/Graphics/ImageMap.src/M000030.html} +3 -3
  127. data/doc/classes/Bio/Graphics/ImageMap.src/M000031.html +18 -0
  128. data/doc/classes/Bio/Graphics/ImageMap.src/M000032.html +18 -0
  129. data/doc/classes/Bio/Graphics/ImageMap.src/M000033.html +18 -0
  130. data/doc/classes/{ImageMap.src/M000002.html → Bio/Graphics/ImageMap.src/M000034.html} +7 -4
  131. data/doc/classes/Bio/Graphics/ImageMap.src/M000035.html +24 -0
  132. data/doc/classes/Bio/Graphics/ImageMap.src/M000062.html +18 -0
  133. data/doc/classes/Bio/Graphics/ImageMap.src/M000063.html +18 -0
  134. data/doc/classes/Bio/Graphics/ImageMap.src/M000064.html +27 -0
  135. data/doc/classes/Bio/Graphics/ImageMap.src/M000065.html +24 -0
  136. data/doc/classes/{ImageMap/ImageMapElement.html → Bio/Graphics/ImageMap/Element.html} +14 -14
  137. data/doc/classes/{ImageMap/ImageMapElement.src/M000003.html → Bio/Graphics/ImageMap/Element.src/M000034.html} +3 -3
  138. data/doc/classes/{ImageMap/ImageMapElement.src/M000004.html → Bio/Graphics/ImageMap/Element.src/M000035.html} +6 -4
  139. data/doc/classes/Bio/Graphics/ImageMap/Element.src/M000036.html +19 -0
  140. data/doc/classes/Bio/Graphics/ImageMap/Element.src/M000037.html +22 -0
  141. data/doc/classes/Bio/Graphics/ImageMap/Element.src/M000066.html +19 -0
  142. data/doc/classes/Bio/Graphics/ImageMap/Element.src/M000067.html +22 -0
  143. data/doc/classes/Bio/Graphics/Panel.html +70 -69
  144. data/doc/classes/Bio/Graphics/Panel.src/M000025.html +52 -0
  145. data/doc/classes/Bio/Graphics/Panel.src/M000026.html +20 -0
  146. data/doc/classes/Bio/Graphics/Panel.src/M000027.html +98 -0
  147. data/doc/classes/Bio/Graphics/Panel.src/M000028.html +20 -0
  148. data/doc/classes/Bio/Graphics/Panel.src/M000029.html +52 -0
  149. data/doc/classes/Bio/Graphics/Panel.src/M000030.html +20 -0
  150. data/doc/classes/Bio/Graphics/Panel.src/M000031.html +98 -0
  151. data/doc/classes/Bio/Graphics/Panel.src/M000059.html +52 -0
  152. data/doc/classes/Bio/Graphics/Panel.src/M000060.html +20 -0
  153. data/doc/classes/Bio/Graphics/Panel.src/M000061.html +98 -0
  154. data/doc/classes/Bio/Graphics/{Panel/Ruler.html → Ruler.html} +50 -21
  155. data/doc/classes/Bio/Graphics/Ruler.src/M000015.html +30 -0
  156. data/doc/classes/Bio/Graphics/Ruler.src/M000016.html +20 -0
  157. data/doc/classes/Bio/Graphics/Ruler.src/M000017.html +30 -0
  158. data/doc/classes/Bio/Graphics/Ruler.src/M000018.html +20 -0
  159. data/doc/classes/Bio/Graphics/Ruler.src/M000019.html +26 -0
  160. data/doc/classes/Bio/Graphics/Ruler.src/M000020.html +45 -0
  161. data/doc/classes/Bio/Graphics/Ruler.src/M000047.html +30 -0
  162. data/doc/classes/Bio/Graphics/Ruler.src/M000048.html +20 -0
  163. data/doc/classes/Bio/Graphics/Ruler.src/M000049.html +26 -0
  164. data/doc/classes/Bio/Graphics/Ruler.src/M000050.html +45 -0
  165. data/doc/classes/Bio/Graphics/SubFeature.html +348 -0
  166. data/doc/classes/Bio/Graphics/SubFeature.src/M000001.html +73 -0
  167. data/doc/classes/Bio/Graphics/SubFeature.src/M000002.html +69 -0
  168. data/doc/classes/Bio/Graphics/SubFeature.src/M000023.html +73 -0
  169. data/doc/classes/Bio/Graphics/SubFeature.src/M000024.html +69 -0
  170. data/doc/classes/Bio/Graphics/SubFeature.src/M000027.html +73 -0
  171. data/doc/classes/Bio/Graphics/SubFeature.src/M000028.html +69 -0
  172. data/doc/classes/Bio/Graphics/SubFeature.src/M000057.html +73 -0
  173. data/doc/classes/Bio/Graphics/SubFeature.src/M000058.html +69 -0
  174. data/doc/classes/Bio/Graphics/{Panel/Track.html → Track.html} +67 -69
  175. data/doc/classes/Bio/Graphics/Track.src/M000017.html +39 -0
  176. data/doc/classes/Bio/Graphics/Track.src/M000018.html +37 -0
  177. data/doc/classes/Bio/Graphics/Track.src/M000019.html +45 -0
  178. data/doc/classes/Bio/Graphics/Track.src/M000020.html +41 -0
  179. data/doc/classes/Bio/Graphics/Track.src/M000021.html +39 -0
  180. data/doc/classes/Bio/Graphics/Track.src/M000022.html +37 -0
  181. data/doc/classes/Bio/Graphics/Track.src/M000023.html +45 -0
  182. data/doc/classes/Bio/Graphics/Track.src/M000051.html +39 -0
  183. data/doc/classes/Bio/Graphics/Track.src/M000052.html +37 -0
  184. data/doc/classes/Bio/Graphics/Track.src/M000053.html +45 -0
  185. data/doc/classes/Range.html +129 -0
  186. data/doc/classes/String.html +167 -0
  187. data/doc/classes/String.src/M000001.html +18 -0
  188. data/doc/classes/String.src/M000002.html +18 -0
  189. data/doc/classes/String.src/M000003.html +23 -0
  190. data/doc/classes/String.src/M000029.html +18 -0
  191. data/doc/classes/String.src/M000030.html +18 -0
  192. data/doc/classes/String.src/M000031.html +23 -0
  193. data/doc/classes/TestCustomGlyph.html +137 -0
  194. data/doc/classes/TestCustomGlyph.src/M000025.html +25 -0
  195. data/doc/classes/TestCustomGlyphInFile.html +167 -0
  196. data/doc/classes/TestCustomGlyphInFile.src/M000026.html +19 -0
  197. data/doc/classes/TestCustomGlyphInFile.src/M000027.html +25 -0
  198. data/doc/classes/TestCustomGlyphInFile.src/M000028.html +18 -0
  199. data/doc/classes/TestExtensions.html +152 -0
  200. data/doc/classes/TestExtensions.src/M000015.html +22 -0
  201. data/doc/classes/TestExtensions.src/M000016.html +25 -0
  202. data/doc/classes/TestFeature.html +152 -0
  203. data/doc/classes/TestFeature.src/M000017.html +19 -0
  204. data/doc/classes/TestFeature.src/M000018.html +21 -0
  205. data/doc/classes/TestImageMap.html +182 -0
  206. data/doc/classes/TestImageMap.src/M000019.html +22 -0
  207. data/doc/classes/TestImageMap.src/M000020.html +56 -0
  208. data/doc/classes/TestImageMap.src/M000021.html +56 -0
  209. data/doc/classes/TestImageMap.src/M000022.html +20 -0
  210. data/doc/classes/TestPanel.html +276 -0
  211. data/doc/classes/TestPanel.src/M000001.html +18 -0
  212. data/doc/classes/TestPanel.src/M000002.html +61 -0
  213. data/doc/classes/TestPanel.src/M000003.html +35 -0
  214. data/doc/classes/TestPanel.src/M000004.html +54 -0
  215. data/doc/classes/TestPanel.src/M000005.html +54 -0
  216. data/doc/classes/TestPanel.src/M000006.html +41 -0
  217. data/doc/classes/TestPanel.src/M000007.html +36 -0
  218. data/doc/classes/TestPanel.src/M000008.html +20 -0
  219. data/doc/classes/TestPanel.src/M000009.html +26 -0
  220. data/doc/classes/TestPanel.src/M000010.html +21 -0
  221. data/doc/classes/TestRuler.html +152 -0
  222. data/doc/classes/TestRuler.src/M000013.html +22 -0
  223. data/doc/classes/TestRuler.src/M000014.html +31 -0
  224. data/doc/classes/TestSubFeature.html +152 -0
  225. data/doc/classes/TestSubFeature.src/M000023.html +21 -0
  226. data/doc/classes/TestSubFeature.src/M000024.html +18 -0
  227. data/doc/classes/TestTrack.html +152 -0
  228. data/doc/classes/TestTrack.src/M000011.html +19 -0
  229. data/doc/classes/TestTrack.src/M000012.html +23 -0
  230. data/doc/created.rid +1 -1
  231. data/doc/files/README_DEV.html +399 -70
  232. data/doc/files/TUTORIAL.html +188 -67
  233. data/doc/files/lib/bio-graphics_rb.html +3 -2
  234. data/doc/files/lib/bio/graphics/feature_rb.html +12 -6
  235. data/doc/files/lib/bio/graphics/glyphs/box_rb.html +113 -0
  236. data/doc/files/lib/bio/graphics/glyphs/common_rb.html +113 -0
  237. data/doc/files/lib/bio/graphics/glyphs/directed_box_rb.html +113 -0
  238. data/doc/files/lib/bio/graphics/glyphs/directed_generic_rb.html +113 -0
  239. data/doc/files/lib/bio/graphics/glyphs/directed_spliced_rb.html +113 -0
  240. data/doc/files/lib/bio/graphics/glyphs/dot_rb.html +113 -0
  241. data/doc/files/lib/bio/graphics/glyphs/generic_rb.html +113 -0
  242. data/doc/files/lib/bio/graphics/glyphs/line_rb.html +113 -0
  243. data/doc/files/lib/bio/graphics/glyphs/line_with_handles_rb.html +113 -0
  244. data/doc/files/lib/bio/graphics/glyphs/spliced_rb.html +113 -0
  245. data/doc/files/lib/bio/graphics/glyphs/transcript_rb.html +113 -0
  246. data/doc/files/lib/bio/graphics/glyphs/triangle_rb.html +113 -0
  247. data/doc/files/lib/bio/graphics/image_map_rb.html +3 -2
  248. data/doc/files/lib/bio/graphics/panel_rb.html +10 -2
  249. data/doc/files/lib/bio/graphics/ruler_rb.html +3 -2
  250. data/doc/files/lib/bio/graphics/subfeature_rb.html +114 -0
  251. data/doc/files/lib/bio/graphics/track_rb.html +3 -2
  252. data/doc/files/lib/feature_rb.html +101 -0
  253. data/doc/files/samples/arkdb_features_rb.html +101 -0
  254. data/doc/files/samples/glyph_showcase_rb.html +108 -0
  255. data/doc/files/samples/protein_domains_rb.html +115 -0
  256. data/doc/files/samples/subfeatures_rb.html +108 -0
  257. data/doc/files/scripts/gff2png_rb.html +154 -0
  258. data/doc/files/test/unit/custom_glyph_in_file_rb.html +101 -0
  259. data/doc/files/test/unit/test_class_extensions_rb.html +108 -0
  260. data/doc/files/test/unit/test_creation_rb.html +108 -0
  261. data/doc/files/test/unit/test_custom_glyph_rb.html +108 -0
  262. data/doc/files/test/unit/test_draw_rb.html +108 -0
  263. data/doc/files/test/unit/test_imagemap_rb.html +108 -0
  264. data/doc/files/test/unit/test_subfeatures_rb.html +108 -0
  265. data/doc/fr_class_index.html +24 -6
  266. data/doc/fr_file_index.html +14 -0
  267. data/doc/fr_method_index.html +51 -19
  268. data/doc/images/glyph_showcase.png +0 -0
  269. data/doc/images/terms.svg +146 -132
  270. data/images/glyph_showcase.png +0 -0
  271. data/lib/bio-graphics.rb +38 -6
  272. data/lib/bio/graphics/feature.rb +212 -440
  273. data/lib/bio/graphics/glyphs/box.rb +21 -0
  274. data/lib/bio/graphics/glyphs/common.rb +149 -0
  275. data/lib/bio/graphics/glyphs/directed_box.rb +28 -0
  276. data/lib/bio/graphics/glyphs/directed_generic.rb +23 -0
  277. data/lib/bio/graphics/glyphs/directed_spliced.rb +39 -0
  278. data/lib/bio/graphics/glyphs/dot.rb +21 -0
  279. data/lib/bio/graphics/glyphs/generic.rb +15 -0
  280. data/lib/bio/graphics/glyphs/line.rb +17 -0
  281. data/lib/bio/graphics/glyphs/line_with_handles.rb +25 -0
  282. data/lib/bio/graphics/glyphs/spliced.rb +16 -0
  283. data/lib/bio/graphics/glyphs/transcript.rb +12 -0
  284. data/lib/bio/graphics/glyphs/triangle.rb +18 -0
  285. data/lib/bio/graphics/image_map.rb +25 -4
  286. data/lib/bio/graphics/panel.rb +266 -209
  287. data/lib/bio/graphics/ruler.rb +95 -96
  288. data/lib/bio/graphics/subfeature.rb +187 -0
  289. data/lib/bio/graphics/track.rb +155 -156
  290. data/lib/feature.rb +204 -0
  291. data/samples/arkdb_features.rb +10 -8
  292. data/samples/glyph_showcase.rb +58 -22
  293. data/samples/protein_domains.rb +19 -0
  294. data/samples/subfeatures.rb +31 -0
  295. data/test/unit/custom_glyph_in_file.rb +12 -0
  296. data/test/unit/data.txt +32 -0
  297. data/test/unit/test_class_extensions.rb +23 -0
  298. data/test/unit/test_creation.rb +43 -13
  299. data/test/unit/test_custom_glyph.rb +50 -0
  300. data/test/unit/test_draw.rb +211 -0
  301. data/test/unit/test_imagemap.rb +134 -0
  302. data/test/unit/test_subfeatures.rb +17 -0
  303. metadata +396 -119
  304. data/doc/classes/Bio/Graphics/Panel.src/M000005.html +0 -29
  305. data/doc/classes/Bio/Graphics/Panel.src/M000006.html +0 -19
  306. data/doc/classes/Bio/Graphics/Panel.src/M000007.html +0 -68
  307. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000008.html +0 -20
  308. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000009.html +0 -28
  309. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000010.html +0 -54
  310. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000013.html +0 -20
  311. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000014.html +0 -20
  312. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000015.html +0 -28
  313. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000016.html +0 -59
  314. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000017.html +0 -20
  315. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000018.html +0 -28
  316. data/doc/classes/Bio/Graphics/Panel/Ruler.src/M000019.html +0 -59
  317. data/doc/classes/Bio/Graphics/Panel/Track.src/M000008.html +0 -26
  318. data/doc/classes/Bio/Graphics/Panel/Track.src/M000009.html +0 -42
  319. data/doc/classes/Bio/Graphics/Panel/Track.src/M000010.html +0 -52
  320. data/doc/classes/Bio/Graphics/Panel/Track.src/M000011.html +0 -23
  321. data/doc/classes/Bio/Graphics/Panel/Track.src/M000012.html +0 -43
  322. data/doc/classes/Bio/Graphics/Panel/Track.src/M000013.html +0 -259
  323. data/doc/classes/Bio/Graphics/Panel/Track/Feature.src/M000011.html +0 -65
  324. data/doc/classes/Bio/Graphics/Panel/Track/Feature.src/M000012.html +0 -39
  325. data/doc/classes/Bio/Graphics/Panel/Track/Feature.src/M000013.html +0 -27
  326. data/doc/classes/Bio/Graphics/Panel/Track/Feature.src/M000014.html +0 -225
  327. data/doc/classes/Bio/Graphics/Panel/Track/Feature.src/M000015.html +0 -48
  328. data/doc/classes/Bio/Graphics/Panel/Track/Feature/PixelRange.src/M000012.html +0 -18
  329. data/doc/classes/Bio/Graphics/Panel/Track/Feature/PixelRange.src/M000013.html +0 -18
  330. data/doc/classes/Bio/Graphics/Panel/Track/Feature/PixelRange.src/M000015.html +0 -18
  331. data/doc/classes/Bio/Graphics/Panel/Track/Feature/PixelRange.src/M000016.html +0 -18
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Oct 18 14:19:48 +0100 2007</td>
59
+ <td>Thu Jan 24 20:03:15 +0000 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -74,7 +74,7 @@
74
74
  </p>
75
75
  <h1><a href="../classes/Bio/Graphics.html">Bio::Graphics</a> tutorial</h1>
76
76
  <p>
77
- Copyright (C) 2007 Jan Aerts &lt;jan.aerts@bbsrc.ac.uk&gt;
77
+ Copyright (C) 2007, 2008 Jan Aerts &lt;jan.aerts@bbsrc.ac.uk&gt;
78
78
  </p>
79
79
  <p>
80
80
  License: The Ruby License
@@ -93,12 +93,19 @@ This <a href="../classes/Bio/Graphics.html">Bio::Graphics</a> library
93
93
  allows for drawing overviews of genomic regions, similar to the pictures
94
94
  drawn by <a href="http://www.gmod.org/wiki/index.php/Gbrowse">gbrowse</a>.
95
95
  Basically, it allows creating simple images that display features on a
96
- linear map. The code is based on the equivalent code in the <a
97
- href="http://www.bioperl.org/wiki/Main_Page">bioperl</a> project.
96
+ linear map, including the position of subdomains in a protein (see
97
+ picture). It&#8216;s now also possible to create vertical pictures.
98
+ </p>
99
+ <p>
100
+ <img src="../images/protein_domains.png" />
101
+ </p>
102
+ <p>
103
+ <img src="../images/vertical.png" />
98
104
  </p>
99
105
  <p>
100
106
  Any <a href="../classes/Bio/Graphics.html">Bio::Graphics</a> image consists
101
- of the following parts (nomenclature identical to that from bioperl):
107
+ of the following parts (concepts and nomenclature identical to that from <a
108
+ href="http://www.bioperl.org/wiki/Main_Page">bioperl</a>):
102
109
  </p>
103
110
  <ul>
104
111
  <li>one panel: container of all tracks
@@ -143,11 +150,12 @@ Each of these tracks has zero or more features.
143
150
  </p>
144
151
  <p>
145
152
  As a feature can only exist within the confines of a track and a track can
146
- only exist within the confines of a panel, these classes are encapsuled.
147
- This means that the Track class is not Bio::Graphics::Track, but <a
148
- href="../classes/Bio/Graphics/Panel/Track.html">Bio::Graphics::Panel::Track</a>;
153
+ only exist within the confines of a panel, these classes are encapsulated.
154
+ This means that the Track class is not <a
155
+ href="../classes/Bio/Graphics/Track.html">Bio::Graphics::Track</a>, but <a
156
+ href="../classes/Bio/Graphics/Track.html">Bio::Graphics::Panel::Track</a>;
149
157
  the same goes for <a
150
- href="../classes/Bio/Graphics/Panel/Track/Feature.html">Bio::Graphics::Panel::Track::Feature</a>.
158
+ href="../classes/Bio/Graphics/Feature.html">Bio::Graphics::Panel::Track::Feature</a>.
151
159
  </p>
152
160
  <h2>Glyphs</h2>
153
161
  <p>
@@ -178,44 +186,60 @@ for an nicer example.
178
186
  For an explanation of the arguments with each method for this example, see
179
187
  the <a href="../classes/Bio/Graphics/Panel.html">Bio::Graphics::Panel</a>
180
188
  and <a
181
- href="../classes/Bio/Graphics/Panel/Track.html">Bio::Graphics::Panel::Track</a>
189
+ href="../classes/Bio/Graphics/Track.html">Bio::Graphics::Panel::Track</a>
182
190
  object documentation.
183
191
  </p>
184
192
  <pre>
185
193
  1 # Load the library
186
- 2 require 'bio-graphics' # or require_gem 'bio-graphics'
194
+ 2 require 'bio-graphics' # or require_gem 'bio-graphics' or gem 'bio-graphics'
187
195
  3
188
196
  4 # Create the panel
189
- 5 my_panel = Bio::Graphics::Panel.new(500, 600, true, 1, 500)
197
+ 5 my_panel = Bio::Graphics::Panel.new(500, :width =&gt; 1000)
190
198
  6
191
199
  7 # Create the tracks
192
- 8 generic_track = my_panel.add_track('generic')
193
- 9 directed_track = my_panel.add_track('directed',[0,1,0],'directed_generic')
194
- 10 triangle_track = my_panel.add_track('triangle',[1,0,0],'triangle')
195
- 11 spliced_track = my_panel.add_track('spliced',[1,0,0],'spliced')
196
- 12 directed_spliced_track = my_panel.add_track('directed_spliced',[1,0,1],'directed_spliced')
197
- 13
198
- 14 # Add features to each track
199
- 15 generic_track.add_feature('clone1','250..375', 'http://www.newsforge.com')
200
- 16 generic_track.add_feature('clone2','54..124', 'http://www.thearkdb.org')
201
- 17 generic_track.add_feature('clone3','100..449', 'http://www.google.com')
202
- 18
203
- 19 directed_track.add_feature('marker1','50..60', 'http://www.google.com')
204
- 20 directed_track.add_feature('marker2','complement(80..120)', 'http://www.sourceforge.net')
205
- 21
206
- 22 triangle_track.add_feature('snp1','56')
207
- 23 triangle_track.add_feature('snp2','103','http://digg.com')
208
- 24
209
- 25 spliced_track.add_feature('gene1','join(34..52,109..183)','http://news.bbc.co.uk')
210
- 26 spliced_track.add_feature('gene2','complement(join(170..231,264..299,350..360,409..445))')
211
- 27 spliced_track.add_feature('gene3','join(134..152,209..283)')
212
- 28
213
- 29 directed_spliced_track.add_feature('gene4','join(34..52,109..183)', 'http://www.vrtnieuws.net')
214
- 30 directed_spliced_track.add_feature('gene5','complement(join(170..231,264..299,350..360,409..445))')
215
- 31 directed_spliced_track.add_feature('gene6','join(134..152,209..283)')
216
- 32
217
- 33 # Draw the thing
218
- 34 my_panel.draw('glyph_showcase.png')
200
+ 8 generic_track = my_panel.add_track('generic', :label =&gt; false)
201
+ 9 line_track = my_panel.add_track('line', :label =&gt; false, :glyph =&gt; :line, :colour =&gt; [0,0,1])
202
+ 10 line_with_handles_track = my_panel.add_track('line_with_handles', :label =&gt; false, :glyph =&gt; :line_with_handles, [1,0,0])
203
+ 11 directed_track = my_panel.add_track('directed', :label =&gt; false, :glyph =&gt; :directed_generic, :colour =&gt; [0,1,0])
204
+ 12 triangle_track = my_panel.add_track('triangle', :label =&gt; false, :glyph =&gt; :triangle, :colour =&gt; [1,0,0])
205
+ 13 spliced_track = my_panel.add_track('spliced', :label =&gt; false, :glyph =&gt; :spliced, :colour =&gt; [1,0,0])
206
+ 14 directed_spliced_track = my_panel.add_track('directed_spliced', :label =&gt; false, :glyph =&gt; :directed_spliced, :colour =&gt; [1,0,1])
207
+ 15 composite_track = my_panel.add_track('composite_features', :label =&gt; false, :glyph =&gt; { 'utr' =&gt; :line, 'cds' =&gt; :directed_spliced})
208
+ 16
209
+ 17 # Add features to each track
210
+ 18 generic_track.add_feature(Bio::Feature.new('clone', '250..375'), :link =&gt; 'http://www.newsforge.com')
211
+ 19 generic_track.add_feature(Bio::Feature.new('clone', '54..124'), :link =&gt; 'http://www.thearkdb.org')
212
+ 20 generic_track.add_feature(Bio::Feature.new('clone', '100..449'), :link =&gt; 'http://www.google.com')
213
+ 21
214
+ 22 line_track.add_feature(Bio::Feature.new('utr', 'complement(200..320)'))
215
+ 23 line_track.add_feature(Bio::Feature.new('utr', '355..480'), :link =&gt; 'http://www.zdnet.co.uk')
216
+ 24
217
+ 25 line_with_handles_track.add_feature(Bio::Feature.new('utr', 'complement(200..320)'))
218
+ 26 line_with_handles_track.add_feature(Bio::Feature.new('utr', '355..480'), :link =&gt; 'http://www.zdnet.co.uk')
219
+ 27
220
+ 28 directed_track.add_feature(Bio::Feature.new('primer', '50..60'), :link =&gt; 'http://www.google.com')
221
+ 29 directed_track.add_feature(Bio::Feature.new('primer', 'complement(80..120)'), :link =&gt; 'http://www.sourceforge.net')
222
+ 30
223
+ 31 triangle_track.add_feature(Bio::Feature.new('snp', '56'))
224
+ 32 triangle_track.add_feature(Bio::Feature.new('snp', '103'), :link =&gt; 'http://digg.com')
225
+ 33
226
+ 34 spliced_track.add_feature(Bio::Feature.new('spliced', 'join(34..52,109..183)'), :link =&gt; 'http://news.bbc.co.uk')
227
+ 35 spliced_track.add_feature(Bio::Feature.new('spliced', 'complement(join(170..231,264..299,350..360,409..445))'))
228
+ 36 spliced_track.add_feature(Bio::Feature.new('spliced', 'join(134..152,209..283)'))
229
+ 37
230
+ 38 directed_spliced_track.add_feature(Bio::Feature.new('cds', 'join(34..52,109..183)'), :link =&gt; 'http://www.vrtnieuws.net')
231
+ 39 directed_spliced_track.add_feature(Bio::Feature.new('cds', 'complement(join(170..231,264..299,350..360,409..445))'), :link =&gt; 'http://bioinformatics.roslin.ac.uk')
232
+ 40 directed_spliced_track.add_feature(Bio::Feature.new('cds', 'join(134..152,209..283)'))
233
+ 41
234
+ 42 utr5 = Bio::Feature.new('utr', '100..150')
235
+ 43 cds = Bio::Feature.new('cds', 'join(150..225, 250..275, 310..330)')
236
+ 44 utr3 = Bio::Feature.new('utr', '330..375')
237
+ 45
238
+ 46 transcript = Bio::Feature.new('transcript', 'join(100..150, 150..225, 250..275, 310..330, 330..375)', [], nil, [utr5,cds,utr3])
239
+ 47 composite_track.add_feature(transcript, :label =&gt; 'my_transcript')
240
+ 48
241
+ 49 # Draw the thing
242
+ 50 my_panel.draw('glyph_showcase.png')
219
243
  </pre>
220
244
  <p>
221
245
  Let&#8216;s walk through this:
@@ -232,42 +256,41 @@ you&#8216;ll be working on. The following parameters were used:
232
256
  <li>The sequence is 500 bp long.
233
257
 
234
258
  </li>
235
- <li>The width of the picture will be 600 points.
236
-
237
- </li>
238
- <li>A HTML page will be created to make hyperlinks possible (the <em>true</em>)
239
-
240
- </li>
241
- <li>The picture will be zoomed in from bp 1 to 500 (i.e. completely zoomed
242
- out).
259
+ <li>The width of the picture will be 1000 points.
243
260
 
244
261
  </li>
245
262
  </ul>
246
263
  </li>
247
- <li>Lines 8-12: Create the different tracks. Parameters are:
264
+ <li>Lines 8-15: Create the different tracks. Parameters are:
248
265
 
249
266
  <ul>
250
267
  <li>name.
251
268
 
252
269
  </li>
253
- <li>colour. At the moment in RGB. (This will probably change to colour names in
254
- the future).
270
+ <li>flag if feature labels should be drawn (here: false)
271
+
272
+ </li>
273
+ <li>the default glyph for features in this track. This can be overridden on a
274
+ feature-by-feature basis. See the picture above and
275
+ Bio::Graphics::Panel::Track#new for allowed values.
255
276
 
256
277
  </li>
257
- <li>type. See the picture above and Bio::Graphics::Panel::Track#new for allowed
258
- values.
278
+ <li>the default colour for features in this track. This can also be overridden
279
+ on a feature-by-feature basis. At the moment in RGB. (This will probably
280
+ change to colour names in the future).
259
281
 
260
282
  </li>
261
283
  </ul>
262
284
  </li>
263
- <li>Lines 15-31: Add features to each track. Parameters are:
285
+ <li>Lines 18-47: Add features to each track. Parameters are:
264
286
 
265
287
  <ul>
266
- <li>name.
288
+ <li>a <a href="../classes/Bio/Feature.html">Bio::Feature</a> object. (See
289
+ bioruby documentation at <a
290
+ href="http://www.bioruby.org">www.bioruby.org</a>)
267
291
 
268
292
  </li>
269
- <li>location. This should be a location parsable by <a
270
- href="http://www.bioruby.org">bioruby's</a> Bio::Locations object.
293
+ <li>the label to be used
271
294
 
272
295
  </li>
273
296
  <li>link.
@@ -275,12 +298,34 @@ href="http://www.bioruby.org">bioruby's</a> Bio::Locations object.
275
298
  </li>
276
299
  </ul>
277
300
  </li>
278
- <li>Line 34: Create the actual picture. If the third parameter to the initial
279
- Panel#new call (in line 5) is &#8216;true&#8217;, a HTML file is created as
280
- well.
301
+ <li>Line 50: Create the actual picture. If the the initial Panel#new call
302
+ contains the parameter &quot;:clickable =&gt; true&quot; (in line 5), a
303
+ HTML file is created as well.
281
304
 
282
305
  </li>
283
306
  </ul>
307
+ <p>
308
+ That&#8216;s pretty clear, but what&#8216;s happening with the
309
+ composite_track (on lines 15 and 42-47)?
310
+ </p>
311
+ <p>
312
+ To set the glyph for a feature (or the default glyph in a track), you
313
+ normally use a symbol, like :generic or :directed_spliced. For composite
314
+ features, however, we&#8216;ve made it possible to have different
315
+ subfeatures drawn in different ways. In this example: we want to draw the
316
+ UTRs as thin lines, while the CDS is big boxes connected with thin lines.
317
+ How does this work? See lines 42 to 47. If the feature you&#8216;re adding
318
+ to a track has subfeatures, you can use the type of the subfeature to
319
+ direct the glyph to use. In the example above: the utr5 and utr3 have
320
+ &#8216;utr&#8217; as the first argument in the Bio::Feature#new, and the
321
+ cds object has &#8216;cds&#8217;. The transcript that gets created in line
322
+ 46 takes these three <a href="../classes/Bio/Feature.html">Bio::Feature</a>
323
+ objects as subfeatures (the last argument). Now up in line 15 we set the
324
+ glyph of this track to the hash {&#8216;utr&#8217; =&gt; :line,
325
+ &#8216;cds&#8217; =&gt; :directed_spliced}. What this does, is it takes
326
+ each subfeature in turn, and draws it using the glyph that matches its
327
+ type.
328
+ </p>
284
329
  <h3>Hyperlinks</h3>
285
330
  <p>
286
331
  There are no graphic formats that are inherently clickable (SVG is a
@@ -290,6 +335,48 @@ file is created with the same name as the picture but obviously the .html
290
335
  extension. This file contains the map and will display a clickable picture
291
336
  when loaded in a webbrowser.
292
337
  </p>
338
+ <h3>Custom glyphs</h3>
339
+ <p>
340
+ The user can easily create custom glyphs to add to the functionality of the
341
+ <a href="../classes/Bio/Graphics.html">Bio::Graphics</a> library. The only
342
+ thing that has to be done is add a file to lib/bio/graphics/glyphs. The
343
+ file should look like this:
344
+ </p>
345
+ <pre>
346
+ module Bio::Graphics::Glyph
347
+ class Bio::Graphics::Glyph::SomeName &lt; Bio::Graphics::Glyph::Common
348
+ def draw
349
+ @feature_context.rectangle(x1, y1, x2, y2).fill
350
+ end
351
+ end
352
+ end
353
+ </pre>
354
+ <p>
355
+ What are the properties of that file?
356
+ </p>
357
+ <ul>
358
+ <li>It&#8216;s name has to be the same as the class name specified on the
359
+ second line, but in snake_case instead of CamelCase. The above file
360
+ therefore should be called some_name.rb.
361
+
362
+ </li>
363
+ <li>Give the class a sensible name (in CamelCase).
364
+
365
+ </li>
366
+ <li>Just define the draw method. Have a look at the other files in the glyphs/
367
+ directory for examples. Some values you can use:
368
+
369
+ <ul>
370
+ <li>Bio::Graphics::FEATURE_HEIGHT = default height in pixels for a glyph
371
+
372
+ </li>
373
+ <li>Bio::Graphics::FEATURE_ARROW_LENGTH = default width in pixels of arrows on
374
+ features
375
+
376
+ </li>
377
+ </ul>
378
+ </li>
379
+ </ul>
293
380
  <h2>Download and installation</h2>
294
381
  <p>
295
382
  Development of the library is at <a
@@ -299,12 +386,11 @@ href="http://rubyforge.org/projects/bio-graphics">rubyforge.org/projects/bio-gra
299
386
  There are different ways to install the library.
300
387
  </p>
301
388
  <ul>
302
- <li>Export for SVN (for the latest development version): &quot;svn checkout
303
- svn://rubyforge.org/var/svn/bio-graphics&quot;
389
+ <li>The easy way: gem install bio-graphics
304
390
 
305
391
  </li>
306
- <li>As a rubygem: download the bio-graphics-1.0.gem from the website, and do
307
- &quot;gem install bio-graphics-1.0.gem&quot;
392
+ <li>The hard (but cutting-edge) way: from SVN: svn checkout
393
+ svn://rubyforge.org/var/svn/bio-graphics
308
394
 
309
395
  </li>
310
396
  </ul>
@@ -314,15 +400,44 @@ You&#8216;ll need to have the following installed to use this library:
314
400
  </p>
315
401
  <ul>
316
402
  <li>bioruby (<a href="http://www.bioruby.org">www.bioruby.org</a>), to parse
317
- the feature locations. On linux systems, type &quot;gem install bio&quot;.
403
+ the feature locations.
318
404
 
319
405
  </li>
320
406
  <li>cairo (<a href="http://cairographics.org">cairographics.org</a>), to do the
321
- actual drawing. On Ubuntu, type &quot;sudo apt-get install
322
- libcairo-ruby&quot;.
407
+ actual drawing.
408
+
409
+ </li>
410
+ <li>pango (<a href="http://www.pango.org">www.pango.org</a>), to do the high
411
+ level text drawing.
323
412
 
324
413
  </li>
325
414
  </ul>
415
+ <h3>Ubuntu</h3>
416
+ <ul>
417
+ <li>gem install bio
418
+
419
+ </li>
420
+ <li>sudo apt-get install libcairo-ruby
421
+
422
+ </li>
423
+ </ul>
424
+ <h3>Windows (thanks to Naohisa Goto)</h3>
425
+ <p>
426
+ Install Ruby-GNOME2 Win32 GUI Installer, which contains rcairo-1.2.6. Get
427
+ it from ruby-gnome2.sourceforge.jp/?News_20070212_1
428
+ (ruby-gnome2-0.16.0-1-i386-mswin32.exe)
429
+ </p>
430
+ <p>
431
+ During installation, check the &quot;Register enviroment variables&quot;
432
+ option.
433
+ </p>
434
+ <h3>Mac OSX (thanks to Ed Allen)</h3>
435
+ <p>
436
+ We haven&#8216;t figured out yet how to install cairo and pango separately
437
+ on a Mac. However, if you install Why The Lucky Stiff‘s Shoes GUI for
438
+ Ruby toolkit, you get the pango and ruby-pango bindings for free. Get it
439
+ from code.whytheluckystiff.net/shoes/wiki/DownloadShoes
440
+ </p>
326
441
 
327
442
  </div>
328
443
 
@@ -354,5 +469,11 @@ libcairo-ruby&quot;.
354
469
  <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
355
470
  </div>
356
471
 
472
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
473
+ </script>
474
+ <script type="text/javascript">
475
+ _uacct = "UA-2131816-4";
476
+ urchinTracker();
477
+ </script>
357
478
  </body>
358
- </html>
479
+ </html>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Oct 18 18:13:09 +0100 2007</td>
59
+ <td>Thu Jan 24 20:03:22 +0000 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -71,7 +71,8 @@
71
71
  <div id="description">
72
72
  <h1>bio-graphics.rb - Loading all <a href="../../classes/Bio/Graphics.html">Bio::Graphics</a> modules</h1>
73
73
  <table>
74
- <tr><td valign="top">Copyright:</td><td>Copyright (C) 2007 Jan Aerts &lt;jan.aerts@bbsrc.ac.uk&gt;
74
+ <tr><td valign="top">Copyright:</td><td>Copyright (C) 2007 Jan Aerts &lt;jan.aerts@bbsrc.ac.uk&gt; Charles Comstock
75
+ &lt;dgtized@gmail.com&gt;
75
76
 
76
77
  </td></tr>
77
78
  <tr><td valign="top">License:</td><td>The Ruby License
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Oct 18 18:24:17 +0100 2007</td>
59
+ <td>Thu Jan 24 16:22:58 +0000 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -68,15 +68,21 @@
68
68
 
69
69
  <div id="contextContent">
70
70
 
71
+ <div id="description">
72
+ <h1>bio/graphics/feature.rb - feature class</h1>
73
+ <table>
74
+ <tr><td valign="top">Copyright:</td><td>Copyright (C) 2007, 2008 Jan Aerts &lt;jan.aerts@bbsrc.ac.uk&gt; Charles
75
+ Comstock &lt;dgtized@gmail.com&gt;
71
76
 
72
- <div id="requires-list">
73
- <h3 class="section-bar">Required files</h3>
77
+ </td></tr>
78
+ <tr><td valign="top">License:</td><td>The Ruby License
79
+
80
+ </td></tr>
81
+ </table>
74
82
 
75
- <div class="name-list">
76
- yaml&nbsp;&nbsp;
77
- </div>
78
83
  </div>
79
84
 
85
+
80
86
  </div>
81
87
 
82
88
 
@@ -0,0 +1,113 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: box.rb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>box.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/bio/graphics/glyphs/box.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Thu Jan 24 16:23:42 +0000 2008</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+ <div id="description">
72
+ <h1>bio/graphics/glyphs/box - box glyph</h1>
73
+ <table>
74
+ <tr><td valign="top">Copyright:</td><td>Copyright (C) 2007, 2008 Jan Aerts &lt;jan.aerts@bbsrc.ac.uk&gt;
75
+
76
+ </td></tr>
77
+ <tr><td valign="top">License:</td><td>The Ruby License
78
+
79
+ </td></tr>
80
+ </table>
81
+
82
+ </div>
83
+
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+
91
+ <!-- if includes -->
92
+
93
+ <div id="section">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <!-- if method_list -->
103
+
104
+
105
+ </div>
106
+
107
+
108
+ <div id="validator-badges">
109
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
110
+ </div>
111
+
112
+ </body>
113
+ </html>