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
@@ -0,0 +1,58 @@
1
+ #
2
+ # = bio/shell/plugin/keggdas.rb - plugin for KEGG DAS
3
+ #
4
+ # Copyright:: Copyright (C) 2006
5
+ # Toshiaki Katayama <k@bioruby.org>
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id: das.rb,v 1.3 2007/04/05 23:35:41 trevor Exp $
9
+ #
10
+
11
+ module Bio
12
+
13
+ class DAS
14
+ def list_sequences
15
+ result = ""
16
+ self.get_dsn.each do |dsn|
17
+ src = dsn.source_id
18
+ self.get_entry_points(src).each do |ep|
19
+ data = [src, ep.entry_id, ep.start.to_i, ep.stop.to_i, "# #{ep.description}"].join("\t") + "\n"
20
+ puts data
21
+ result += data
22
+ end
23
+ end
24
+ return result
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ module Bio::Shell
31
+
32
+ private
33
+
34
+ # http://www.biodas.org/
35
+ # http://www.dasregistry.org/
36
+
37
+ def das(url = nil)
38
+ if url
39
+ @das = Bio::DAS.new(url)
40
+ else
41
+ @das ||= keggdas
42
+ end
43
+ end
44
+
45
+ def keggdas(url = "http://das.hgc.jp/cgi-bin/")
46
+ das(url)
47
+ end
48
+
49
+ def ensembl(url = "http://das.ensembl.org/")
50
+ das(url)
51
+ end
52
+
53
+ def wormbase(url = "http://www.wormbase.org/db/")
54
+ das(url)
55
+ end
56
+
57
+ end
58
+
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: emboss.rb,v 1.2 2006/02/09 20:48:53 k Exp $
8
+ # $Id: emboss.rb,v 1.3 2007/04/05 23:35:41 trevor Exp $
9
9
  #
10
10
 
11
11
  module Bio::Shell
@@ -3,30 +3,38 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: entry.rb,v 1.8 2006/02/27 09:37:14 k Exp $
8
+ # $Id: entry.rb,v 1.10 2007/04/05 23:35:41 trevor Exp $
9
9
  #
10
10
 
11
11
  module Bio::Shell
12
12
 
13
13
  private
14
14
 
15
+ # Read a text file and collect the first word of each line in array
16
+ def readlist(filename)
17
+ list = []
18
+ File.open(filename).each do |line|
19
+ list << line[/^\S+/]
20
+ end
21
+ return list
22
+ end
23
+
15
24
  # Obtain a Bio::Sequence::NA (DNA) or a Bio::Sequence::AA (Amino Acid)
16
25
  # sequence from
17
26
  # * String -- "atgcatgc" or "MQKKP"
18
27
  # * IO -- io = IO.popen("gzip -dc db.gz") (first entry only)
19
28
  # * "filename" -- "gbvrl.gbk" (first entry only)
20
29
  # * "db:entry" -- "embl:BUM" (entry is retrieved by the ent method)
21
- def seq(arg)
30
+ def getseq(arg)
22
31
  seq = ""
23
32
  if arg.kind_of?(Bio::Sequence)
24
33
  seq = arg
25
34
  elsif arg.respond_to?(:gets) or File.exists?(arg)
26
35
  ent = flatauto(arg)
27
36
  elsif arg[/:/]
28
- str = ent(arg)
29
- ent = flatparse(str)
37
+ ent = getobj(arg)
30
38
  else
31
39
  tmp = arg
32
40
  end
@@ -34,13 +42,16 @@ module Bio::Shell
34
42
  if ent.respond_to?(:seq)
35
43
  tmp = ent.seq
36
44
  elsif ent.respond_to?(:naseq)
37
- seq = ent.naseq
45
+ #seq = ent.naseq
46
+ tmp = ent.naseq
38
47
  elsif ent.respond_to?(:aaseq)
39
- seq = ent.aaseq
48
+ #seq = ent.aaseq
49
+ tmp = ent.aaseq
40
50
  end
41
51
 
42
52
  if tmp and tmp.is_a?(String) and not tmp.empty?
43
- seq = Bio::Sequence.auto(tmp).seq
53
+ #seq = Bio::Sequence.auto(tmp).seq
54
+ seq = Bio::Sequence.auto(tmp)
44
55
  end
45
56
  return seq
46
57
  end
@@ -49,7 +60,7 @@ module Bio::Shell
49
60
  # * IO -- IO object (first entry only)
50
61
  # * "filename" -- local file (first entry only)
51
62
  # * "db:entry" -- local BioFlat, OBDA, EMBOSS, KEGG API
52
- def ent(arg)
63
+ def getent(arg)
53
64
  entry = ""
54
65
  db, entry_id = arg.to_s.strip.split(/:/)
55
66
 
@@ -86,8 +97,8 @@ module Bio::Shell
86
97
  end
87
98
 
88
99
  # Obtain a parsed object from sources that ent() supports.
89
- def obj(arg)
90
- str = ent(arg)
100
+ def getobj(arg)
101
+ str = getent(arg)
91
102
  flatparse(str)
92
103
  end
93
104
 
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: flatfile.rb,v 1.12 2006/02/09 20:48:53 k Exp $
8
+ # $Id: flatfile.rb,v 1.13 2007/04/05 23:45:11 trevor Exp $
9
9
  #
10
10
 
11
11
  module Bio::Shell
@@ -3,18 +3,21 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: keggapi.rb,v 1.10 2006/02/09 20:48:53 k Exp $
8
+ # $Id: keggapi.rb,v 1.12 2007/04/05 23:35:41 trevor Exp $
9
9
  #
10
10
 
11
11
  module Bio::Shell
12
12
 
13
13
  module Private
14
+
15
+ module_function
16
+
14
17
  def keggapi_definition2tab(list)
15
18
  ary = []
16
19
  list.each do |entry|
17
- ary << "#{entry.entry_id}:\t#{entry.definition}"
20
+ ary << "#{entry.entry_id}\t#{entry.definition}"
18
21
  end
19
22
  return ary
20
23
  end
@@ -49,17 +52,20 @@ module Bio::Shell
49
52
  if block_given?
50
53
  yield result
51
54
  else
55
+ puts result
52
56
  return result
53
57
  end
54
58
  end
55
59
 
56
60
  def btit(str)
57
61
  result = keggapi.btit(str)
62
+ puts result
58
63
  return result
59
64
  end
60
65
 
61
66
  def bconv(str)
62
67
  result = keggapi.bconv(str)
68
+ puts result
63
69
  return result
64
70
  end
65
71
 
@@ -67,25 +73,26 @@ module Bio::Shell
67
73
 
68
74
  def keggdbs
69
75
  list = keggapi.list_databases
70
- result = Bio::Shell.keggapi_definition2tab(list).join("\n")
76
+ result = Bio::Shell::Private.keggapi_definition2tab(list).join("\n")
71
77
  puts result
72
78
  return list.map {|x| x.entry_id}
73
79
  end
74
80
 
75
81
  def keggorgs
76
82
  list = keggapi.list_organisms
77
- result = Bio::Shell.keggapi_definition2tab(list).sort.join("\n")
83
+ result = Bio::Shell::Private.keggapi_definition2tab(list).sort.join("\n")
78
84
  puts result
79
85
  return list.map {|x| x.entry_id}
80
86
  end
81
87
 
82
88
  def keggpathways(org = "map")
83
89
  list = keggapi.list_pathways(org)
84
- result = Bio::Shell.keggapi_definition2tab(list).join("\n")
90
+ result = Bio::Shell::Private.keggapi_definition2tab(list).join("\n")
85
91
  puts result
86
92
  return list.map {|x| x.entry_id}
87
93
  end
88
94
 
95
+ # use KEGG DAS insetad
89
96
  def kegggenomeseq(org)
90
97
  result = ""
91
98
  require 'net/ftp'
@@ -4,9 +4,9 @@
4
4
  # Copyright:: Copyright (C) 2003, 2005
5
5
  # Natsuhiro Ichinose <ichinose@genome.ist.i.kyoto-u.ac.jp>,
6
6
  # Toshiaki Katayama <k@bioruby.org>
7
- # License:: Ruby's
7
+ # License:: The Ruby License
8
8
  #
9
- # $Id: midi.rb,v 1.7 2006/02/09 20:48:53 k Exp $
9
+ # $Id: midi.rb,v 1.9 2007/04/05 23:35:41 trevor Exp $
10
10
  #
11
11
 
12
12
  #--
@@ -420,11 +420,11 @@ if $0 == __FILE__
420
420
 
421
421
  seq_file = ARGV.shift
422
422
  mid_file = ARGV.shift
423
- style = ARGV.shift
424
423
 
425
424
  Bio::FlatFile.auto(seq_file) do |ff|
426
425
  ff.each do |f|
427
- midi(f.naseq[0..1000], mid_file, style)
426
+ midifile(mid_file, f.naseq[0..1000])
428
427
  end
429
428
  end
430
429
  end
430
+
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: obda.rb,v 1.9 2006/02/09 20:48:53 k Exp $
8
+ # $Id: obda.rb,v 1.10 2007/04/05 23:45:11 trevor Exp $
9
9
  #
10
10
 
11
11
  module Bio::Shell
@@ -0,0 +1,56 @@
1
+ #
2
+ # = bio/shell/plugin/psort.rb - plugin for PSORT
3
+ #
4
+ # Copyright:: Copyright (C) 2006
5
+ # Toshiaki Katayama <k@bioruby.org>
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id: psort.rb,v 1.3 2007/04/05 23:35:41 trevor Exp $
9
+ #
10
+
11
+ module Bio::Shell
12
+
13
+ private
14
+
15
+ def psort1(str)
16
+ seq = getseq(str)
17
+ if seq.is_a?(Bio::Sequence::NA)
18
+ seq = seq.translate
19
+ end
20
+
21
+ psort = Bio::PSORT::PSORT1.imsut
22
+ fasta = seq.to_fasta
23
+
24
+ results = psort.exec(fasta).final_result
25
+ results.each do |result|
26
+ puts "#{result["certainty"].to_f*100.0}\t#{result["prediction"]}"
27
+ end
28
+ return results.first["prediction"]
29
+ end
30
+
31
+ def psort2(str)
32
+ seq = getseq(str)
33
+ if seq.is_a?(Bio::Sequence::NA)
34
+ seq = seq.translate
35
+ end
36
+
37
+ psort = Bio::PSORT::PSORT2.imsut
38
+ fasta = seq.to_fasta
39
+
40
+ results = psort.exec(fasta).prob.sort_by{|x, y| y}.reverse
41
+ results.each do |loc, prob|
42
+ next if prob <= 0.0
43
+ puts "#{prob}\t#{Bio::PSORT::PSORT2::SclNames[loc]}"
44
+ end
45
+ return results.first.first
46
+ end
47
+
48
+ def psort2locations
49
+ names = Bio::PSORT::PSORT2::SclNames
50
+ names.sort.each do |loc, desc|
51
+ puts "#{loc}\t#{desc}"
52
+ end
53
+ return names
54
+ end
55
+ end
56
+
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: seq.rb,v 1.17 2006/02/09 20:48:53 k Exp $
8
+ # $Id: seq.rb,v 1.21 2007/04/05 23:35:41 trevor Exp $
9
9
  #
10
10
 
11
11
  module Bio::Shell
@@ -17,7 +17,7 @@ module Bio::Shell
17
17
  if str.kind_of?(Bio::Sequence)
18
18
  seq = str
19
19
  else
20
- seq = seq(str)
20
+ seq = getseq(str)
21
21
  end
22
22
 
23
23
  if seq.is_a?(Bio::Sequence::AA)
@@ -41,12 +41,21 @@ module Bio::Shell
41
41
  end
42
42
 
43
43
 
44
+ def sixtrans(str)
45
+ seq = getseq(str)
46
+ [ 1, 2, 3, -1, -2, -3 ].each do |frame|
47
+ title = "Translation #{frame.to_s.rjust(2)}"
48
+ puts seq.translate(frame).to_fasta(title, 60)
49
+ end
50
+ end
51
+
52
+
44
53
  # Displays some basic properties of the sequence.
45
54
  def seqstat(str)
46
55
  max = 150
47
- seq = seq(str)
56
+ seq = getseq(str)
48
57
  rep = "\n* * * Sequence statistics * * *\n\n"
49
- if seq.respond_to?(:complement)
58
+ if seq.moltype == Bio::Sequence::NA
50
59
  fwd = seq
51
60
  rev = seq.complement
52
61
  if seq.length > max
@@ -123,12 +132,12 @@ module Bio::Shell
123
132
  # Displays a DNA sequence by ascii art in B-type double helix.
124
133
  # Argument need to be at least 16 bases in length.
125
134
  def doublehelix(str)
126
- seq = seq(str)
127
- if str.length < 16
135
+ seq = getseq(str)
136
+ if seq.length < 16
128
137
  warn "Error: Sequence must be longer than 16 bases."
129
138
  return
130
139
  end
131
- if ! seq.respond_to?(:complement)
140
+ if seq.moltype != Bio::Sequence::NA
132
141
  warn "Error: Sequence must be a DNA sequence."
133
142
  return
134
143
  end
@@ -151,6 +160,24 @@ end
151
160
 
152
161
  class String
153
162
 
163
+ def step(window_size)
164
+ i = 0
165
+ 0.step(self.length - window_size, window_size) do |i|
166
+ yield self[i, window_size]
167
+ end
168
+ yield self[i + window_size .. -1] if i + window_size < self.length
169
+ end
170
+
171
+ def skip(window_size, step_size = 1)
172
+ i = 0
173
+ 0.step(self.length - window_size, step_size) do |i|
174
+ yield [self[i, window_size], i + 1, i + window_size]
175
+ end
176
+ from = i + step_size
177
+ to = [self.length, i + step_size + window_size].min
178
+ yield [self[from, window_size], from + 1, to] if from + 1 <= to
179
+ end
180
+
154
181
  def to_naseq
155
182
  Bio::Sequence::NA.new(self)
156
183
  end
@@ -0,0 +1,87 @@
1
+ #
2
+ # = bio/shell/plugin/soap.rb - web services
3
+ #
4
+ # Copyright:: Copyright (C) 2006
5
+ # Toshiaki Katayama <k@bioruby.org>
6
+ # License:: Ruby's
7
+ #
8
+ # $Id: soap.rb,v 1.1 2007/07/09 11:17:09 k Exp $
9
+ #
10
+
11
+ module Bio::Shell
12
+
13
+ private
14
+
15
+ def ncbisoap(wsdl = nil)
16
+ if wsdl
17
+ @ncbisoap = Bio::NCBI::SOAP.new(wsdl)
18
+ else
19
+ @ncbisoap ||= Bio::NCBI::SOAP.new
20
+ end
21
+ return @ncbisoap
22
+ end
23
+
24
+ def ebisoap(wsdl = nil)
25
+ case wsdl
26
+ when :ipscan
27
+ @ebisoap = Bio::EBI::SOAP::InterProScan.new(wsdl)
28
+ when :emboss
29
+ @ebisoap = Bio::EBI::SOAP::Emboss.new(wsdl)
30
+ when :clustalw
31
+ @ebisoap = Bio::EBI::SOAP::ClustalW.new(wsdl)
32
+ when :tcoffee
33
+ @ebisoap = Bio::EBI::SOAP::TCoffee.new(wsdl)
34
+ when :muscle
35
+ @ebisoap = Bio::EBI::SOAP::Muscle.new(wsdl)
36
+ when :fasta
37
+ @ebisoap = Bio::EBI::SOAP::Fasta.new(wsdl)
38
+ when :wublast
39
+ @ebisoap = Bio::EBI::SOAP::WUBlast.new(wsdl)
40
+ when :mpsrch
41
+ @ebisoap = Bio::EBI::SOAP::MPsrch.new(wsdl)
42
+ when :scanps
43
+ @ebisoap = Bio::EBI::SOAP::ScanPS.new(wsdl)
44
+ when :msd
45
+ @ebisoap = Bio::EBI::SOAP::MSD.new(wsdl)
46
+ when :ontology
47
+ @ebisoap = Bio::EBI::SOAP::Ontology.new(wsdl)
48
+ when :citation
49
+ @ebisoap = Bio::EBI::SOAP::Citation.new(wsdl)
50
+ when /^http/
51
+ @ebisoap = Bio::EBI::SOAP.new(wsdl)
52
+ else
53
+ @ebisoap ||= Bio::EBI::SOAP.new
54
+ end
55
+ return @ebisoap
56
+ end
57
+
58
+ def ddbjsoap(wsdl = nil)
59
+ case wsdl
60
+ when :blast
61
+ @ddbjsoap = Bio::DDBJ::XML::Blast.new
62
+ when :fasta
63
+ @ddbjsoap = Bio::DDBJ::XML::Fasta.new
64
+ when :clustalw
65
+ @ddbjsoap = Bio::DDBJ::XML::ClustalW.new
66
+ when :ddbj
67
+ @ddbjsoap = Bio::DDBJ::XML::DDBJ.new
68
+ when :gib
69
+ @ddbjsoap = Bio::DDBJ::XML::Gib.new
70
+ when :gtop
71
+ @ddbjsoap = Bio::DDBJ::XML::Gtop.new
72
+ when :pml
73
+ @ddbjsoap = Bio::DDBJ::XML::PML.new
74
+ when :srs
75
+ @ddbjsoap = Bio::DDBJ::XML::SRS.new
76
+ when :txsearch
77
+ @ddbjsoap = Bio::DDBJ::XML::TxSearch.new
78
+ when /^http/
79
+ @ddbjsoap = Bio::DDBJ::XML.new(wsdl)
80
+ else
81
+ @ddbjsoap ||= Bio::DDBJ::XML.new
82
+ end
83
+ return @ddbjsoap
84
+ end
85
+
86
+ end
87
+