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,24 +1,15 @@
1
1
  #
2
- # bio/appl/blast/rexml.rb - BLAST XML output (-m 7) parser by REXML
2
+ # = bio/appl/blast/rexml.rb - BLAST XML output (-m 7) parser by REXML
3
3
  #
4
- # Copyright (C) 2002,2003 KATAYAMA Toshiaki <k@bioruby.org>
4
+ # Copyright:: Copyright (C) 2002, 2003 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: rexml.rb,v 1.10 2005/09/08 01:22:08 k Exp $
7
+ # $Id: rexml.rb,v 1.12 2007/04/05 23:35:39 trevor Exp $
21
8
  #
9
+ # == Note
10
+ #
11
+ # This file is automatically loaded by bio/appl/blast/report.rb
12
+ #
22
13
 
23
14
  begin
24
15
  require 'rexml/document'
@@ -144,8 +135,3 @@ module Bio
144
135
  end
145
136
 
146
137
 
147
- =begin
148
-
149
- This file is automatically loaded by bio/appl/blast/report.rb
150
-
151
- =end
@@ -1,19 +1,22 @@
1
1
  #
2
2
  # = bio/appl/blast/wublast.rb - WU-BLAST default output parser
3
3
  #
4
- # Copyright:: Copyright (C) 2003 GOTO Naohisa <ng@bioruby.org>
5
- # License:: Ruby's
4
+ # Copyright:: Copyright (C) 2003 GOTO Naohisa <ng@bioruby.org>
5
+ # License:: The Ruby License
6
6
  #
7
- # $Id: wublast.rb,v 1.6 2006/02/22 08:46:15 ngoto Exp $
7
+ # $Id: wublast.rb,v 1.11 2007/04/21 08:58:17 ngoto Exp $
8
8
  #
9
- # WU-BLAST default output parser.
9
+ # == Description
10
10
  #
11
- # The parser is still incomplete and may contain many bugs,
12
- # because I didn't have WU-BLAST license.
13
- # It was tested under web-based WU-BLAST results and
14
- # obsolete version downloaded from http://blast.wustl.edu/ .
11
+ # WU-BLAST default output parser.
12
+ #
13
+ # The parser is still incomplete and may contain many bugs,
14
+ # because I didn't have WU-BLAST license.
15
+ # It was tested under web-based WU-BLAST results and
16
+ # obsolete version downloaded from http://blast.wustl.edu/ .
17
+ #
18
+ # == References
15
19
  #
16
- # = References
17
20
  # * http://blast.wustl.edu/
18
21
  # * http://www.ebi.ac.uk/blast2/
19
22
  #
@@ -134,6 +137,10 @@ module Bio
134
137
  end
135
138
  end
136
139
  end
140
+ if ev = @parameters['E'] then
141
+ ev = '1' + ev if ev[0] == ?e
142
+ @parameters['E'] = ev.to_f
143
+ end
137
144
  @parse_parameters = true
138
145
  end
139
146
  end
@@ -245,10 +252,12 @@ module Bio
245
252
  @hits[i] = h
246
253
  end
247
254
  z.pop if flag_tblast #ignore Reading Frame
248
- scr = z.pop.to_s
255
+ scr = z.pop
256
+ scr = (scr ? scr.to_i : nil)
249
257
  pval = z.pop.to_s
258
+ pval = '1' + pval if pval[0] == ?e
259
+ pval = (pval.empty? ? (1.0/0.0) : pval.to_f)
250
260
  nnum = z.pop.to_i
251
- #ev = '1' + ev if ev[0] == ?e
252
261
  h.instance_eval {
253
262
  @score = scr
254
263
  @pvalue = pval
@@ -280,7 +289,7 @@ module Bio
280
289
  data.shift
281
290
  r = data.first
282
291
  end
283
- if /^\s+Score/ =~ r then
292
+ if /\A\s+Score/ =~ r then
284
293
  @hsps << HSP.new(data)
285
294
  else
286
295
  break
@@ -1,24 +1,22 @@
1
1
  #
2
- # bio/appl/blast/xmlparser.rb - BLAST XML output (-m 7) parser by XMLParser
2
+ # = bio/appl/blast/xmlparser.rb - BLAST XML output (-m 7) parser by XMLParser
3
3
  #
4
- # Copyright (C) 2001 Mitsuteru C. Nakao <n@bioruby.org>
5
- # Copyright (C) 2003 KATAYAMA Toshiaki <k@bioruby.org>
4
+ # Copyright:: Copyright (C) 2001
5
+ # Mitsuteru C. Nakao <n@bioruby.org>
6
+ # Copyright:: Copyright (C) 2003
7
+ # Toshiaki Katayama <k@bioruby.org>
8
+ # License:: The Ruby License
6
9
  #
7
- # This library is free software; you can redistribute it and/or
8
- # modify it under the terms of the GNU Lesser General Public
9
- # License as published by the Free Software Foundation; either
10
- # version 2 of the License, or (at your option) any later version.
10
+ # $Id: xmlparser.rb,v 1.17 2007/04/05 23:35:39 trevor Exp $
11
11
  #
12
- # This library is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
- # Lesser General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU Lesser General Public
18
- # License along with this library; if not, write to the Free Software
19
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
12
+ # == Description
13
+ #
14
+ # A parser for blast XML report (format 7) based on the XMLParser.
15
+ # This file is automatically loaded by bio/appl/blast/report.rb if
16
+ # the XMLParser installed.
20
17
  #
21
- # $Id: xmlparser.rb,v 1.13 2005/09/08 01:22:08 k Exp $
18
+ # BioRuby provides two implements of the paser for the blast XML format report
19
+ # (format 7) based on the XMLParser and the REXML.
22
20
  #
23
21
 
24
22
  begin
@@ -27,192 +25,191 @@ rescue LoadError
27
25
  end
28
26
 
29
27
  module Bio
30
- class Blast
31
- class Report
32
-
33
- private
34
-
35
- def xmlparser_parse(xml)
36
- parser = XMLParser.new
37
- def parser.default; end
38
-
39
- begin
40
- tag_stack = Array.new
41
- hash = Hash.new
42
-
43
- parser.parse(xml) do |type, name, data|
44
- #print "type=#{type.inspect} name=#{name.inspect} data=#{data.inspect}\n" # for DEBUG
45
- case type
46
- when XMLParser::START_ELEM
47
- tag_stack.push(name)
48
- hash.update(data)
49
- case name
50
- when 'Iteration'
51
- iteration = Iteration.new
52
- @iterations.push(iteration)
53
- when 'Hit'
54
- hit = Hit.new
55
- hit.query_id = @query_id
56
- hit.query_def = @query_def
57
- hit.query_len = @query_len
58
- @iterations.last.hits.push(hit)
59
- when 'Hsp'
60
- hsp = Hsp.new
61
- @iterations.last.hits.last.hsps.push(hsp)
62
- end
63
- when XMLParser::END_ELEM
64
- case name
65
- when /^BlastOutput/
66
- xmlparser_parse_program(name,hash)
67
- hash = Hash.new
68
- when /^Parameters$/
69
- xmlparser_parse_parameters(hash)
70
- hash = Hash.new
71
- when /^Iteration/
72
- xmlparser_parse_iteration(name, hash)
73
- hash = Hash.new
74
- when /^Hit/
75
- xmlparser_parse_hit(name, hash)
76
- hash = Hash.new
77
- when /^Hsp$/
78
- xmlparser_parse_hsp(hash)
79
- hash = Hash.new
80
- when /^Statistics$/
81
- xmlparser_parse_statistics(hash)
82
- hash = Hash.new
83
- end
84
- tag_stack.pop
85
- when XMLParser::CDATA
86
- if hash[tag_stack.last].nil?
87
- hash[tag_stack.last] = data unless data.strip.empty?
88
- else
89
- hash[tag_stack.last].concat(data) if data
90
- end
91
- when XMLParser::PI
28
+ class Blast
29
+ class Report
30
+
31
+ private
32
+
33
+ def xmlparser_parse(xml)
34
+ parser = XMLParser.new
35
+ def parser.default; end
36
+
37
+ begin
38
+ tag_stack = Array.new
39
+ hash = Hash.new
40
+
41
+ parser.parse(xml) do |type, name, data|
42
+ case type
43
+ when XMLParser::START_ELEM
44
+ tag_stack.push(name)
45
+ hash.update(data)
46
+ case name
47
+ when 'Iteration'
48
+ iteration = Iteration.new
49
+ @iterations.push(iteration)
50
+ when 'Hit'
51
+ hit = Hit.new
52
+ hit.query_id = @query_id
53
+ hit.query_def = @query_def
54
+ hit.query_len = @query_len
55
+ @iterations.last.hits.push(hit)
56
+ when 'Hsp'
57
+ hsp = Hsp.new
58
+ @iterations.last.hits.last.hsps.push(hsp)
59
+ end
60
+ when XMLParser::END_ELEM
61
+ case name
62
+ when /^BlastOutput/
63
+ xmlparser_parse_program(name,hash)
64
+ hash = Hash.new
65
+ when /^Parameters$/
66
+ xmlparser_parse_parameters(hash)
67
+ hash = Hash.new
68
+ when /^Iteration/
69
+ xmlparser_parse_iteration(name, hash)
70
+ hash = Hash.new
71
+ when /^Hit/
72
+ xmlparser_parse_hit(name, hash)
73
+ hash = Hash.new
74
+ when /^Hsp$/
75
+ xmlparser_parse_hsp(hash)
76
+ hash = Hash.new
77
+ when /^Statistics$/
78
+ xmlparser_parse_statistics(hash)
79
+ hash = Hash.new
92
80
  end
81
+ tag_stack.pop
82
+ when XMLParser::CDATA
83
+ if hash[tag_stack.last].nil?
84
+ hash[tag_stack.last] = data unless data.strip.empty?
85
+ else
86
+ hash[tag_stack.last].concat(data) if data
87
+ end
88
+ when XMLParser::PI
93
89
  end
94
- rescue XMLParserError
95
- line = parser.line
96
- column = parser.column
97
- print "Parse error at #{line}(#{column}) : #{$!}\n"
98
90
  end
91
+ rescue XMLParserError
92
+ line = parser.line
93
+ column = parser.column
94
+ print "Parse error at #{line}(#{column}) : #{$!}\n"
99
95
  end
96
+ end
100
97
 
101
98
 
102
- def xmlparser_parse_program(tag, hash)
103
- case tag
104
- when 'BlastOutput_program'
105
- @program = hash[tag]
106
- when 'BlastOutput_version'
107
- @version = hash[tag]
108
- when 'BlastOutput_reference'
109
- @reference = hash[tag]
110
- when 'BlastOutput_db'
111
- @db = hash[tag].strip
112
- when 'BlastOutput_query-ID'
113
- @query_id = hash[tag]
114
- when 'BlastOutput_query-def'
115
- @query_def = hash[tag]
116
- when 'BlastOutput_query-len'
117
- @query_len = hash[tag].to_i
118
- end
99
+ def xmlparser_parse_program(tag, hash)
100
+ case tag
101
+ when 'BlastOutput_program'
102
+ @program = hash[tag]
103
+ when 'BlastOutput_version'
104
+ @version = hash[tag]
105
+ when 'BlastOutput_reference'
106
+ @reference = hash[tag]
107
+ when 'BlastOutput_db'
108
+ @db = hash[tag].strip
109
+ when 'BlastOutput_query-ID'
110
+ @query_id = hash[tag]
111
+ when 'BlastOutput_query-def'
112
+ @query_def = hash[tag]
113
+ when 'BlastOutput_query-len'
114
+ @query_len = hash[tag].to_i
119
115
  end
116
+ end
120
117
 
121
- def xmlparser_parse_parameters(hash)
122
- labels = {
123
- 'matrix' => 'Parameters_matrix',
124
- 'expect' => 'Parameters_expect',
125
- 'include' => 'Parameters_include',
126
- 'sc-match' => 'Parameters_sc-match',
127
- 'sc-mismatch' => 'Parameters_sc-mismatch',
128
- 'gap-open' => 'Parameters_gap-open',
129
- 'gap-extend' => 'Parameters_gap-extend',
130
- 'filter' => 'Parameters_filter',
131
- 'pattern' => 'Parameters_pattern',
132
- 'entrez-query'=> 'Parameters_entrez-query',
133
- }
134
- labels.each do |k,v|
135
- case k
136
- when 'filter', 'matrix'
137
- @parameters[k] = hash[v].to_s
138
- else
139
- @parameters[k] = hash[v].to_i
140
- end
118
+ def xmlparser_parse_parameters(hash)
119
+ labels = {
120
+ 'matrix' => 'Parameters_matrix',
121
+ 'expect' => 'Parameters_expect',
122
+ 'include' => 'Parameters_include',
123
+ 'sc-match' => 'Parameters_sc-match',
124
+ 'sc-mismatch' => 'Parameters_sc-mismatch',
125
+ 'gap-open' => 'Parameters_gap-open',
126
+ 'gap-extend' => 'Parameters_gap-extend',
127
+ 'filter' => 'Parameters_filter',
128
+ 'pattern' => 'Parameters_pattern',
129
+ 'entrez-query' => 'Parameters_entrez-query',
130
+ }
131
+ labels.each do |k,v|
132
+ case k
133
+ when 'filter', 'matrix'
134
+ @parameters[k] = hash[v].to_s
135
+ else
136
+ @parameters[k] = hash[v].to_i
141
137
  end
142
138
  end
139
+ end
143
140
 
144
- def xmlparser_parse_iteration(tag, hash)
145
- case tag
146
- when 'Iteration_iter-num'
147
- @iterations.last.num = hash[tag].to_i
148
- when 'Iteration_message'
149
- @iterations.last.message = hash[tag].to_s
150
- end
141
+ def xmlparser_parse_iteration(tag, hash)
142
+ case tag
143
+ when 'Iteration_iter-num'
144
+ @iterations.last.num = hash[tag].to_i
145
+ when 'Iteration_message'
146
+ @iterations.last.message = hash[tag].to_s
151
147
  end
148
+ end
152
149
 
153
- def xmlparser_parse_hit(tag, hash)
154
- hit = @iterations.last.hits.last
155
- case tag
156
- when 'Hit_num'
157
- hit.num = hash[tag].to_i
158
- when 'Hit_id'
159
- hit.hit_id = hash[tag].clone
160
- when 'Hit_def'
161
- hit.definition = hash[tag].clone
162
- when 'Hit_accession'
163
- hit.accession = hash[tag].clone
164
- when 'Hit_len'
165
- hit.len = hash[tag].clone.to_i
166
- end
150
+ def xmlparser_parse_hit(tag, hash)
151
+ hit = @iterations.last.hits.last
152
+ case tag
153
+ when 'Hit_num'
154
+ hit.num = hash[tag].to_i
155
+ when 'Hit_id'
156
+ hit.hit_id = hash[tag].clone
157
+ when 'Hit_def'
158
+ hit.definition = hash[tag].clone
159
+ when 'Hit_accession'
160
+ hit.accession = hash[tag].clone
161
+ when 'Hit_len'
162
+ hit.len = hash[tag].clone.to_i
167
163
  end
164
+ end
168
165
 
169
- def xmlparser_parse_hsp(hash)
170
- hsp = @iterations.last.hits.last.hsps.last
171
- hsp.num = hash['Hsp_num'].to_i
172
- hsp.bit_score = hash['Hsp_bit-score'].to_f
173
- hsp.score = hash['Hsp_score'].to_i
174
- hsp.evalue = hash['Hsp_evalue'].to_f
175
- hsp.query_from = hash['Hsp_query-from'].to_i
176
- hsp.query_to = hash['Hsp_query-to'].to_i
177
- hsp.hit_from = hash['Hsp_hit-from'].to_i
178
- hsp.hit_to = hash['Hsp_hit-to'].to_i
179
- hsp.pattern_from = hash['Hsp_pattern-from'].to_i
180
- hsp.pattern_to = hash['Hsp_pattern-to'].to_i
181
- hsp.query_frame = hash['Hsp_query-frame'].to_i
182
- hsp.hit_frame = hash['Hsp_hit-frame'].to_i
183
- hsp.identity = hash['Hsp_identity'].to_i
184
- hsp.positive = hash['Hsp_positive'].to_i
185
- hsp.gaps = hash['Hsp_gaps'].to_i
186
- hsp.align_len = hash['Hsp_align-len'].to_i
187
- hsp.density = hash['Hsp_density'].to_i
188
- hsp.qseq = hash['Hsp_qseq']
189
- hsp.hseq = hash['Hsp_hseq']
190
- hsp.midline = hash['Hsp_midline']
191
- end
166
+ def xmlparser_parse_hsp(hash)
167
+ hsp = @iterations.last.hits.last.hsps.last
168
+ hsp.num = hash['Hsp_num'].to_i
169
+ hsp.bit_score = hash['Hsp_bit-score'].to_f
170
+ hsp.score = hash['Hsp_score'].to_i
171
+ hsp.evalue = hash['Hsp_evalue'].to_f
172
+ hsp.query_from = hash['Hsp_query-from'].to_i
173
+ hsp.query_to = hash['Hsp_query-to'].to_i
174
+ hsp.hit_from = hash['Hsp_hit-from'].to_i
175
+ hsp.hit_to = hash['Hsp_hit-to'].to_i
176
+ hsp.pattern_from = hash['Hsp_pattern-from'].to_i
177
+ hsp.pattern_to = hash['Hsp_pattern-to'].to_i
178
+ hsp.query_frame = hash['Hsp_query-frame'].to_i
179
+ hsp.hit_frame = hash['Hsp_hit-frame'].to_i
180
+ hsp.identity = hash['Hsp_identity'].to_i
181
+ hsp.positive = hash['Hsp_positive'].to_i
182
+ hsp.gaps = hash['Hsp_gaps'].to_i
183
+ hsp.align_len = hash['Hsp_align-len'].to_i
184
+ hsp.density = hash['Hsp_density'].to_i
185
+ hsp.qseq = hash['Hsp_qseq']
186
+ hsp.hseq = hash['Hsp_hseq']
187
+ hsp.midline = hash['Hsp_midline']
188
+ end
192
189
 
193
- def xmlparser_parse_statistics(hash)
194
- labels = {
195
- 'db-num' => 'Statistics_db-num',
196
- 'db-len' => 'Statistics_db-len',
197
- 'hsp-len' => 'Statistics_hsp-len',
198
- 'eff-space' => 'Statistics_eff-space',
199
- 'kappa' => 'Statistics_kappa',
200
- 'lambda' => 'Statistics_lambda',
201
- 'entropy' => 'Statistics_entropy'
202
- }
203
- labels.each do |k,v|
204
- case k
205
- when 'db-num', 'db-len', 'hsp-len'
206
- @iterations.last.statistics[k] = hash[v].to_i
207
- else
208
- @iterations.last.statistics[k] = hash[v].to_f
209
- end
190
+ def xmlparser_parse_statistics(hash)
191
+ labels = {
192
+ 'db-num' => 'Statistics_db-num',
193
+ 'db-len' => 'Statistics_db-len',
194
+ 'hsp-len' => 'Statistics_hsp-len',
195
+ 'eff-space' => 'Statistics_eff-space',
196
+ 'kappa' => 'Statistics_kappa',
197
+ 'lambda' => 'Statistics_lambda',
198
+ 'entropy' => 'Statistics_entropy'
199
+ }
200
+ labels.each do |k,v|
201
+ case k
202
+ when 'db-num', 'db-len', 'hsp-len'
203
+ @iterations.last.statistics[k] = hash[v].to_i
204
+ else
205
+ @iterations.last.statistics[k] = hash[v].to_f
210
206
  end
211
207
  end
212
-
213
208
  end
214
- end
215
- end
209
+
210
+ end # class Report
211
+ end # class Blast
212
+ end # module Bio
216
213
 
217
214
 
218
215
  =begin