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
@@ -2,25 +2,9 @@
2
2
  # = bio/appl/bl2seq/report.rb - bl2seq (BLAST 2 sequences) parser
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005 GOTO Naohisa <ng@bioruby.org>
5
- # License:: LGPL
5
+ # License:: The Ruby License
6
6
  #
7
- #--
8
- # This library is free software; you can redistribute it and/or
9
- # modify it under the terms of the GNU Lesser General Public
10
- # License as published by the Free Software Foundation; either
11
- # version 2 of the License, or (at your option) any later version.
12
- #
13
- # This library is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
- # Lesser General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU Lesser General Public
19
- # License along with this library; if not, write to the Free Software
20
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
- #++
22
- #
23
- # $Id: report.rb,v 1.6 2005/12/18 15:58:39 k Exp $
7
+ # $Id: report.rb,v 1.8 2007/04/05 23:35:39 trevor Exp $
24
8
  #
25
9
  # Bio::Bl2seq::Report is a NCBI bl2seq (BLAST 2 sequences) output parser.
26
10
  #
@@ -1,31 +1,12 @@
1
1
  #
2
2
  # = bio/appl/blast.rb - BLAST wrapper
3
3
  #
4
- # Copyright:: Copyright (C) 2001
5
- # Mitsuteru C. Nakao <n@bioruby.org>
6
- # Copyrigth:: Copyright (C) 2002,2003
7
- # KATAYAMA Toshiaki <k@bioruby.org>
8
- # License:: Ruby's
4
+ # Copyright:: Copyright (C) 2001 Mitsuteru C. Nakao <n@bioruby.org>
5
+ # Copyright:: Copyright (C) 2002,2003 Toshiaki Katayama <k@bioruby.org>
6
+ # Copyright:: Copyright (C) 2006 Jan Aerts <jan.aerts@bbsrc.ac.uk>
7
+ # License:: The Ruby License
9
8
  #
10
- # $Id: blast.rb,v 1.28 2006/02/18 16:08:10 nakao Exp $
11
- #
12
- # = Description
13
- #
14
- # = Examples
15
- #
16
- # program = 'blastp'
17
- # database = 'SWISS'
18
- # options = '-e 0.0001'
19
- # serv = Bio::Blast.new(program, database, options)
20
- # server = 'genomenet'
21
- # genomenet = Bio::Blast.remote(program, database, options, server)
22
- # report = serv.query(sequence_text)
23
- #
24
- # = References
25
- #
26
- # * http://www.ncbi.nlm.nih.gov/blast/
27
- #
28
- # * http://blast.genome.jp/ideas/ideas.html#blast
9
+ # $Id: blast.rb,v 1.33 2007/04/05 23:35:39 trevor Exp $
29
10
  #
30
11
 
31
12
  require 'net/http'
@@ -35,39 +16,54 @@ require 'shellwords'
35
16
 
36
17
  module Bio
37
18
 
38
- # BLAST wrapper
39
- #
40
19
  # == Description
20
+ #
21
+ # The Bio::Blast class contains methods for running local or remote BLAST
22
+ # searches, as well as for parsing of the output of such BLASTs (i.e. the
23
+ # BLAST reports). For more information on similarity searches and the BLAST
24
+ # program, see http://www.ncbi.nlm.nih.gov/Education/BLASTinfo/similarity.html.
41
25
  #
42
- # A blastall program wrapper.
43
- #
44
- # == Examples
26
+ # == Usage
45
27
  #
46
- # program = 'blastp'
47
- # database = 'SWISS'
48
- # options = '-e 0.0001'
49
- # serv = Bio::Blast.new(program, database, options)
28
+ # require 'bio'
50
29
  #
51
- # server = 'genomenet'
52
- # genomenet = Bio::Blast.remote(program, database, options, server)
53
- #
54
- # report = serv.query(sequence_text)
30
+ # # To run an actual BLAST analysis:
31
+ # # 1. create a BLAST factory
32
+ # remote_blast_factory = Bio::Blast.remote('blastp', 'SWISS',
33
+ # '-e 0.0001', 'genomenet')
34
+ # #or:
35
+ # local_blast_factory = Bio::Blast.local('blastn','/path/to/db')
36
+ #
37
+ # # 2. run the actual BLAST by querying the factory
38
+ # report = remote_blast_factory.query(sequence_text)
39
+ #
40
+ # # Then, to parse the report, see Bio::Blast::Report
41
+ #
42
+ # === Available databases for Bio::Blast.remote
55
43
  #
56
- # == Available databases for Blast.remote(@program, @db, option, 'genomenet')
44
+ # ----------+-------+---------------------------------------------------
45
+ # program | query | db (supported in GenomeNet)
46
+ # ----------+-------+---------------------------------------------------
47
+ # blastp | AA | nr-aa, genes, vgenes.pep, swissprot, swissprot-upd,
48
+ # ----------+-------+ pir, prf, pdbstr
49
+ # blastx | NA |
50
+ # ----------+-------+---------------------------------------------------
51
+ # blastn | NA | nr-nt, genbank-nonst, gbnonst-upd, dbest, dbgss,
52
+ # ----------+-------+ htgs, dbsts, embl-nonst, embnonst-upd, epd,
53
+ # tblastn | AA | genes-nt, genome, vgenes.nuc
54
+ # ----------+-------+---------------------------------------------------
57
55
  #
58
- # ----------+-------+---------------------------------------------------
59
- # @program | query | @db (supported in GenomeNet)
60
- # ----------+-------+---------------------------------------------------
61
- # blastp | AA | nr-aa, genes, vgenes.pep, swissprot, swissprot-upd,
62
- # ----------+-------+ pir, prf, pdbstr
63
- # blastx | NA |
64
- # ----------+-------+---------------------------------------------------
65
- # blastn | NA | nr-nt, genbank-nonst, gbnonst-upd, dbest, dbgss,
66
- # ----------+-------+ htgs, dbsts, embl-nonst, embnonst-upd, epd,
67
- # tblastn | AA | genes-nt, genome, vgenes.nuc
68
- # ----------+-------+---------------------------------------------------
56
+ # == See also
69
57
  #
70
- # * See http://blast.genome.jp/ideas/ideas.html#blast for more details.
58
+ # * Bio::Blast::Report
59
+ # * Bio::Blast::Report::Hit
60
+ # * Bio::Blast::Report::Hsp
61
+ #
62
+ # == References
63
+ #
64
+ # * http://www.ncbi.nlm.nih.gov/blast/
65
+ # * http://www.ncbi.nlm.nih.gov/Education/BLASTinfo/similarity.html
66
+ # * http://blast.genome.jp/ideas/ideas.html#blast
71
67
  #
72
68
  class Blast
73
69
 
@@ -77,14 +73,31 @@ module Bio
77
73
  autoload :WU, 'bio/appl/blast/wublast'
78
74
  autoload :Bl2seq, 'bio/appl/bl2seq/report'
79
75
 
80
- include Bio::Command::Tools
81
-
82
- # Sets up the blast program at the localhost
76
+ # This is a shortcut for Bio::Blast.new:
77
+ # Bio::Blast.local(program, database, options)
78
+ # is equivalent to
79
+ # Bio::Blast.new(program, database, options, 'local')
80
+ # ---
81
+ # *Arguments*:
82
+ # * _program_ (required): 'blastn', 'blastp', 'blastx', 'tblastn' or 'tblastx'
83
+ # * _db_ (required): name of the local database
84
+ # * _options_: blastall options \
85
+ # (see http://www.genome.jp/dbget-bin/show_man?blast2)
86
+ # *Returns*:: Bio::Blast factory object
83
87
  def self.local(program, db, option = '')
84
88
  self.new(program, db, option, 'local')
85
89
  end
86
90
 
87
- # Sets up the blast program at the remote host (server)
91
+ # Bio::Blast.remote does exactly the same as Bio::Blast.new, but sets
92
+ # the remote server 'genomenet' as its default.
93
+ # ---
94
+ # *Arguments*:
95
+ # * _program_ (required): 'blastn', 'blastp', 'blastx', 'tblastn' or 'tblastx'
96
+ # * _db_ (required): name of the remote database
97
+ # * _options_: blastall options \
98
+ # (see http://www.genome.jp/dbget-bin/show_man?blast2)
99
+ # * _server_: server to use (DEFAULT = 'genomenet')
100
+ # *Returns*:: Bio::Blast factory object
88
101
  def self.remote(program, db, option = '', server = 'genomenet')
89
102
  self.new(program, db, option, server)
90
103
  end
@@ -106,16 +119,17 @@ module Bio
106
119
  end
107
120
 
108
121
 
109
- # Program name for blastall -p (blastp, blastn, blastx, tblastn or tblastx).
122
+ # Program name (_-p_ option for blastall): blastp, blastn, blastx, tblastn
123
+ # or tblastx
110
124
  attr_accessor :program
111
125
 
112
- # Database name for blastall -d
126
+ # Database name (_-d_ option for blastall)
113
127
  attr_accessor :db
114
128
 
115
- # Options for blastall
129
+ # Options for blastall
116
130
  attr_accessor :options
117
131
 
118
- #
132
+ # Server to submit the BLASTs to
119
133
  attr_accessor :server
120
134
 
121
135
  # Full path for blastall. (default: 'blastall').
@@ -140,15 +154,22 @@ module Bio
140
154
  attr_writer :parser # to change :xmlparser, :rexml, :tab
141
155
 
142
156
 
143
- # Returns a blast factory object (Bio::Blast).
144
- #
145
- # --- Bio::Blast.new(program, db, option = '', server = 'local')
146
- # --- Bio::Blast.local(program, db, option = '')
147
- # --- Bio::Blast.remote(program, db, option = '', server = 'genomenet')
148
- #
149
- # For the develpper, you can add server 'hoge' by adding
150
- # exec_hoge(query) method.
151
- #
157
+ # Creates a Bio::Blast factory object.
158
+ #
159
+ # To run any BLAST searches, a factory has to be created that describes a
160
+ # certain BLAST pipeline: the program to use, the database to search, any
161
+ # options and the server to use. E.g.
162
+ #
163
+ # blast_factory = Bio::Blast.new('blastn','dbsts', '-e 0.0001 -r 4', 'genomenet')
164
+ #
165
+ # ---
166
+ # *Arguments*:
167
+ # * _program_ (required): 'blastn', 'blastp', 'blastx', 'tblastn' or 'tblastx'
168
+ # * _db_ (required): name of the (local or remote) database
169
+ # * _options_: blastall options \
170
+ # (see http://www.genome.jp/dbget-bin/show_man?blast2)
171
+ # * _server_: server to use (e.g. 'genomenet'; DEFAULT = 'local')
172
+ # *Returns*:: Bio::Blast factory object
152
173
  def initialize(program, db, opt = [], server = 'local')
153
174
  @program = program
154
175
  @db = db
@@ -177,18 +198,27 @@ module Bio
177
198
  @options = [ *a ]
178
199
  end
179
200
 
180
- # Execute blast search and returns Report object (Bio::Blast::Report).
201
+ # This method submits a sequence to a BLAST factory, which performs the
202
+ # actual BLAST.
203
+ #
204
+ # fasta_sequences = Bio::FlatFile.open(Bio::FastaFormat, 'my_sequences.fa')
205
+ # report = blast_factory.query(fasta_sequences)
206
+ #
207
+ # ---
208
+ # *Arguments*:
209
+ # * _query_ (required): single- or multiple-FASTA formatted sequence(s)
210
+ # *Returns*:: a Bio::Blast::Report object
181
211
  def query(query)
182
212
  return self.send("exec_#{@server}", query.to_s)
183
213
  end
184
214
 
185
- # option reader
215
+ # Returns options of blastall
186
216
  def option
187
217
  # backward compatibility
188
- make_command_line(@options)
218
+ Bio::Command.make_command_line(@options)
189
219
  end
190
220
 
191
- # option setter
221
+ # Set options for blastall
192
222
  def option=(str)
193
223
  # backward compatibility
194
224
  @options = Shellwords.shellwords(str)
@@ -212,12 +242,16 @@ module Bio
212
242
 
213
243
  report = nil
214
244
 
215
- @output = call_command_local(cmd, query)
245
+ @output = Bio::Command.query_command(cmd, query)
216
246
  report = parse_result(@output)
217
247
 
218
248
  return report
219
249
  end
220
250
 
251
+ def exec_genomenet_tab(query)
252
+ @format = 8
253
+ exec_genomenet(query)
254
+ end
221
255
 
222
256
  def exec_genomenet(query)
223
257
  host = "blast.genome.jp"
@@ -236,7 +270,7 @@ module Bio
236
270
  'prog' => @program,
237
271
  'dbname' => @db,
238
272
  'sequence' => CGI.escape(query),
239
- 'other_param' => CGI.escape(make_command_line_unix(opt)),
273
+ 'other_param' => CGI.escape(Bio::Command.make_command_line_unix(opt)),
240
274
  'matrix' => matrix,
241
275
  'filter' => filter,
242
276
  'V_value' => 500, # default value for GenomeNet
@@ -253,7 +287,7 @@ module Bio
253
287
  report = nil
254
288
 
255
289
  begin
256
- http = Net::HTTP.new(host)
290
+ http = Bio::Command.new_http(host)
257
291
  http.open_timeout = 300
258
292
  http.read_timeout = 600
259
293
  result, = http.post(path, data.join('&'))
@@ -284,20 +318,3 @@ module Bio
284
318
 
285
319
  end # module Bio
286
320
 
287
-
288
- if __FILE__ == $0
289
- begin
290
- require 'pp'
291
- alias p pp
292
- rescue
293
- end
294
-
295
- # serv = Bio::Blast.local('blastn', 'hoge.nuc')
296
- # serv = Bio::Blast.local('blastp', 'hoge.pep')
297
- serv = Bio::Blast.remote('blastp', 'genes')
298
-
299
- query = ARGF.read
300
- p serv.query(query)
301
- end
302
-
303
-
@@ -1,11 +1,12 @@
1
1
  #
2
2
  # = bio/appl/blast/format0.rb - BLAST default output (-m 0) parser
3
3
  #
4
- # Author:: Naohisa GOTO
5
- # Copyright:: Copyright (C) 2003-2006 GOTO Naohisa <ng@bioruby.org>
6
- # License:: Ruby's
4
+ # Copyright:: Copyright (C) 2003-2006 GOTO Naohisa <ng@bioruby.org>
5
+ # License:: The Ruby License
7
6
  #
8
- # $Id: format0.rb,v 1.17 2006/02/22 08:46:15 ngoto Exp $
7
+ # $Id: format0.rb,v 1.22 2007/04/21 08:58:17 ngoto Exp $
8
+ #
9
+ # == Description
9
10
  #
10
11
  # NCBI BLAST default (-m 0 option) output parser.
11
12
  #
@@ -326,7 +327,9 @@ module Bio
326
327
  sc.skip(/\s*/)
327
328
  while sc.rest?
328
329
  if sc.match?(/Number of sequences better than +([e\-\.\d]+) *\: *(.+)/) then
329
- @expect = sc[1]
330
+ ev = sc[1]
331
+ ev = '1' + ev if ev[0] == ?e
332
+ @expect = ev.to_f
330
333
  @num_hits = sc[2].tr(',', '').to_i
331
334
  end
332
335
  if sc.skip(/([\-\,\.\'\(\)\#\w ]+)\: *(.*)/) then
@@ -656,8 +659,11 @@ module Bio
656
659
  z.each { |y| y.reverse! }
657
660
  h = Hit.new([ z.pop.to_s.sub(/\.+\z/, '') ])
658
661
  bs = z.pop.to_s
662
+ bs = '1' + bs if bs[0] == ?e
663
+ bs = (bs.empty? ? nil : bs.to_f)
659
664
  ev = z.pop.to_s
660
- #ev = '1' + ev if ev[0] == ?e
665
+ ev = '1' + ev if ev[0] == ?e
666
+ ev = (ev.empty? ? (1.0/0.0) : ev.to_f)
661
667
  h.instance_eval { @bit_score = bs; @evalue = ev }
662
668
  @hits << h
663
669
  end
@@ -780,7 +786,7 @@ module Bio
780
786
  def initialize(data)
781
787
  @f0hitname = data.shift
782
788
  @hsps = []
783
- while r = data[0] and /^\s+Score/ =~ r
789
+ while r = data[0] and /\A\s+Score/ =~ r
784
790
  @hsps << HSP.new(data)
785
791
  end
786
792
  @again = false
@@ -948,11 +954,14 @@ module Bio
948
954
  while sc.rest?
949
955
  sc.skip(/\s*/)
950
956
  if sc.skip(/Expect(?:\(\d\))? *\= *([e\-\.\d]+)/) then
951
- @evalue = sc[1]
952
- #@evalue = '1' + @evalue if @evalue[0] == ?e
957
+ ev = sc[1].to_s
958
+ ev = '1' + ev if ev[0] == ?e
959
+ @evalue = ev.to_f
953
960
  elsif sc.skip(/Score *\= *([e\-\.\d]+) *bits *\( *([e\-\.\d]+) *\)/) then
954
- @bit_score = sc[1]
955
- @score = sc[2]
961
+ bs = sc[1]
962
+ bs = '1' + bs if bs[0] == ?e
963
+ @bit_score = bs.to_f
964
+ @score = sc[2].to_i
956
965
  elsif sc.skip(/(Identities|Positives|Gaps) *\= (\d+) *\/ *(\d+) *\(([\.\d]+) *\% *\)/) then
957
966
  alen = sc[3].to_i
958
967
  @align_len = alen unless defined?(@align_len)
@@ -960,13 +969,13 @@ module Bio
960
969
  case sc[1]
961
970
  when 'Identities'
962
971
  @identity = sc[2].to_i
963
- @percent_identity = sc[4]
972
+ @percent_identity = sc[4].to_i
964
973
  when 'Positives'
965
974
  @positive = sc[2].to_i
966
- @percent_positive = sc[4]
975
+ @percent_positive = sc[4].to_i
967
976
  when 'Gaps'
968
977
  @gaps = sc[2].to_i
969
- @percent_gaps = sc[4]
978
+ @percent_gaps = sc[4].to_i
970
979
  else
971
980
  raise ScanError
972
981
  end
@@ -994,16 +1003,22 @@ module Bio
994
1003
  end
995
1004
  elsif sc.skip(/Score *\= *([e\-\.\d]+) +\(([e\-\.\d]+) *bits *\)/) then
996
1005
  #WU-BLAST
997
- @score = sc[1]
998
- @bit_score = sc[2]
1006
+ @score = sc[1].to_i
1007
+ bs = sc[2]
1008
+ bs = '1' + bs if bs[0] == ?e
1009
+ @bit_score = bs.to_f
999
1010
  elsif sc.skip(/P *\= * ([e\-\.\d]+)/) then
1000
1011
  #WU-BLAST
1001
1012
  @p_sum_n = nil
1002
- @pvalue = sc[1]
1013
+ pv = sc[1]
1014
+ pv = '1' + pv if pv[0] == ?e
1015
+ @pvalue = pv.to_f
1003
1016
  elsif sc.skip(/Sum +P *\( *(\d+) *\) *\= *([e\-\.\d]+)/) then
1004
1017
  #WU-BLAST
1005
1018
  @p_sum_n = sc[1].to_i
1006
- @pvalue = sc[2]
1019
+ pv = sc[2]
1020
+ pv = '1' + pv if pv[0] == ?e
1021
+ @pvalue = pv.to_f
1007
1022
  else
1008
1023
  raise ScanError
1009
1024
  end
@@ -1,23 +1,14 @@
1
1
  #
2
- # bio/appl/blast/format8.rb - BLAST tab-delimited output (-m 8) parser
2
+ # = bio/appl/blast/format8.rb - BLAST tab-delimited output (-m 8) parser
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.
7
+ # $Id: format8.rb,v 1.7 2007/04/05 23:35:39 trevor Exp $
10
8
  #
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.
9
+ # == Note
15
10
  #
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: format8.rb,v 1.5 2005/09/08 01:22:08 k Exp $
11
+ # This file is automatically loaded by bio/appl/blast/report.rb
21
12
  #
22
13
 
23
14
  module Bio
@@ -88,8 +79,3 @@ module Bio
88
79
  end
89
80
 
90
81
 
91
- =begin
92
-
93
- This file is automatically loaded by bio/appl/blast/report.rb
94
-
95
- =end