bio 1.0.0 → 1.1.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 (340) hide show
  1. data/bin/bioruby +14 -122
  2. data/bin/br_biofetch.rb +2 -2
  3. data/bin/br_bioflat.rb +2 -2
  4. data/bin/br_biogetseq.rb +2 -2
  5. data/bin/br_pmfetch.rb +3 -3
  6. data/doc/Changes-0.7.rd +77 -0
  7. data/doc/KEGG_API.rd +523 -232
  8. data/doc/KEGG_API.rd.ja +529 -207
  9. data/doc/Tutorial.rd +48 -11
  10. data/lib/bio.rb +59 -6
  11. data/lib/bio/alignment.rb +713 -103
  12. data/lib/bio/appl/bl2seq/report.rb +2 -18
  13. data/lib/bio/appl/blast.rb +108 -91
  14. data/lib/bio/appl/blast/format0.rb +33 -18
  15. data/lib/bio/appl/blast/format8.rb +6 -20
  16. data/lib/bio/appl/blast/report.rb +293 -429
  17. data/lib/bio/appl/blast/rexml.rb +8 -22
  18. data/lib/bio/appl/blast/wublast.rb +21 -12
  19. data/lib/bio/appl/blast/xmlparser.rb +180 -183
  20. data/lib/bio/appl/blat/report.rb +127 -30
  21. data/lib/bio/appl/clustalw.rb +87 -59
  22. data/lib/bio/appl/clustalw/report.rb +20 -22
  23. data/lib/bio/appl/emboss.rb +113 -20
  24. data/lib/bio/appl/fasta.rb +173 -198
  25. data/lib/bio/appl/fasta/format10.rb +244 -347
  26. data/lib/bio/appl/gcg/msf.rb +212 -0
  27. data/lib/bio/appl/gcg/seq.rb +195 -0
  28. data/lib/bio/appl/genscan/report.rb +5 -23
  29. data/lib/bio/appl/hmmer.rb +8 -45
  30. data/lib/bio/appl/hmmer/report.rb +2 -20
  31. data/lib/bio/appl/iprscan/report.rb +374 -0
  32. data/lib/bio/appl/mafft.rb +87 -50
  33. data/lib/bio/appl/mafft/report.rb +151 -44
  34. data/lib/bio/appl/muscle.rb +52 -0
  35. data/lib/bio/appl/phylip/alignment.rb +129 -0
  36. data/lib/bio/appl/phylip/distance_matrix.rb +96 -0
  37. data/lib/bio/appl/probcons.rb +41 -0
  38. data/lib/bio/appl/psort.rb +89 -96
  39. data/lib/bio/appl/psort/report.rb +6 -22
  40. data/lib/bio/appl/pts1.rb +263 -0
  41. data/lib/bio/appl/sim4.rb +26 -36
  42. data/lib/bio/appl/sim4/report.rb +2 -18
  43. data/lib/bio/appl/sosui/report.rb +5 -20
  44. data/lib/bio/appl/spidey/report.rb +2 -2
  45. data/lib/bio/appl/targetp/report.rb +4 -20
  46. data/lib/bio/appl/tcoffee.rb +55 -0
  47. data/lib/bio/appl/tmhmm/report.rb +4 -20
  48. data/lib/bio/command.rb +235 -64
  49. data/lib/bio/data/aa.rb +21 -26
  50. data/lib/bio/data/codontable.rb +2 -20
  51. data/lib/bio/data/na.rb +19 -4
  52. data/lib/bio/db.rb +27 -12
  53. data/lib/bio/db/aaindex.rb +2 -20
  54. data/lib/bio/db/embl/common.rb +4 -21
  55. data/lib/bio/db/embl/embl.rb +33 -85
  56. data/lib/bio/db/embl/sptr.rb +612 -302
  57. data/lib/bio/db/embl/swissprot.rb +10 -29
  58. data/lib/bio/db/embl/trembl.rb +10 -29
  59. data/lib/bio/db/embl/uniprot.rb +10 -29
  60. data/lib/bio/db/fantom.rb +15 -20
  61. data/lib/bio/db/fasta.rb +3 -3
  62. data/lib/bio/db/genbank/common.rb +37 -46
  63. data/lib/bio/db/genbank/ddbj.rb +6 -18
  64. data/lib/bio/db/genbank/genbank.rb +47 -186
  65. data/lib/bio/db/genbank/genpept.rb +4 -17
  66. data/lib/bio/db/genbank/refseq.rb +4 -17
  67. data/lib/bio/db/gff.rb +103 -35
  68. data/lib/bio/db/go.rb +4 -20
  69. data/lib/bio/db/kegg/brite.rb +26 -36
  70. data/lib/bio/db/kegg/compound.rb +81 -85
  71. data/lib/bio/db/kegg/drug.rb +98 -0
  72. data/lib/bio/db/kegg/enzyme.rb +133 -110
  73. data/lib/bio/db/kegg/expression.rb +2 -20
  74. data/lib/bio/db/kegg/genes.rb +208 -238
  75. data/lib/bio/db/kegg/genome.rb +164 -285
  76. data/lib/bio/db/kegg/glycan.rb +114 -157
  77. data/lib/bio/db/kegg/keggtab.rb +242 -303
  78. data/lib/bio/db/kegg/kgml.rb +117 -160
  79. data/lib/bio/db/kegg/orthology.rb +112 -0
  80. data/lib/bio/db/kegg/reaction.rb +54 -69
  81. data/lib/bio/db/kegg/taxonomy.rb +331 -0
  82. data/lib/bio/db/lasergene.rb +209 -0
  83. data/lib/bio/db/litdb.rb +3 -27
  84. data/lib/bio/db/medline.rb +228 -249
  85. data/lib/bio/db/nbrf.rb +3 -3
  86. data/lib/bio/db/newick.rb +510 -0
  87. data/lib/bio/db/nexus.rb +1854 -0
  88. data/lib/bio/db/pdb.rb +5 -17
  89. data/lib/bio/db/pdb/atom.rb +2 -18
  90. data/lib/bio/db/pdb/chain.rb +2 -18
  91. data/lib/bio/db/pdb/chemicalcomponent.rb +2 -18
  92. data/lib/bio/db/pdb/model.rb +2 -18
  93. data/lib/bio/db/pdb/pdb.rb +73 -34
  94. data/lib/bio/db/pdb/residue.rb +4 -20
  95. data/lib/bio/db/pdb/utils.rb +2 -18
  96. data/lib/bio/db/prosite.rb +403 -422
  97. data/lib/bio/db/rebase.rb +84 -40
  98. data/lib/bio/db/soft.rb +404 -0
  99. data/lib/bio/db/transfac.rb +5 -17
  100. data/lib/bio/feature.rb +106 -52
  101. data/lib/bio/io/das.rb +32 -42
  102. data/lib/bio/io/dbget.rb +2 -20
  103. data/lib/bio/io/ddbjxml.rb +77 -138
  104. data/lib/bio/io/ebisoap.rb +158 -0
  105. data/lib/bio/io/ensembl.rb +229 -0
  106. data/lib/bio/io/fastacmd.rb +89 -82
  107. data/lib/bio/io/fetch.rb +163 -96
  108. data/lib/bio/io/flatfile.rb +170 -73
  109. data/lib/bio/io/flatfile/bdb.rb +3 -16
  110. data/lib/bio/io/flatfile/index.rb +2 -2
  111. data/lib/bio/io/flatfile/indexer.rb +3 -2
  112. data/lib/bio/io/higet.rb +12 -31
  113. data/lib/bio/io/keggapi.rb +210 -269
  114. data/lib/bio/io/ncbisoap.rb +155 -0
  115. data/lib/bio/io/pubmed.rb +169 -147
  116. data/lib/bio/io/registry.rb +4 -20
  117. data/lib/bio/io/soapwsdl.rb +43 -38
  118. data/lib/bio/io/sql.rb +242 -305
  119. data/lib/bio/location.rb +407 -285
  120. data/lib/bio/map.rb +410 -0
  121. data/lib/bio/pathway.rb +558 -695
  122. data/lib/bio/reference.rb +272 -75
  123. data/lib/bio/sequence.rb +255 -13
  124. data/lib/bio/sequence/aa.rb +71 -10
  125. data/lib/bio/sequence/common.rb +187 -33
  126. data/lib/bio/sequence/compat.rb +59 -4
  127. data/lib/bio/sequence/format.rb +54 -7
  128. data/lib/bio/sequence/generic.rb +3 -3
  129. data/lib/bio/sequence/na.rb +328 -26
  130. data/lib/bio/shell.rb +11 -4
  131. data/lib/bio/shell/core.rb +221 -160
  132. data/lib/bio/shell/demo.rb +18 -15
  133. data/lib/bio/shell/interface.rb +14 -12
  134. data/lib/bio/shell/irb.rb +95 -0
  135. data/lib/bio/shell/object.rb +45 -26
  136. data/lib/bio/shell/plugin/blast.rb +42 -0
  137. data/lib/bio/shell/plugin/codon.rb +22 -14
  138. data/lib/bio/shell/plugin/das.rb +58 -0
  139. data/lib/bio/shell/plugin/emboss.rb +2 -2
  140. data/lib/bio/shell/plugin/entry.rb +22 -11
  141. data/lib/bio/shell/plugin/flatfile.rb +2 -2
  142. data/lib/bio/shell/plugin/keggapi.rb +13 -6
  143. data/lib/bio/shell/plugin/midi.rb +4 -4
  144. data/lib/bio/shell/plugin/obda.rb +2 -2
  145. data/lib/bio/shell/plugin/psort.rb +56 -0
  146. data/lib/bio/shell/plugin/seq.rb +35 -8
  147. data/lib/bio/shell/plugin/soap.rb +87 -0
  148. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/bioruby_generator.rb +29 -0
  149. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_classes.rhtml +4 -0
  150. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_log.rhtml +27 -0
  151. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_methods.rhtml +11 -0
  152. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_modules.rhtml +4 -0
  153. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_variables.rhtml +7 -0
  154. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-bg.gif +0 -0
  155. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-console.png +0 -0
  156. data/lib/bio/shell/rails/{public/images/icon.png → vendor/plugins/generators/bioruby/templates/bioruby-gem.png} +0 -0
  157. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-link.gif +0 -0
  158. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby.css +369 -0
  159. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby.rhtml +47 -0
  160. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby_controller.rb +144 -0
  161. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby_helper.rb +47 -0
  162. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/commands.rhtml +8 -0
  163. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/history.rhtml +10 -0
  164. data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/index.rhtml +22 -0
  165. data/lib/bio/shell/script.rb +25 -0
  166. data/lib/bio/shell/setup.rb +109 -0
  167. data/lib/bio/shell/web.rb +70 -58
  168. data/lib/bio/tree.rb +850 -0
  169. data/lib/bio/util/color_scheme.rb +84 -107
  170. data/lib/bio/util/color_scheme/buried.rb +5 -24
  171. data/lib/bio/util/color_scheme/helix.rb +5 -24
  172. data/lib/bio/util/color_scheme/hydropathy.rb +5 -24
  173. data/lib/bio/util/color_scheme/nucleotide.rb +5 -24
  174. data/lib/bio/util/color_scheme/strand.rb +5 -24
  175. data/lib/bio/util/color_scheme/taylor.rb +5 -24
  176. data/lib/bio/util/color_scheme/turn.rb +5 -24
  177. data/lib/bio/util/color_scheme/zappo.rb +5 -24
  178. data/lib/bio/util/contingency_table.rb +70 -43
  179. data/lib/bio/util/restriction_enzyme.rb +228 -0
  180. data/lib/bio/util/restriction_enzyme/analysis.rb +249 -0
  181. data/lib/bio/util/restriction_enzyme/analysis_basic.rb +217 -0
  182. data/lib/bio/util/restriction_enzyme/cut_symbol.rb +107 -0
  183. data/lib/bio/util/restriction_enzyme/double_stranded.rb +321 -0
  184. data/lib/bio/util/restriction_enzyme/double_stranded/aligned_strands.rb +130 -0
  185. data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair.rb +103 -0
  186. data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair_in_enzyme_notation.rb +38 -0
  187. data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations.rb +76 -0
  188. data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations_in_enzyme_notation.rb +107 -0
  189. data/lib/bio/util/restriction_enzyme/enzymes.yaml +7061 -0
  190. data/lib/bio/util/restriction_enzyme/range/cut_range.rb +24 -0
  191. data/lib/bio/util/restriction_enzyme/range/cut_ranges.rb +47 -0
  192. data/lib/bio/util/restriction_enzyme/range/horizontal_cut_range.rb +67 -0
  193. data/lib/bio/util/restriction_enzyme/range/sequence_range.rb +257 -0
  194. data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +242 -0
  195. data/lib/bio/util/restriction_enzyme/range/sequence_range/fragment.rb +51 -0
  196. data/lib/bio/util/restriction_enzyme/range/sequence_range/fragments.rb +41 -0
  197. data/lib/bio/util/restriction_enzyme/range/vertical_cut_range.rb +77 -0
  198. data/lib/bio/util/restriction_enzyme/single_strand.rb +199 -0
  199. data/lib/bio/util/restriction_enzyme/single_strand/cut_locations_in_enzyme_notation.rb +135 -0
  200. data/lib/bio/util/restriction_enzyme/single_strand_complement.rb +23 -0
  201. data/lib/bio/util/restriction_enzyme/string_formatting.rb +111 -0
  202. data/lib/bio/util/sirna.rb +4 -22
  203. data/sample/color_scheme_na.rb +4 -12
  204. data/sample/enzymes.rb +78 -0
  205. data/sample/goslim.rb +5 -13
  206. data/sample/psortplot_html.rb +4 -12
  207. data/test/data/blast/2.2.15.blastp.m7 +876 -0
  208. data/test/data/embl/AB090716.embl.rel89 +63 -0
  209. data/test/data/fasta/example1.txt +75 -0
  210. data/test/data/fasta/example2.txt +21 -0
  211. data/test/data/iprscan/merged.raw +32 -0
  212. data/test/data/iprscan/merged.txt +74 -0
  213. data/test/data/soft/GDS100_partial.soft +92 -0
  214. data/test/data/soft/GSE3457_family_partial.soft +874 -0
  215. data/test/functional/bio/io/test_ensembl.rb +103 -0
  216. data/test/functional/bio/io/test_soapwsdl.rb +5 -17
  217. data/test/unit/bio/appl/bl2seq/test_report.rb +2 -2
  218. data/test/unit/bio/appl/blast/test_report.rb +3 -16
  219. data/test/unit/bio/appl/blast/test_xmlparser.rb +4 -16
  220. data/test/unit/bio/appl/genscan/test_report.rb +3 -16
  221. data/test/unit/bio/appl/hmmer/test_report.rb +3 -16
  222. data/test/unit/bio/appl/iprscan/test_report.rb +338 -0
  223. data/test/unit/bio/appl/mafft/test_report.rb +63 -0
  224. data/test/unit/bio/appl/sosui/test_report.rb +3 -16
  225. data/test/unit/bio/appl/targetp/test_report.rb +3 -16
  226. data/test/unit/bio/appl/test_blast.rb +3 -16
  227. data/test/unit/bio/appl/test_fasta.rb +4 -16
  228. data/test/unit/bio/appl/test_pts1.rb +140 -0
  229. data/test/unit/bio/appl/tmhmm/test_report.rb +3 -16
  230. data/test/unit/bio/data/test_aa.rb +4 -17
  231. data/test/unit/bio/data/test_codontable.rb +3 -16
  232. data/test/unit/bio/data/test_na.rb +3 -3
  233. data/test/unit/bio/db/embl/test_common.rb +3 -16
  234. data/test/unit/bio/db/embl/test_embl.rb +3 -16
  235. data/test/unit/bio/db/embl/test_embl_rel89.rb +219 -0
  236. data/test/unit/bio/db/embl/test_sptr.rb +1548 -41
  237. data/test/unit/bio/db/embl/test_uniprot.rb +3 -16
  238. data/test/unit/bio/db/kegg/test_genes.rb +3 -16
  239. data/test/unit/bio/db/pdb/test_pdb.rb +7 -24
  240. data/test/unit/bio/db/test_aaindex.rb +2 -2
  241. data/test/unit/bio/db/test_fasta.rb +3 -16
  242. data/test/unit/bio/db/test_gff.rb +3 -16
  243. data/test/unit/bio/db/test_lasergene.rb +95 -0
  244. data/test/unit/bio/db/test_newick.rb +56 -0
  245. data/test/unit/bio/db/test_nexus.rb +360 -0
  246. data/test/unit/bio/db/test_prosite.rb +5 -18
  247. data/test/unit/bio/db/test_rebase.rb +11 -25
  248. data/test/unit/bio/db/test_soft.rb +138 -0
  249. data/test/unit/bio/io/test_ddbjxml.rb +5 -17
  250. data/test/unit/bio/io/test_ensembl.rb +109 -0
  251. data/test/unit/bio/io/test_fastacmd.rb +3 -16
  252. data/test/unit/bio/io/test_flatfile.rb +237 -0
  253. data/test/unit/bio/io/test_soapwsdl.rb +4 -17
  254. data/test/unit/bio/sequence/test_aa.rb +3 -3
  255. data/test/unit/bio/sequence/test_common.rb +3 -16
  256. data/test/unit/bio/sequence/test_compat.rb +3 -16
  257. data/test/unit/bio/sequence/test_na.rb +29 -3
  258. data/test/unit/bio/shell/plugin/test_seq.rb +8 -8
  259. data/test/unit/bio/test_alignment.rb +16 -27
  260. data/test/unit/bio/test_command.rb +242 -25
  261. data/test/unit/bio/test_db.rb +3 -16
  262. data/test/unit/bio/test_feature.rb +4 -16
  263. data/test/unit/bio/test_location.rb +4 -16
  264. data/test/unit/bio/test_map.rb +230 -0
  265. data/test/unit/bio/test_pathway.rb +4 -16
  266. data/test/unit/bio/test_reference.rb +2 -2
  267. data/test/unit/bio/test_sequence.rb +7 -19
  268. data/test/unit/bio/test_shell.rb +3 -16
  269. data/test/unit/bio/test_tree.rb +593 -0
  270. data/test/unit/bio/util/restriction_enzyme/analysis/test_calculated_cuts.rb +299 -0
  271. data/test/unit/bio/util/restriction_enzyme/analysis/test_cut_ranges.rb +103 -0
  272. data/test/unit/bio/util/restriction_enzyme/analysis/test_sequence_range.rb +240 -0
  273. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_aligned_strands.rb +100 -0
  274. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair.rb +75 -0
  275. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair_in_enzyme_notation.rb +73 -0
  276. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations.rb +53 -0
  277. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations_in_enzyme_notation.rb +104 -0
  278. data/test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb +83 -0
  279. data/test/unit/bio/util/restriction_enzyme/test_analysis.rb +246 -0
  280. data/test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb +44 -0
  281. data/test/unit/bio/util/restriction_enzyme/test_double_stranded.rb +115 -0
  282. data/test/unit/bio/util/restriction_enzyme/test_single_strand.rb +147 -0
  283. data/test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb +147 -0
  284. data/test/unit/bio/util/restriction_enzyme/test_string_formatting.rb +60 -0
  285. data/test/unit/bio/util/test_color_scheme.rb +6 -18
  286. data/test/unit/bio/util/test_contingency_table.rb +6 -18
  287. data/test/unit/bio/util/test_restriction_enzyme.rb +42 -0
  288. data/test/unit/bio/util/test_sirna.rb +3 -16
  289. metadata +228 -169
  290. data/doc/BioRuby.rd.ja +0 -225
  291. data/doc/Design.rd.ja +0 -341
  292. data/doc/TODO.rd.ja +0 -138
  293. data/lib/bio/appl/fasta/format6.rb +0 -37
  294. data/lib/bio/db/kegg/cell.rb +0 -88
  295. data/lib/bio/db/kegg/ko.rb +0 -178
  296. data/lib/bio/shell/rails/Rakefile +0 -10
  297. data/lib/bio/shell/rails/app/controllers/application.rb +0 -4
  298. data/lib/bio/shell/rails/app/controllers/shell_controller.rb +0 -94
  299. data/lib/bio/shell/rails/app/helpers/application_helper.rb +0 -3
  300. data/lib/bio/shell/rails/app/models/shell_connection.rb +0 -30
  301. data/lib/bio/shell/rails/app/views/layouts/shell.rhtml +0 -37
  302. data/lib/bio/shell/rails/app/views/shell/history.rhtml +0 -5
  303. data/lib/bio/shell/rails/app/views/shell/index.rhtml +0 -2
  304. data/lib/bio/shell/rails/app/views/shell/show.rhtml +0 -13
  305. data/lib/bio/shell/rails/config/boot.rb +0 -19
  306. data/lib/bio/shell/rails/config/database.yml +0 -85
  307. data/lib/bio/shell/rails/config/environment.rb +0 -53
  308. data/lib/bio/shell/rails/config/environments/development.rb +0 -19
  309. data/lib/bio/shell/rails/config/environments/production.rb +0 -19
  310. data/lib/bio/shell/rails/config/environments/test.rb +0 -19
  311. data/lib/bio/shell/rails/config/routes.rb +0 -19
  312. data/lib/bio/shell/rails/doc/README_FOR_APP +0 -2
  313. data/lib/bio/shell/rails/public/404.html +0 -8
  314. data/lib/bio/shell/rails/public/500.html +0 -8
  315. data/lib/bio/shell/rails/public/dispatch.cgi +0 -10
  316. data/lib/bio/shell/rails/public/dispatch.fcgi +0 -24
  317. data/lib/bio/shell/rails/public/dispatch.rb +0 -10
  318. data/lib/bio/shell/rails/public/favicon.ico +0 -0
  319. data/lib/bio/shell/rails/public/images/rails.png +0 -0
  320. data/lib/bio/shell/rails/public/index.html +0 -277
  321. data/lib/bio/shell/rails/public/javascripts/controls.js +0 -750
  322. data/lib/bio/shell/rails/public/javascripts/dragdrop.js +0 -584
  323. data/lib/bio/shell/rails/public/javascripts/effects.js +0 -854
  324. data/lib/bio/shell/rails/public/javascripts/prototype.js +0 -1785
  325. data/lib/bio/shell/rails/public/robots.txt +0 -1
  326. data/lib/bio/shell/rails/public/stylesheets/main.css +0 -187
  327. data/lib/bio/shell/rails/script/about +0 -3
  328. data/lib/bio/shell/rails/script/breakpointer +0 -3
  329. data/lib/bio/shell/rails/script/console +0 -3
  330. data/lib/bio/shell/rails/script/destroy +0 -3
  331. data/lib/bio/shell/rails/script/generate +0 -3
  332. data/lib/bio/shell/rails/script/performance/benchmarker +0 -3
  333. data/lib/bio/shell/rails/script/performance/profiler +0 -3
  334. data/lib/bio/shell/rails/script/plugin +0 -3
  335. data/lib/bio/shell/rails/script/process/reaper +0 -3
  336. data/lib/bio/shell/rails/script/process/spawner +0 -3
  337. data/lib/bio/shell/rails/script/process/spinner +0 -3
  338. data/lib/bio/shell/rails/script/runner +0 -3
  339. data/lib/bio/shell/rails/script/server +0 -42
  340. data/lib/bio/shell/rails/test/test_helper.rb +0 -28
@@ -1,214 +1,203 @@
1
1
  #
2
- # bio/db/kegg/genome.rb - KEGG/GENOME database class
2
+ # = bio/db/kegg/genome.rb - KEGG/GENOME database class
3
3
  #
4
- # Copyright (C) 2001, 2002 KATAYAMA Toshiaki <k@bioruby.org>
4
+ # Copyright:: Copyright (C) 2001, 2002, 2007 Toshiaki Katayama <k@bioruby.org>
5
+ # License:: The Ruby License
5
6
  #
6
- # This library is free software; you can redistribute it and/or
7
- # modify it under the terms of the GNU Lesser General Public
8
- # License as published by the Free Software Foundation; either
9
- # version 2 of the License, or (at your option) any later version.
10
- #
11
- # This library is distributed in the hope that it will be useful,
12
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- # Lesser General Public License for more details.
15
- #
16
- # You should have received a copy of the GNU Lesser General Public
17
- # License along with this library; if not, write to the Free Software
18
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
- #
20
- # $Id: genome.rb,v 0.14 2005/09/08 01:22:11 k Exp $
7
+ # $Id: genome.rb,v 0.18 2007/06/28 11:27:24 k Exp $
21
8
  #
22
9
 
23
10
  require 'bio/db'
24
11
 
25
12
  module Bio
13
+ class KEGG
26
14
 
27
- class KEGG
15
+ # == Description
16
+ #
17
+ # Parser for the KEGG GENOME database
18
+ #
19
+ # == References
20
+ #
21
+ # * ftp://ftp.genome.jp/pub/kegg/genomes/genome
22
+ #
23
+ class GENOME < KEGGDB
28
24
 
29
- class GENOME < KEGGDB
25
+ DELIMITER = RS = "\n///\n"
26
+ TAGSIZE = 12
30
27
 
31
- DELIMITER = RS = "\n///\n"
32
- TAGSIZE = 12
28
+ def initialize(entry)
29
+ super(entry, TAGSIZE)
30
+ end
33
31
 
34
- def initialize(entry)
35
- super(entry, TAGSIZE)
36
- end
37
32
 
33
+ # ENTRY -- Returns contents of the ENTRY record as a String.
34
+ def entry_id
35
+ field_fetch('ENTRY')[/\S+/]
36
+ end
37
+
38
+ # NAME -- Returns contents of the NAME record as a String.
39
+ def name
40
+ field_fetch('NAME')
41
+ end
38
42
 
39
- # ENTRY
40
- def entry_id
41
- field_fetch('ENTRY')
42
- end
43
-
44
- # NAME
45
- def name
46
- field_fetch('NAME')
47
- end
43
+ # DEFINITION -- Returns contents of the DEFINITION record as a String.
44
+ def definition
45
+ field_fetch('DEFINITION')
46
+ end
47
+ alias organism definition
48
+
49
+ # TAXONOMY -- Returns contents of the TAXONOMY record as a Hash.
50
+ def taxonomy
51
+ unless @data['TAXONOMY']
52
+ taxid, lineage = subtag2array(get('TAXONOMY'))
53
+ taxid = taxid ? truncate(tag_cut(taxid)) : ''
54
+ lineage = lineage ? truncate(tag_cut(lineage)) : ''
55
+ @data['TAXONOMY'] = {
56
+ 'taxid' => taxid,
57
+ 'lineage' => lineage,
58
+ }
59
+ @data['TAXONOMY'].default = ''
60
+ end
61
+ @data['TAXONOMY']
62
+ end
48
63
 
49
- # DEFINITION
50
- def definition
51
- field_fetch('DEFINITION')
52
- end
53
- alias organism definition
54
-
55
- # TAXONOMY
56
- def taxonomy
57
- unless @data['TAXONOMY']
58
- taxid, lineage = subtag2array(get('TAXONOMY'))
59
- taxid = taxid ? truncate(tag_cut(taxid)) : ''
60
- lineage = lineage ? truncate(tag_cut(lineage)) : ''
61
- @data['TAXONOMY'] = {
62
- 'taxid' => taxid,
63
- 'lineage' => lineage,
64
- }
65
- @data['TAXONOMY'].default = ''
66
- end
67
- @data['TAXONOMY']
68
- end
64
+ # Returns NCBI taxonomy ID from the TAXONOMY record as a String.
65
+ def taxid
66
+ taxonomy['taxid']
67
+ end
69
68
 
70
- def taxid
71
- taxonomy['taxid']
72
- end
69
+ # Returns contents of the TAXONOMY/LINEAGE record as a String.
70
+ def lineage
71
+ taxonomy['lineage']
72
+ end
73
73
 
74
- def lineage
75
- taxonomy['lineage']
76
- end
74
+ # DATA_SOURCE -- Returns contents of the DATA_SOURCE record as a String.
75
+ def data_source
76
+ field_fetch('DATA_SOURCE')
77
+ end
77
78
 
78
- # COMMENT
79
- def comment
80
- field_fetch('COMMENT')
81
- end
82
-
83
- # REFERENCE
84
- def references
85
- unless @data['REFERENCE']
86
- ary = []
87
- toptag2array(get('REFERENCE')).each do |ref|
88
- hash = Hash.new('')
89
- subtag2array(ref).each do |field|
90
- case tag_get(field)
91
- when /AUTHORS/
92
- authors = truncate(tag_cut(field))
93
- authors = authors.split(', ')
94
- authors[-1] = authors[-1].split(/\s+and\s+/)
95
- authors = authors.flatten.map { |a| a.sub(',', ', ') }
96
- hash['authors'] = authors
97
- when /TITLE/
98
- hash['title'] = truncate(tag_cut(field))
99
- when /JOURNAL/
100
- journal = truncate(tag_cut(field))
101
- if journal =~ /(.*) (\d+):(\d+)-(\d+) \((\d+)\) \[UI:(\d+)\]$/
102
- hash['journal'] = $1
103
- hash['volume'] = $2
104
- hash['pages'] = $3
105
- hash['year'] = $5
106
- hash['medline'] = $6
107
- else
108
- hash['journal'] = journal
109
- end
110
- end
111
- end
112
- ary.push(Reference.new(hash))
113
- end
114
- @data['REFERENCE'] = References.new(ary)
115
- end
116
- @data['REFERENCE']
117
- end
79
+ # ORIGINAL_DB -- Returns contents of the ORIGINAL_DB record as a String.
80
+ def original_db
81
+ field_fetch('ORIGINAL_DB')
82
+ end
118
83
 
119
- # CHROMOSOME
120
- def chromosomes
121
- unless @data['CHROMOSOME']
122
- @data['CHROMOSOME'] = []
123
- toptag2array(get('CHROMOSOME')).each do |chr|
124
- hash = Hash.new('')
125
- subtag2array(chr).each do |field|
126
- hash[tag_get(field)] = truncate(tag_cut(field))
127
- end
128
- @data['CHROMOSOME'].push(hash)
129
- end
130
- end
131
- @data['CHROMOSOME']
132
- end
84
+ # DISEASE -- Returns contents of the COMMENT record as a String.
85
+ def disease
86
+ field_fetch('DISEASE')
87
+ end
133
88
 
134
- # PLASMID
135
- def plasmids
136
- unless @data['PLASMID']
137
- @data['PLASMID'] = []
138
- toptag2array(get('PLASMID')).each do |chr|
139
- hash = Hash.new('')
140
- subtag2array(chr).each do |field|
141
- hash[tag_get(field)] = truncate(tag_cut(field))
89
+ # COMMENT -- Returns contents of the COMMENT record as a String.
90
+ def comment
91
+ field_fetch('COMMENT')
92
+ end
93
+
94
+ # REFERENCE -- Returns contents of the REFERENCE records as an Array of
95
+ # Bio::Reference objects.
96
+ def references
97
+ unless @data['REFERENCE']
98
+ ary = []
99
+ toptag2array(get('REFERENCE')).each do |ref|
100
+ hash = Hash.new('')
101
+ subtag2array(ref).each do |field|
102
+ case tag_get(field)
103
+ when /AUTHORS/
104
+ authors = truncate(tag_cut(field))
105
+ authors = authors.split(', ')
106
+ authors[-1] = authors[-1].split(/\s+and\s+/)
107
+ authors = authors.flatten.map { |a| a.sub(',', ', ') }
108
+ hash['authors'] = authors
109
+ when /TITLE/
110
+ hash['title'] = truncate(tag_cut(field))
111
+ when /JOURNAL/
112
+ journal = truncate(tag_cut(field))
113
+ if journal =~ /(.*) (\d+):(\d+)-(\d+) \((\d+)\) \[UI:(\d+)\]$/
114
+ hash['journal'] = $1
115
+ hash['volume'] = $2
116
+ hash['pages'] = $3
117
+ hash['year'] = $5
118
+ hash['medline'] = $6
119
+ else
120
+ hash['journal'] = journal
142
121
  end
143
- @data['PLASMID'].push(hash)
144
122
  end
145
123
  end
146
- @data['PLASMID']
124
+ ary.push(Reference.new(hash))
147
125
  end
126
+ @data['REFERENCE'] = References.new(ary)
127
+ end
128
+ @data['REFERENCE']
129
+ end
148
130
 
149
- # SCAFFOLD
150
- def scaffolds
151
- unless @data['SCAFFOLD']
152
- @data['SCAFFOLD'] = []
153
- toptag2array(get('SCAFFOLD')).each do |chr|
154
- hash = Hash.new('')
155
- subtag2array(chr).each do |field|
156
- hash[tag_get(field)] = truncate(tag_cut(field))
157
- end
158
- @data['SCAFFOLD'].push(hash)
159
- end
131
+ # CHROMOSOME -- Returns contents of the CHROMOSOME records as an Array
132
+ # of Hash.
133
+ def chromosomes
134
+ unless @data['CHROMOSOME']
135
+ @data['CHROMOSOME'] = []
136
+ toptag2array(get('CHROMOSOME')).each do |chr|
137
+ hash = Hash.new('')
138
+ subtag2array(chr).each do |field|
139
+ hash[tag_get(field)] = truncate(tag_cut(field))
160
140
  end
161
- @data['SCAFFOLD']
141
+ @data['CHROMOSOME'].push(hash)
162
142
  end
143
+ end
144
+ @data['CHROMOSOME']
145
+ end
163
146
 
164
- # STATISTICS
165
- def statistics
166
- unless @data['STATISTICS']
167
- hash = Hash.new(0.0)
168
- get('STATISTICS').each_line do |line|
169
- case line
170
- when /nucleotides:\s+(\d+)/
171
- hash['nalen'] = $1.to_i
172
- when /protein genes:\s+(\d+)/
173
- hash['num_gene'] = $1.to_i
174
- when /RNA genes:\s+(\d+)/
175
- hash['num_rna'] = $1.to_i
176
- when /G\+C content:\s+(\d+.\d+)/
177
- hash['gc'] = $1.to_f
178
- end
179
- end
180
- @data['STATISTICS'] = hash
147
+ # PLASMID -- Returns contents of the PLASMID records as an Array of Hash.
148
+ def plasmids
149
+ unless @data['PLASMID']
150
+ @data['PLASMID'] = []
151
+ toptag2array(get('PLASMID')).each do |chr|
152
+ hash = Hash.new('')
153
+ subtag2array(chr).each do |field|
154
+ hash[tag_get(field)] = truncate(tag_cut(field))
181
155
  end
182
- @data['STATISTICS']
183
- end
184
-
185
- def nalen
186
- statistics['nalen']
187
- end
188
- alias length nalen
189
-
190
- def num_gene
191
- statistics['num_gene']
156
+ @data['PLASMID'].push(hash)
192
157
  end
158
+ end
159
+ @data['PLASMID']
160
+ end
193
161
 
194
- def num_rna
195
- statistics['num_rna']
162
+ # STATISTICS -- Returns contents of the STATISTICS record as a Hash.
163
+ def statistics
164
+ unless @data['STATISTICS']
165
+ hash = Hash.new(0.0)
166
+ get('STATISTICS').each_line do |line|
167
+ case line
168
+ when /nucleotides:\s+(\d+)/
169
+ hash['num_nuc'] = $1.to_i
170
+ when /protein genes:\s+(\d+)/
171
+ hash['num_gene'] = $1.to_i
172
+ when /RNA genes:\s+(\d+)/
173
+ hash['num_rna'] = $1.to_i
174
+ end
196
175
  end
176
+ @data['STATISTICS'] = hash
177
+ end
178
+ @data['STATISTICS']
179
+ end
197
180
 
198
- def gc
199
- statistics['gc']
200
- end
181
+ # Returns number of nucleotides from the STATISTICS record as a Fixnum.
182
+ def nalen
183
+ statistics['num_nuc']
184
+ end
185
+ alias length nalen
201
186
 
202
- # GENOMEMAP
203
- def genomemap
204
- field_fetch('GENOMEMAP')
205
- end
187
+ # Returns number of protein genes from the STATISTICS record as a Fixnum.
188
+ def num_gene
189
+ statistics['num_gene']
190
+ end
206
191
 
207
- end
208
-
192
+ # Returns number of rna from the STATISTICS record as a Fixnum.
193
+ def num_rna
194
+ statistics['num_rna']
209
195
  end
210
196
 
211
- end
197
+ end # GENOME
198
+
199
+ end # KEGG
200
+ end # Bio
212
201
 
213
202
 
214
203
 
@@ -237,9 +226,7 @@ if __FILE__ == $0
237
226
  %w( REFERENCE references ),
238
227
  %w( CHROMOSOME chromosomes ),
239
228
  %w( PLASMID plasmids ),
240
- %w( SCAFFOLD plasmids ),
241
- %w( STATISTICS statistics nalen num_gene num_rna gc ),
242
- %w( GENOMEMAP genomemap ),
229
+ %w( STATISTICS statistics nalen num_gene num_rna ),
243
230
  ].each do |x|
244
231
  puts "### " + x.shift
245
232
  x.each do |m|
@@ -252,111 +239,3 @@ if __FILE__ == $0
252
239
  end
253
240
 
254
241
 
255
- =begin
256
-
257
- = Bio::KEGG::GENOME
258
-
259
- === Initialize
260
-
261
- --- Bio::KEGG::GENOME.new(entry)
262
-
263
- === ENTRY
264
-
265
- --- Bio::KEGG::GENOME#entry_id -> String
266
-
267
- Returns contents of the ENTRY record as a String.
268
-
269
- === NAME
270
-
271
- --- Bio::KEGG::GENOME#name -> String
272
-
273
- Returns contents of the NAME record as a String.
274
-
275
- === DEFINITION
276
-
277
- --- Bio::KEGG::GENOME#definition -> String
278
-
279
- Returns contents of the DEFINITION record as a String.
280
-
281
- --- Bio::KEGG::GENOME#organism -> String
282
-
283
- Alias for the 'definition' method.
284
-
285
- === TAXONOMY
286
-
287
- --- Bio::KEGG::GENOME#taxonomy -> Hash
288
-
289
- Returns contents of the TAXONOMY record as a Hash.
290
-
291
- --- Bio::KEGG::GENOME#taxid -> String
292
-
293
- Returns NCBI taxonomy ID from the TAXONOMY record as a String.
294
-
295
- --- Bio::KEGG::GENOME#lineage -> String
296
-
297
- Returns contents of the TAXONOMY/LINEAGE record as a String.
298
-
299
- === COMMENT
300
-
301
- --- Bio::KEGG::GENOME#comment -> String
302
-
303
- Returns contents of the COMMENT record as a String.
304
-
305
- === REFERENCE
306
-
307
- --- Bio::GenBank#references -> Array
308
-
309
- Returns contents of the REFERENCE records as an Array of Bio::Reference
310
- objects.
311
-
312
- === CHROMOSOME
313
-
314
- --- Bio::KEGG::GENOME#chromosomes -> Array
315
-
316
- Returns contents of the CHROMOSOME records as an Array of Hash.
317
-
318
- === PLASMID
319
-
320
- --- Bio::KEGG::GENOME#plasmids -> Array
321
-
322
- Returns contents of the PLASMID records as an Array of Hash.
323
-
324
- === SCAFFOLD
325
-
326
- --- Bio::KEGG::GENOME#scaffolds -> Array
327
-
328
- Returns contents of the SCAFFOLD records as an Array of Hash.
329
-
330
- === STATISTICS
331
-
332
- --- Bio::KEGG::GENOME#statistics -> Hash
333
-
334
- Returns contents of the STATISTICS record as a Hash.
335
-
336
- --- Bio::KEGG::GENOME#nalen -> Fixnum
337
-
338
- Returns number of nucleotides from the STATISTICS record as a Fixnum.
339
-
340
- --- Bio::KEGG::GENOME#num_gene -> Fixnum
341
-
342
- Returns number of protein genes from the STATISTICS record as a Fixnum.
343
-
344
- --- Bio::KEGG::GENOME#num_rna -> Fixnum
345
-
346
- Returns number of rna from the STATISTICS record as a Fixnum.
347
-
348
- --- Bio::KEGG::GENOME#gc -> Float
349
-
350
- Returns G+C content from the STATISTICS record as a Float.
351
-
352
- === GENOMEMAP
353
-
354
- --- Bio::KEGG::GENOME#genomemap -> String
355
-
356
- Returns contents of the GENOMEMAP record as a String.
357
-
358
- == SEE ALSO
359
-
360
- ftp://ftp.genome.jp/pub/kegg/genomes/genome
361
-
362
- =end