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,268 +1,313 @@
1
1
  #
2
- # bio/appl/fasta/format10.rb - FASTA output (-m 10) parser
2
+ # = bio/appl/fasta/format10.rb - FASTA output (-m 10) parser
3
3
  #
4
- # Copyright (C) 2002 KATAYAMA Toshiaki <k@bioruby.org>
4
+ # Copyright:: Copyright (C) 2002 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: format10.rb,v 1.6 2005/09/26 13:00:05 k Exp $
7
+ # $Id: format10.rb,v 1.7 2007/04/06 12:04:05 k Exp $
21
8
  #
22
9
 
23
10
  require 'bio/appl/fasta'
24
11
 
25
12
  module Bio
26
- class Fasta
13
+ class Fasta
14
+
15
+ # Summarized results of the fasta execution results.
16
+ class Report
17
+
18
+ def initialize(data)
19
+ # header lines - brief list of the hits
20
+ if data.sub!(/.*\nThe best scores are/m, '')
21
+ data.sub!(/(.*)\n\n>>>/m, '')
22
+ @list = "The best scores are" + $1
23
+ else
24
+ data.sub!(/.*\n!!\s+/m, '')
25
+ data.sub!(/.*/) { |x| @list = x; '' }
26
+ end
27
27
 
28
- class Report
28
+ # body lines - fasta execution result
29
+ program, *hits = data.split(/\n>>/)
29
30
 
30
- def initialize(data)
31
- # header lines - brief list of the hits
32
- if data.sub!(/.*\nThe best scores are/m, '')
33
- data.sub!(/(.*)\n\n>>>/m, '')
34
- @list = "The best scores are" + $1
35
- else
36
- data.sub!(/.*\n!!\s+/m, '')
37
- data.sub!(/.*/) { |x| @list = x; '' }
38
- end
31
+ # trailing lines - log messages of the execution
32
+ @log = hits.pop
33
+ @log.sub!(/.*<\n/m, '')
34
+ @log.strip!
39
35
 
40
- # body lines - fasta execution result
41
- program, *hits = data.split(/\n>>/)
36
+ # parse results
37
+ @program = Program.new(program)
38
+ @hits = []
42
39
 
43
- # trailing lines - log messages of the execution
44
- @log = hits.pop
45
- @log.sub!(/.*<\n/m, '')
46
- @log.strip!
40
+ hits.each do |x|
41
+ @hits.push(Hit.new(x))
42
+ end
43
+ end
44
+
45
+ # Returns the 'The best scores are' lines as a String.
46
+ attr_reader :list
47
47
 
48
- # parse results
49
- @program = Program.new(program)
50
- @hits = []
48
+ # Returns the trailing lines including library size, execution date,
49
+ # fasta function used, and fasta versions as a String.
50
+ attr_reader :log
51
51
 
52
- hits.each do |x|
53
- @hits.push(Hit.new(x))
54
- end
55
- end
56
- attr_reader :list, :log, :program, :hits
52
+ # Returns a Bio::Fasta::Report::Program object.
53
+ attr_reader :program
57
54
 
58
- def each
59
- @hits.each do |x|
60
- yield x
61
- end
62
- end
55
+ # Returns an Array of Bio::Fasta::Report::Hit objects.
56
+ attr_reader :hits
63
57
 
64
- def threshold(evalue_max = 0.1)
65
- list = []
66
- @hits.each do |x|
67
- list.push(x) if x.evalue < evalue_max
68
- end
69
- return list
70
- end
58
+ # Iterates on each Bio::Fasta::Report::Hit object.
59
+ def each
60
+ @hits.each do |x|
61
+ yield x
62
+ end
63
+ end
71
64
 
72
- def lap_over(length_min = 0)
73
- list = []
74
- @hits.each do |x|
75
- list.push(x) if x.overlap > length_min
76
- end
77
- return list
78
- end
65
+ # Returns an Array of Bio::Fasta::Report::Hit objects having
66
+ # better evalue than 'evalue_max'.
67
+ def threshold(evalue_max = 0.1)
68
+ list = []
69
+ @hits.each do |x|
70
+ list.push(x) if x.evalue < evalue_max
71
+ end
72
+ return list
73
+ end
79
74
 
75
+ # Returns an Array of Bio::Fasta::Report::Hit objects having
76
+ # longer overlap length than 'length_min'.
77
+ def lap_over(length_min = 0)
78
+ list = []
79
+ @hits.each do |x|
80
+ list.push(x) if x.overlap > length_min
81
+ end
82
+ return list
83
+ end
80
84
 
81
- class Program
82
- def initialize(data)
83
- @definition, *program = data.split(/\n/)
84
- @program = {}
85
+ # Log of the fasta execution environments.
86
+ class Program
87
+ def initialize(data)
88
+ @definition, *program = data.split(/\n/)
89
+ @program = {}
85
90
 
86
- pat = /;\s+([^:]+):\s+(.*)/
91
+ pat = /;\s+([^:]+):\s+(.*)/
87
92
 
88
- program.each do |x|
89
- if pat.match(x)
90
- @program[$1] = $2
91
- end
92
- end
93
+ program.each do |x|
94
+ if pat.match(x)
95
+ @program[$1] = $2
93
96
  end
94
- attr_reader :definition, :program
95
97
  end
98
+ end
99
+
100
+ # Returns a String containing query and library filenames.
101
+ attr_reader :definition
102
+
103
+ # Accessor for a Hash containing 'mp_name', 'mp_ver', 'mp_argv',
104
+ # 'pg_name', 'pg_ver, 'pg_matrix', 'pg_gap-pen', 'pg_ktup',
105
+ # 'pg_optcut', 'pg_cgap', 'mp_extrap', 'mp_stats', and 'mp_KS' values.
106
+ attr_reader :program
107
+ end
96
108
 
97
109
 
98
- class Hit
99
- def initialize(data)
100
- score, query, target = data.split(/\n>/)
101
-
102
- @definition, *score = score.split(/\n/)
103
- @score = {}
110
+ class Hit
111
+ def initialize(data)
112
+ score, query, target = data.split(/\n>/)
104
113
 
105
- pat = /;\s+([^:]+):\s+(.*)/
114
+ @definition, *score = score.split(/\n/)
115
+ @score = {}
106
116
 
107
- score.each do |x|
108
- if pat.match(x)
109
- @score[$1] = $2
110
- end
111
- end
117
+ pat = /;\s+([^:]+):\s+(.*)/
112
118
 
113
- @query = Query.new(query)
114
- @target = Target.new(target)
115
- end
116
- attr_reader :definition, :score, :query, :target
117
-
118
- def evalue
119
- if @score['fa_expect']
120
- @score['fa_expect'].to_f
121
- elsif @score['sw_expect']
122
- @score['sw_expect'].to_f
123
- elsif @score['fx_expect']
124
- @score['fx_expect'].to_f
125
- elsif @score['tx_expect']
126
- @score['tx_expect'].to_f
127
- end
119
+ score.each do |x|
120
+ if pat.match(x)
121
+ @score[$1] = $2
128
122
  end
123
+ end
129
124
 
130
- def bit_score
131
- if @score['fa_bits']
132
- @score['fa_bits'].to_f
133
- elsif @score['sw_bits']
134
- @score['sw_bits'].to_f
135
- elsif @score['fx_bits']
136
- @score['fx_bits'].to_f
137
- elsif @score['tx_bits']
138
- @score['tx_bits'].to_f
139
- end
140
- end
125
+ @query = Query.new(query)
126
+ @target = Target.new(target)
127
+ end
128
+ attr_reader :definition, :score, :query, :target
129
+
130
+ # E-value score
131
+ def evalue
132
+ if @score['fa_expect']
133
+ @score['fa_expect'].to_f
134
+ elsif @score['sw_expect']
135
+ @score['sw_expect'].to_f
136
+ elsif @score['fx_expect']
137
+ @score['fx_expect'].to_f
138
+ elsif @score['tx_expect']
139
+ @score['tx_expect'].to_f
140
+ end
141
+ end
141
142
 
142
- def direction
143
- @score['fa_frame'] || @score['sw_frame'] || @score['fx_frame'] || @score['tx_frame']
144
- end
143
+ # Bit score
144
+ def bit_score
145
+ if @score['fa_bits']
146
+ @score['fa_bits'].to_f
147
+ elsif @score['sw_bits']
148
+ @score['sw_bits'].to_f
149
+ elsif @score['fx_bits']
150
+ @score['fx_bits'].to_f
151
+ elsif @score['tx_bits']
152
+ @score['tx_bits'].to_f
153
+ end
154
+ end
145
155
 
146
- def sw
147
- @score['sw_score'].to_i
148
- end
156
+ def direction
157
+ @score['fa_frame'] || @score['sw_frame'] || @score['fx_frame'] || @score['tx_frame']
158
+ end
149
159
 
150
- def identity
151
- @score['sw_ident'].to_f
152
- end
160
+ # Smith-Waterman score
161
+ def sw
162
+ @score['sw_score'].to_i
163
+ end
153
164
 
154
- def overlap
155
- @score['sw_overlap'].to_i
156
- end
165
+ # percent identity
166
+ def identity
167
+ @score['sw_ident'].to_f
168
+ end
157
169
 
158
- def query_id
159
- @query.entry_id
160
- end
170
+ # overlap length
171
+ def overlap
172
+ @score['sw_overlap'].to_i
173
+ end
161
174
 
162
- def target_id
163
- @target.entry_id
164
- end
175
+ # Shortcuts for the methods of Bio::Fasta::Report::Hit::Query
165
176
 
166
- def query_def
167
- @query.definition
168
- end
177
+ def query_id
178
+ @query.entry_id
179
+ end
169
180
 
170
- def target_def
171
- @target.definition
172
- end
181
+ def target_id
182
+ @target.entry_id
183
+ end
173
184
 
174
- def query_len
175
- @query.length
176
- end
185
+ def query_def
186
+ @query.definition
187
+ end
177
188
 
178
- def target_len
179
- @target.length
180
- end
189
+ def target_def
190
+ @target.definition
191
+ end
181
192
 
182
- def query_seq
183
- @query.sequence
184
- end
193
+ def query_len
194
+ @query.length
195
+ end
185
196
 
186
- def target_seq
187
- @target.sequence
188
- end
197
+ # Shortcuts for the methods of Bio::Fasta::Report::Hit::Target
189
198
 
190
- def query_type
191
- @query.moltype
192
- end
199
+ def target_len
200
+ @target.length
201
+ end
193
202
 
194
- def target_type
195
- @target.moltype
196
- end
203
+ def query_seq
204
+ @query.sequence
205
+ end
197
206
 
198
- def query_start
199
- @query.start
200
- end
207
+ def target_seq
208
+ @target.sequence
209
+ end
201
210
 
202
- def query_end
203
- @query.stop
204
- end
211
+ def query_type
212
+ @query.moltype
213
+ end
205
214
 
206
- def target_start
207
- @target.start
208
- end
215
+ def target_type
216
+ @target.moltype
217
+ end
209
218
 
210
- def target_end
211
- @target.stop
212
- end
219
+ # Information on matching region
213
220
 
214
- def lap_at
215
- [ query_start, query_end, target_start, target_end ]
216
- end
221
+ def query_start
222
+ @query.start
223
+ end
217
224
 
225
+ def query_end
226
+ @query.stop
227
+ end
218
228
 
219
- class Query
220
- def initialize(data)
221
- @definition, *data = data.split(/\n/)
222
- @data = {}
223
- @sequence = ''
229
+ def target_start
230
+ @target.start
231
+ end
224
232
 
225
- pat = /;\s+([^:]+):\s+(.*)/
233
+ def target_end
234
+ @target.stop
235
+ end
226
236
 
227
- data.each do |x|
228
- if pat.match(x)
229
- @data[$1] = $2
230
- else
231
- @sequence += x
232
- end
233
- end
234
- end
235
- attr_reader :definition, :data, :sequence
237
+ def lap_at
238
+ [ query_start, query_end, target_start, target_end ]
239
+ end
236
240
 
237
- def entry_id
238
- @definition[/\S+/]
239
- end
240
241
 
241
- def length
242
- @data['sq_len'].to_i
243
- end
242
+ class Query
243
+ def initialize(data)
244
+ @definition, *data = data.split(/\n/)
245
+ @data = {}
246
+ @sequence = ''
244
247
 
245
- def moltype
246
- @data['sq_type']
247
- end
248
+ pat = /;\s+([^:]+):\s+(.*)/
248
249
 
249
- def start
250
- @data['al_start'].to_i
250
+ data.each do |x|
251
+ if pat.match(x)
252
+ @data[$1] = $2
253
+ else
254
+ @sequence += x
251
255
  end
256
+ end
257
+ end
252
258
 
253
- def stop
254
- @data['al_stop'].to_i
255
- end
259
+ # Returns the definition of the entry as a String.
260
+ # You can access this value by Report::Hit#query_def method.
261
+ attr_reader :definition
256
262
 
257
- end
263
+ # Returns a Hash containing 'sq_len', 'sq_offset', 'sq_type',
264
+ # 'al_start', 'al_stop', and 'al_display_start' values.
265
+ # You can access most of these values by Report::Hit#query_* methods.
266
+ attr_reader :data
267
+
268
+ # Returns the sequence (with gaps) as a String.
269
+ # You can access this value by the Report::Hit#query_seq method.
270
+ attr_reader :sequence
258
271
 
259
- class Target < Query; end
272
+ # Returns the first word in the definition as a String.
273
+ # You can get this value by Report::Hit#query_id method.
274
+ def entry_id
275
+ @definition[/\S+/]
276
+ end
277
+
278
+ # Returns the sequence length.
279
+ # You can access this value by the Report::Hit#query_len method.
280
+ def length
281
+ @data['sq_len'].to_i
282
+ end
283
+
284
+ # Returns 'p' for protein sequence, 'D' for nucleotide sequence.
285
+ def moltype
286
+ @data['sq_type']
287
+ end
288
+
289
+ # Returns alignment start position. You can also access this value
290
+ # by Report::Hit#query_start method for shortcut.
291
+ def start
292
+ @data['al_start'].to_i
293
+ end
294
+
295
+ # Returns alignment end position. You can access this value
296
+ # by Report::Hit#query_end method for shortcut.
297
+ def stop
298
+ @data['al_stop'].to_i
260
299
  end
261
300
 
262
301
  end
263
302
 
303
+ # Same as Bio::Fasta::Report::Hit::Query but for Target.
304
+ class Target < Query; end
264
305
  end
265
- end
306
+
307
+ end # Report
308
+
309
+ end # Fasta
310
+ end # Bio
266
311
 
267
312
 
268
313
  if __FILE__ == $0
@@ -278,151 +323,3 @@ if __FILE__ == $0
278
323
  end
279
324
 
280
325
 
281
- =begin
282
-
283
- = Bio::Fasta::Report
284
-
285
- Summarized results of the fasta execution hits.
286
-
287
- --- Bio::Fasta::Report.new(data)
288
- --- Bio::Fasta::Report#each
289
-
290
- Iterates on each Bio::Fasta::Report::Hit object.
291
-
292
- --- Bio::Fasta::Report#hits
293
-
294
- Returns an Array of Bio::Fasta::Report::Hit objects.
295
-
296
- --- Bio::Fasta::Report#threshold(evalue_max = 0.1)
297
-
298
- Returns an Array of Bio::Fasta::Report::Hit objects having
299
- better evalue than 'evalue_max'.
300
-
301
- --- Bio::Fasta::Report#lap_over(length_min = 0)
302
-
303
- Returns an Array of Bio::Fasta::Report::Hit objects having
304
- longer overlap length than 'length_min'.
305
-
306
- --- Bio::Fasta::Report#program
307
-
308
- Returns a Bio::Fasta::Report::Program object.
309
-
310
- --- Bio::Fasta::Report#list
311
-
312
- Returns the 'The best scores are' lines as a String.
313
-
314
- --- Bio::Fasta::Report#log
315
-
316
- Returns the trailing lines including library size, execution date,
317
- fasta function used, and fasta versions as a String.
318
-
319
-
320
- == Bio::Fasta::Report::Program
321
-
322
- Log of the fasta execution environments.
323
-
324
- --- Bio::Fasta::Report::Program#definition
325
-
326
- Returns a String containing query and library filenames.
327
-
328
- --- Bio::Fasta::Report::Program#program
329
-
330
- Accessor for a Hash containing 'mp_name', 'mp_ver', 'mp_argv',
331
- 'pg_name', 'pg_ver, 'pg_matrix', 'pg_gap-pen', 'pg_ktup',
332
- 'pg_optcut', 'pg_cgap', 'mp_extrap', 'mp_stats', and 'mp_KS' values.
333
-
334
-
335
- == Bio::Fasta::Report::Hit
336
-
337
- --- Bio::Fasta::Report::Hit#definition
338
- --- Bio::Fasta::Report::Hit#score
339
- --- Bio::Fasta::Report::Hit#query
340
- --- Bio::Fasta::Report::Hit#target
341
-
342
- Accessors for the internal structures.
343
-
344
- --- Bio::Fasta::Report::Hit#evalue
345
- --- Bio::Fasta::Report::Hit#bit_score
346
- --- Bio::Fasta::Report::Hit#sw
347
- --- Bio::Fasta::Report::Hit#identity
348
-
349
- Matching scores.
350
-
351
- --- Bio::Fasta::Report::Hit#query_id
352
- --- Bio::Fasta::Report::Hit#query_def
353
- --- Bio::Fasta::Report::Hit#query_len
354
- --- Bio::Fasta::Report::Hit#query_seq
355
- --- Bio::Fasta::Report::Hit#query_type
356
- --- Bio::Fasta::Report::Hit#target_id
357
- --- Bio::Fasta::Report::Hit#target_def
358
- --- Bio::Fasta::Report::Hit#target_len
359
- --- Bio::Fasta::Report::Hit#target_seq
360
- --- Bio::Fasta::Report::Hit#target_type
361
-
362
- Matching subjects.
363
- Shortcuts for the methods of Hit::Query and the Hit::Target.
364
-
365
- --- Bio::Fasta::Report::Hit#query_start
366
- --- Bio::Fasta::Report::Hit#query_end
367
- --- Bio::Fasta::Report::Hit#target_start
368
- --- Bio::Fasta::Report::Hit#target_end
369
- --- Bio::Fasta::Report::Hit#overlap
370
- --- Bio::Fasta::Report::Hit#lap_at
371
- --- Bio::Fasta::Report::Hit#direction
372
-
373
- Matching regions.
374
-
375
-
376
- == Bio::Fasta::Report::Hit::Query
377
-
378
- --- Bio::Fasta::Report::Hit::Query#entry_id
379
-
380
- Returns the first word in the definition as a String.
381
- You can get this value by Report::Hit#query_id method.
382
-
383
- --- Bio::Fasta::Report::Hit::Query#definition
384
-
385
- Returns the definition of the entry as a String.
386
- You can access this value by Report::Hit#query_def method.
387
-
388
- --- Bio::Fasta::Report::Hit::Query#sequence
389
-
390
- Returns the sequence (with gaps) as a String.
391
- You can access this value by the Report::Hit#query_seq method.
392
-
393
- --- Bio::Fasta::Report::Hit::Query#length
394
-
395
- Returns the sequence length.
396
- You can access this value by the Report::Hit#query_len method.
397
-
398
- --- Bio::Fasta::Report::Hit::Query#moltype
399
-
400
- Returns 'p' for protein sequence, 'D' for nucleotide sequence.
401
-
402
- --- Bio::Fasta::Report::Hit::Query#start
403
- --- Bio::Fasta::Report::Hit::Query#stop
404
-
405
- Returns alignment start and stop position.
406
- You can access these values by Report::Hit#query_start and
407
- Report::Hit#query_end methods.
408
-
409
- --- Bio::Fasta::Report::Hit::Query#data
410
-
411
- Returns a Hash containing 'sq_len', 'sq_offset', 'sq_type',
412
- 'al_start', 'al_stop', and 'al_display_start' values.
413
- You can access most of these values by Report::Hit#query_* methods.
414
-
415
-
416
- == Bio::Fasta::Report::Hit::Target
417
-
418
- --- Bio::Fasta::Report::Hit::Target#entry_id
419
- --- Bio::Fasta::Report::Hit::Target#definition
420
- --- Bio::Fasta::Report::Hit::Target#data
421
- --- Bio::Fasta::Report::Hit::Target#sequence
422
- --- Bio::Fasta::Report::Hit::Target#length
423
- --- Bio::Fasta::Report::Hit::Target#start
424
- --- Bio::Fasta::Report::Hit::Target#stop
425
-
426
- Same as Bio::Fasta::Report::Hit::Query but for Target.
427
-
428
- =end