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,212 @@
1
+ #
2
+ # = bio/appl/gcg/msf.rb - GCG multiple sequence alignment (.msf) parser class
3
+ #
4
+ # Copyright:: Copyright (C) 2003, 2006
5
+ # Naohisa Goto <ng@bioruby.org>
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id: msf.rb,v 1.2 2007/04/05 23:35:39 trevor Exp $
9
+ #
10
+ # = About Bio::GCG::Msf
11
+ #
12
+ # Please refer document of Bio::GCG::Msf.
13
+ #
14
+
15
+ #---
16
+ # (depends on autoload)
17
+ #require 'bio/appl/gcg/seq'
18
+ #+++
19
+
20
+ module Bio
21
+ module GCG
22
+
23
+ # The msf is a multiple sequence alignment format developed by Wisconsin.
24
+ # Bio::GCG::Msf is a msf format parser.
25
+ class Msf #< DB
26
+
27
+ # delimiter used by Bio::FlatFile
28
+ DELIMITER = RS = nil
29
+
30
+ # Creates a new Msf object.
31
+ def initialize(str)
32
+ str = str.sub(/\A[\r\n]+/, '')
33
+ if /^\!\![A-Z]+\_MULTIPLE\_ALIGNMNENT/ =~ str[/.*/] then
34
+ @heading = str[/.*/] # '!!NA_MULTIPLE_ALIGNMENT 1.0' or like this
35
+ str.sub!(/.*/, '')
36
+ end
37
+ str.sub!(/.*\.\.$/m, '')
38
+ @description = $&.to_s.sub(/^.*\.\.$/, '').to_s
39
+ d = $&.to_s
40
+ if m = /(.+)\s+MSF\:\s+(\d+)\s+Type\:\s+(\w)\s+(.+)\s+(Comp)?Check\:\s+(\d+)/.match(d) then
41
+ @entry_id = m[1].to_s.strip
42
+ @length = (m[2] ? m[2].to_i : nil)
43
+ @seq_type = m[3]
44
+ @date = m[4].to_s.strip
45
+ @checksum = (m[6] ? m[6].to_i : nil)
46
+ end
47
+
48
+ str.sub!(/.*\/\/$/m, '')
49
+ a = $&.to_s.split(/^/)
50
+ @seq_info = []
51
+ a.each do |x|
52
+ if /Name\: / =~ x then
53
+ s = {}
54
+ x.scan(/(\S+)\: +(\S*)/) { |y| s[$1] = $2 }
55
+ @seq_info << s
56
+ end
57
+ end
58
+
59
+ @data = str
60
+ @description.sub!(/\A(\r\n|\r|\n)/, '')
61
+ @align = nil
62
+ end
63
+
64
+ # description
65
+ attr_reader :description
66
+
67
+ # ID of the alignment
68
+ attr_reader :entry_id
69
+
70
+ # alignment length
71
+ attr_reader :length
72
+
73
+ # sequence type ("N" for DNA/RNA or "P" for protein)
74
+ attr_reader :seq_type
75
+
76
+ # date
77
+ attr_reader :date
78
+
79
+ # checksum
80
+ attr_reader :checksum
81
+
82
+ # heading
83
+ # ('!!NA_MULTIPLE_ALIGNMENT 1.0' or whatever like this)
84
+ attr_reader :heading
85
+
86
+ #---
87
+ ## data (internally used, will be obsoleted)
88
+ #attr_reader :data
89
+ #
90
+ ## seq. info. (internally used, will be obsoleted)
91
+ #attr_reader :seq_info
92
+ #+++
93
+
94
+ # symbol comparison table
95
+ def symbol_comparison_table
96
+ unless defined?(@symbol_comparison_table)
97
+ /Symbol comparison table\: +(\S+)/ =~ @description
98
+ @symbol_comparison_table = $1
99
+ end
100
+ @symbol_comparison_table
101
+ end
102
+
103
+ # gap weight
104
+ def gap_weight
105
+ unless defined?(@gap_weight)
106
+ /GapWeight\: +(\S+)/ =~ @description
107
+ @gap_weight = $1
108
+ end
109
+ @gap_weight
110
+ end
111
+
112
+ # gap length weight
113
+ def gap_length_weight
114
+ unless defined?(@gap_length_weight)
115
+ /GapLengthWeight\: +(\S+)/ =~ @description
116
+ @gap_length_weight = $1
117
+ end
118
+ @gap_length_weight
119
+ end
120
+
121
+ # CompCheck field
122
+ def compcheck
123
+ unless defined?(@compcheck)
124
+ if /CompCheck\: +(\d+)/ =~ @description then
125
+ @compcheck = $1.to_i
126
+ else
127
+ @compcheck = nil
128
+ end
129
+ end
130
+ @compcheck
131
+ end
132
+
133
+ # parsing
134
+ def do_parse
135
+ return if @align
136
+ a = @data.strip.split(/\n\n/)
137
+ @seq_data = Array.new(@seq_info.size)
138
+ @seq_data.collect! { |x| Array.new }
139
+ a.each do |x|
140
+ b = x.split(/\n/)
141
+ nw = 0
142
+ if b.size > @seq_info.size then
143
+ if /^ +/ =~ b.shift.to_s
144
+ nw = $&.to_s.length
145
+ end
146
+ end
147
+ if nw > 0 then
148
+ b.each_with_index { |y, i| y[0, nw] = ''; @seq_data[i] << y }
149
+ else
150
+ b.each_with_index { |y, i|
151
+ @seq_data[i] << y.strip.split(/ +/, 2)[1].to_s
152
+ }
153
+ end
154
+ end
155
+
156
+ case seq_type
157
+ when 'P', 'p'
158
+ k = Bio::Sequence::AA
159
+ when 'N', 'n'
160
+ k = Bio::Sequence::NA
161
+ else
162
+ k = Bio::Sequence::Generic
163
+ end
164
+ @seq_data.collect! do |x|
165
+ y = x.join('')
166
+ y.gsub!(/[\s\d]+/, '')
167
+ k.new(y)
168
+ end
169
+
170
+ aln = Bio::Alignment.new
171
+ @seq_data.each_with_index do |x, i|
172
+ aln.store(@seq_info[i]['Name'], x)
173
+ end
174
+ @align = aln
175
+ end
176
+ private :do_parse
177
+
178
+ # returns Bio::Alignment object.
179
+ def alignment
180
+ do_parse
181
+ @align
182
+ end
183
+
184
+ # gets seq data (used internally) (will be obsoleted)
185
+ def seq_data
186
+ do_parse
187
+ @seq_data
188
+ end
189
+
190
+ # validates checksum
191
+ def validate_checksum
192
+ do_parse
193
+ valid = true
194
+ total = 0
195
+ @seq_data.each_with_index do |x, i|
196
+ sum = Bio::GCG::Seq.calc_checksum(x)
197
+ if sum != @seq_info[i]['Check'].to_i
198
+ valid = false
199
+ break
200
+ end
201
+ total += sum
202
+ end
203
+ return false unless valid
204
+ if @checksum != 0 # "Check:" field of BioPerl is always 0
205
+ valid = ((total % 10000) == @checksum)
206
+ end
207
+ valid
208
+ end
209
+
210
+ end #class Msf
211
+ end #module GCG
212
+ end # module Bio
@@ -0,0 +1,195 @@
1
+ #
2
+ # = bio/appl/gcg/seq.rb - GCG sequence file format class (.seq/.pep file)
3
+ #
4
+ # Copyright:: Copyright (C) 2003, 2006
5
+ # Naohisa Goto <ng@bioruby.org>
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id: seq.rb,v 1.3 2007/04/05 23:35:39 trevor Exp $
9
+ #
10
+ # = About Bio::GCG::Seq
11
+ #
12
+ # Please refer document of Bio::GCG::Seq.
13
+ #
14
+
15
+ module Bio
16
+ module GCG
17
+
18
+ #
19
+ # = Bio::GCG::Seq
20
+ #
21
+ # This is GCG sequence file format (.seq or .pep) parser class.
22
+ #
23
+ # = References
24
+ #
25
+ # * Information about GCG Wisconsin Package(R)
26
+ # http://www.accelrys.com/products/gcg_wisconsin_package .
27
+ # * EMBOSS sequence formats
28
+ # http://www.hgmp.mrc.ac.uk/Software/EMBOSS/Themes/SequenceFormats.html
29
+ # * BioPerl document
30
+ # http://docs.bioperl.org/releases/bioperl-1.2.3/Bio/SeqIO/gcg.html
31
+ class Seq #< DB
32
+
33
+ # delimiter used by Bio::FlatFile
34
+ DELIMITER = RS = nil
35
+
36
+ # Creates new instance of this class.
37
+ # str must be a GCG seq formatted string.
38
+ def initialize(str)
39
+ @heading = str[/.*/] # '!!NA_SEQUENCE 1.0' or like this
40
+ str = str.sub(/.*/, '')
41
+ str.sub!(/.*\.\.$/m, '')
42
+ @definition = $&.to_s.sub(/^.*\.\.$/, '').to_s
43
+ desc = $&.to_s
44
+ if m = /(.+)\s+Length\:\s+(\d+)\s+(.+)\s+Type\:\s+(\w)\s+Check\:\s+(\d+)/.match(desc) then
45
+ @entry_id = m[1].to_s.strip
46
+ @length = (m[2] ? m[2].to_i : nil)
47
+ @date = m[3].to_s.strip
48
+ @seq_type = m[4]
49
+ @checksum = (m[5] ? m[5].to_i : nil)
50
+ end
51
+ @data = str
52
+ @seq = nil
53
+ @definition.strip!
54
+ end
55
+
56
+ # ID field.
57
+ attr_reader :entry_id
58
+
59
+ # Description field.
60
+ attr_reader :definition
61
+
62
+ # "Length:" field.
63
+ # Note that sometimes this might differ from real sequence length.
64
+ attr_reader :length
65
+
66
+ # Date field of this entry.
67
+ attr_reader :date
68
+
69
+ # "Type:" field, which indicates sequence type.
70
+ # "N" means nucleic acid sequence, "P" means protein sequence.
71
+ attr_reader :seq_type
72
+
73
+ # "Check:" field, which indicates checksum of current sequence.
74
+ attr_reader :checksum
75
+
76
+ # heading
77
+ # ('!!NA_SEQUENCE 1.0' or whatever like this)
78
+ attr_reader :heading
79
+
80
+ #---
81
+ ## data (internally used, will be obsoleted)
82
+ #attr_reader :data
83
+ #+++
84
+
85
+ # Sequence data.
86
+ # The class of the sequence is Bio::Sequence::NA, Bio::Sequence::AA
87
+ # or Bio::Sequence::Generic, according to the sequence type.
88
+ def seq
89
+ unless @seq then
90
+ case @seq_type
91
+ when 'N', 'n'
92
+ k = Bio::Sequence::NA
93
+ when 'P', 'p'
94
+ k = Bio::Sequence::AA
95
+ else
96
+ k = Bio::Sequence
97
+ end
98
+ @seq = k.new(@data.tr('^-a-zA-Z.~', ''))
99
+ end
100
+ @seq
101
+ end
102
+
103
+ # If you know the sequence is AA, use this method.
104
+ # Returns a Bio::Sequence::AA object.
105
+ #
106
+ # If you call naseq for protein sequence,
107
+ # or aaseq for nucleic sequence, RuntimeError will be raised.
108
+ def aaseq
109
+ if seq.is_a?(Bio::Sequence::AA) then
110
+ @seq
111
+ else
112
+ raise 'seq_type != \'P\''
113
+ end
114
+ end
115
+
116
+ # If you know the sequence is NA, use this method.
117
+ # Returens a Bio::Sequence::NA object.
118
+ #
119
+ # If you call naseq for protein sequence,
120
+ # or aaseq for nucleic sequence, RuntimeError will be raised.
121
+ def naseq
122
+ if seq.is_a?(Bio::Sequence::NA) then
123
+ @seq
124
+ else
125
+ raise 'seq_type != \'N\''
126
+ end
127
+ end
128
+
129
+ # Validates checksum.
130
+ # If validation succeeds, returns true.
131
+ # Otherwise, returns false.
132
+ def validate_checksum
133
+ checksum == self.class.calc_checksum(seq)
134
+ end
135
+
136
+ #---
137
+ # class methods
138
+ #+++
139
+
140
+ # Calculates checksum from given string.
141
+ def self.calc_checksum(str)
142
+ # Reference: Bio::SeqIO::gcg of BioPerl-1.2.3
143
+ idx = 0
144
+ sum = 0
145
+ str.upcase.tr('^A-Z.~', '').each_byte do |c|
146
+ idx += 1
147
+ sum += idx * c
148
+ idx = 0 if idx >= 57
149
+ end
150
+ (sum % 10000)
151
+ end
152
+
153
+ # Creates a new GCG sequence format text.
154
+ # Parameters can be omitted.
155
+ #
156
+ # Examples:
157
+ # Bio::GCG::Seq.to_gcg(:definition=>'H.sapiens DNA',
158
+ # :seq_type=>'N', :entry_id=>'gi-1234567',
159
+ # :seq=>seq, :date=>date)
160
+ #
161
+ def self.to_gcg(hash)
162
+ seq = hash[:seq]
163
+ if seq.is_a?(Bio::Sequence::NA) then
164
+ seq_type = 'N'
165
+ elsif seq.is_a?(Bio::Sequence::AA) then
166
+ seq_type = 'P'
167
+ else
168
+ seq_type = (hash[:seq_type] or 'P')
169
+ end
170
+ if seq_type == 'N' then
171
+ head = '!!NA_SEQUENCE 1.0'
172
+ else
173
+ head = '!!AA_SEQUENCE 1.0'
174
+ end
175
+ date = (hash[:date] or Time.now.strftime('%B %d, %Y %H:%M'))
176
+ entry_id = hash[:entry_id].to_s.strip
177
+ len = seq.length
178
+ checksum = self.calc_checksum(seq)
179
+ definition = hash[:definition].to_s.strip
180
+ seq = seq.upcase.gsub(/.{1,50}/, "\\0\n")
181
+ seq.gsub!(/.{10}/, "\\0 ")
182
+ w = len.to_s.size + 1
183
+ i = 1
184
+ seq.gsub!(/^/) { |x| s = sprintf("\n%*d ", w, i); i += 50; s }
185
+
186
+ [ head, "\n", definition, "\n\n",
187
+ "#{entry_id} Length: #{len} #{date} " \
188
+ "Type: #{seq_type} Check: #{checksum} ..\n",
189
+ seq, "\n" ].join('')
190
+ end
191
+
192
+ end #class Seq
193
+ end #module GCG
194
+ end #module Bio
195
+
@@ -1,36 +1,18 @@
1
1
  #
2
2
  # = bio/appl/genscan/report.rb - Genscan report classes
3
3
  #
4
- # Copyright:: Copyright (C) 2003 Mitsuteru C. Nakao <n@bioruby.org>
5
- # License:: LGPL
4
+ # Copyright:: Copyright (C) 2003
5
+ # Mitsuteru C. Nakao <n@bioruby.org>
6
+ # License:: The Ruby License
6
7
  #
7
- # $Id: report.rb,v 1.8 2005/12/18 15:58:40 k Exp $
8
+ # $Id: report.rb,v 1.10 2007/04/05 23:35:39 trevor Exp $
8
9
  #
9
10
  # == Description
10
11
  #
11
12
  #
12
13
  # == Example
13
- # == References
14
- #
15
- #--
16
- #
17
- # This library is free software; you can redistribute it and/or
18
- # modify it under the terms of the GNU Lesser General Public
19
- # License as published by the Free Software Foundation; either
20
- # version 2 of the License, or (at your option) any later version.
21
- #
22
- # This library is distributed in the hope that it will be useful,
23
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
24
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25
- # Lesser General Public License for more details.
26
14
  #
27
- # You should have received a copy of the GNU Lesser General Public
28
- # License along with this library; if not, write to the Free Software
29
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30
- #
31
- # $Id: report.rb,v 1.8 2005/12/18 15:58:40 k Exp $
32
- #
33
- #++
15
+ # == References
34
16
  #
35
17
 
36
18
  require 'bio/db/fasta'
@@ -2,47 +2,10 @@
2
2
  # = bio/appl/hmmer.rb - HMMER wrapper
3
3
  #
4
4
  # Copyright:: Copyright (C) 2002
5
- # KATAYAMA Toshiaki <k@bioruby.org>
6
- # Lisence:: LGPL
5
+ # Toshiaki Katayama <k@bioruby.org>
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: hmmer.rb,v 1.5 2006/02/02 17:08:36 nakao Exp $
9
- #
10
- # == Description
11
- #
12
- # A wrapper for the HMMER programs (hmmsearch or hmmpfam).
13
- #
14
- # == Examples
15
- #
16
- # require 'bio'
17
- # program = 'hmmsearch' # or 'hmmpfam'
18
- # hmmfile = 'test.hmm'
19
- # seqfile = 'test.faa'
20
- #
21
- # factory = Bio::HMMER.new(program, hmmfile, seqfile)
22
- # p factory.query
23
- #
24
- # == References
25
- #
26
- # * HMMER
27
- # http://hmmer.wustl.edu/
28
- #
29
- #--
30
- #
31
- # This library is free software; you can redistribute it and/or
32
- # modify it under the terms of the GNU Lesser General Public
33
- # License as published by the Free Software Foundation; either
34
- # version 2 of the License, or (at your option) any later version.
35
- #
36
- # This library is distributed in the hope that it will be useful,
37
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
38
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
39
- # Lesser General Public License for more details.
40
- #
41
- # You should have received a copy of the GNU Lesser General Public
42
- # License along with this library; if not, write to the Free Software
43
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
44
- #
45
- #++
8
+ # $Id: hmmer.rb,v 1.9 2007/04/05 23:35:39 trevor Exp $
46
9
  #
47
10
 
48
11
  require 'bio/command'
@@ -50,6 +13,8 @@ require 'shellwords'
50
13
 
51
14
  module Bio
52
15
 
16
+ # == Description
17
+ #
53
18
  # A wapper for HMMER programs (hmmsearch or hmmpfam).
54
19
  #
55
20
  # === Examples
@@ -61,7 +26,7 @@ module Bio
61
26
  #
62
27
  # factory = Bio::HMMER.new(program, hmmfile, seqfile)
63
28
  # report = factory.query
64
- # report.class #=> Bio::HMMER::Report
29
+ # report.class # => Bio::HMMER::Report
65
30
  #
66
31
  # === References
67
32
  #
@@ -72,8 +37,6 @@ class HMMER
72
37
 
73
38
  autoload :Report, 'bio/appl/hmmer/report'
74
39
 
75
- include Bio::Command::Tools
76
-
77
40
  # Prgrams name. (hmmsearch or hmmpfam).
78
41
  attr_accessor :program
79
42
 
@@ -112,7 +75,7 @@ class HMMER
112
75
  # Gets options by String.
113
76
  # backward compatibility.
114
77
  def option
115
- make_command_line(@options)
78
+ Bio::Command.make_command_line(@options)
116
79
  end
117
80
 
118
81
 
@@ -131,7 +94,7 @@ class HMMER
131
94
 
132
95
  report = nil
133
96
 
134
- @output = call_command_local(cmd, nil)
97
+ @output = Bio::Command.query_command(cmd, nil)
135
98
  report = parse_result(@output)
136
99
 
137
100
  return report