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,23 +1,11 @@
1
1
  #
2
- # bio/db/transfac.rb - TRANSFAC database class
2
+ # = bio/db/transfac.rb - TRANSFAC database class
3
3
  #
4
- # Copyright (C) 2001 KAWASHIMA Shuichi <s@bioruby.org>
4
+ # Copyright:: Copyright (C) 2001
5
+ # Shuichi Kawashima <shuichi@hgc.jp>
6
+ # License:: The Ruby License
5
7
  #
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: transfac.rb,v 1.10 2005/11/28 04:57:33 k Exp $
8
+ # $Id: transfac.rb,v 1.12 2007/04/05 23:35:40 trevor Exp $
21
9
  #
22
10
 
23
11
  require "bio/db"
@@ -1,51 +1,54 @@
1
1
  #
2
2
  # = bio/feature.rb - Features/Feature class (GenBank Feature table)
3
3
  #
4
- # Copyright:: Copyright (c) 2002, 2005
5
- # Toshiaki Katayama <k@bioruby.org>
6
- # License:: Ruby's
7
- #
8
- # $Id: feature.rb,v 1.10 2006/02/27 09:13:46 k Exp $
9
- #
10
- # == INSD Feature table definition
11
- #
12
- # See http://www.ddbj.nig.ac.jp/FT/full_index.html for the INSD
13
- # (GenBank/EMBL/DDBJ) Feature table definition.
14
- #
15
- # === Example
16
- #
17
- # # suppose features is a Bio::Features object
18
- # features.each do |feature|
19
- # f_name = feature.feature
20
- # f_pos = feature.position
21
- # puts "#{f_name}:\t#{f_pos}"
22
- # feature.each do |qualifier|
23
- # q_name = qualifier.qualifier
24
- # q_val = qualifier.value
25
- # puts "- #{q_name}:\t#{q_val}"
26
- # end
27
- # end
28
- #
29
- # # Iterates only on CDS features and extract translated amino acid sequences
30
- # features.each("CDS") do |feature|
31
- # hash = feature.assoc
32
- # name = hash["gene"] || hash["product"] || hash["note"]
33
- # seq = hash["translation"]
34
- # pos = feature.position
35
- # if gene and seq
36
- # puts ">#{gene} #{feature.position}"
37
- # puts aaseq
38
- # end
39
- # end
4
+ # Copyright:: Copyright (c) 2002, 2005 Toshiaki Katayama <k@bioruby.org>
5
+ # 2006 Jan Aerts <jan.aerts@bbsrc.ac.uk>
6
+ # License:: The Ruby License
40
7
  #
8
+ # $Id: feature.rb,v 1.13 2007/04/05 23:35:39 trevor Exp $
41
9
 
42
10
  require 'bio/location'
43
11
 
44
12
  module Bio
45
13
 
14
+ # = DESCRIPTION
46
15
  # Container for the sequence annotation.
16
+ #
17
+ # = USAGE
18
+ # # Create a Bio::Feature object.
19
+ # # For example: the GenBank-formatted entry in genbank for accession M33388
20
+ # # contains the following feature:
21
+ # # exon 1532..1799
22
+ # # /gene="CYP2D6"
23
+ # # /note="cytochrome P450 IID6; GOO-132-127"
24
+ # # /number="1"
25
+ # feature = Bio::Feature.new('exon','1532..1799')
26
+ # feature.append(Bio::Feature::Qualifier.new('gene', 'CYP2D6'))
27
+ # feature.append(Bio::Feature::Qualifier.new('note', 'cytochrome P450 IID6'))
28
+ # feature.append(Bio::Feature::Qualifier.new('number', '1'))
29
+ #
30
+ # # or all in one go:
31
+ # feature2 = Bio::Feature.new('exon','1532..1799',
32
+ # [ Bio::Feature::Qualifier.new('gene', 'CYP2D6'),
33
+ # Bio::Feature::Qualifier.new('note', 'cytochrome P450 IID6; GOO-132-127'),
34
+ # Bio::Feature::Qualifier.new('number', '1')
35
+ # ])
36
+ #
37
+ # # Print the feature
38
+ # puts feature.feature + "\t" + feature.position
39
+ # feature.each do |qualifier|
40
+ # puts "- " + qualifier.qualifier + ": " + qualifier.value
41
+ # end
42
+ #
43
+ # = REFERENCES
44
+ # INSD feature table definition:: http://www.ddbj.nig.ac.jp/FT/full_index.html
47
45
  class Feature
48
-
46
+ # Create a new Bio::Feature object.
47
+ # *Arguments*:
48
+ # * (required) _feature_: type of feature (e.g. "exon")
49
+ # * (required) _position_: position of feature (e.g. "complement(1532..1799)")
50
+ # * (opt) _qualifiers_: list of Bio::Feature::Qualifier objects (default: [])
51
+ # *Returns*:: Bio::Feature object
49
52
  def initialize(feature = '', position = '', qualifiers = [])
50
53
  @feature, @position, @qualifiers = feature, position, qualifiers
51
54
  end
@@ -65,16 +68,19 @@ class Feature
65
68
  end
66
69
 
67
70
  # Appends a Qualifier object to the Feature.
68
- #
69
- # * Returns an Array of Qualifier objects.
70
- # * If the argument is not a Qualifier object, returns nil.
71
- #
71
+ #
72
+ # *Arguments*:
73
+ # * (required) _qualifier_: Bio::Feature::Qualifier object
74
+ # *Returns*:: Bio::Feature object
72
75
  def append(a)
73
76
  @qualifiers.push(a) if a.is_a? Qualifier
74
77
  return self
75
78
  end
76
79
 
77
- # Iterates on each qualifier.
80
+ # Iterates on each qualifier object.
81
+ #
82
+ # *Arguments*:
83
+ # * (optional) _key_: if specified, only iterates over qualifiers with this key
78
84
  def each(arg = nil)
79
85
  @qualifiers.each do |x|
80
86
  next if arg and x.qualifier != arg
@@ -107,9 +113,14 @@ class Feature
107
113
  self.to_hash[key]
108
114
  end
109
115
 
110
- # Container for the qualifier-value pair.
116
+ # Container for qualifier-value pairs for sequence features.
111
117
  class Qualifier
112
-
118
+ # Creates a new Bio::Feature::Qualifier object
119
+ #
120
+ # *Arguments*:
121
+ # * (required) _key_: key of the qualifier (e.g. "gene")
122
+ # * (required) _value_: value of the qualifier (e.g. "CYP2D6")
123
+ # *Returns*:: Bio::Feature::Qualifier object
113
124
  def initialize(key, value)
114
125
  @qualifier, @value = key, value
115
126
  end
@@ -120,14 +131,52 @@ class Feature
120
131
  # Qualifier value in String
121
132
  attr_reader :value
122
133
 
123
- end
134
+ end #Qualifier
124
135
 
125
- end
136
+ end #Feature
126
137
 
127
138
 
128
- # Container for the list of Feature objects.
139
+ # = DESCRIPTION
140
+ # Container for a list of Feature objects.
141
+ #
142
+ # = USAGE
143
+ # # First, create some Bio::Feature objects
144
+ # feature1 = Bio::Feature.new('intron','3627..4059')
145
+ # feature2 = Bio::Feature.new('exon','4060..4236')
146
+ # feature3 = Bio::Feature.new('intron','4237..4426')
147
+ # feature4 = Bio::Feature.new('CDS','join(2538..3626,4060..4236)',
148
+ # [ Bio::Feature::Qualifier.new('gene', 'CYP2D6'),
149
+ # Bio::Feature::Qualifier.new('translation','MGXXTVMHLL...')
150
+ # ])
151
+ #
152
+ # # And create a container for them
153
+ # feature_container = Bio::Features.new([ feature1, feature2, feature3, feature4 ])
154
+ #
155
+ # # Iterate over all features and print
156
+ # feature_container.each do |feature|
157
+ # puts feature.feature + "\t" + feature.position
158
+ # feature.each do |qualifier|
159
+ # puts "- " + qualifier.qualifier + ": " + qualifier.value
160
+ # end
161
+ # end
162
+ #
163
+ # # Iterate only over CDS features and extract translated amino acid sequences
164
+ # features.each("CDS") do |feature|
165
+ # hash = feature.to_hash
166
+ # name = hash["gene"] || hash["product"] || hash["note"]
167
+ # aaseq = hash["translation"]
168
+ # pos = feature.position
169
+ # if name and seq
170
+ # puts ">#{gene} #{feature.position}"
171
+ # puts aaseq
172
+ # end
173
+ # end
129
174
  class Features
130
-
175
+ # Create a new Bio::Features object.
176
+ #
177
+ # *Arguments*:
178
+ # * (optional) _list of features_: list of Bio::Feature objects
179
+ # *Returns*:: Bio::Features object
131
180
  def initialize(ary = [])
132
181
  @features = ary
133
182
  end
@@ -136,13 +185,19 @@ class Features
136
185
  attr_accessor :features
137
186
 
138
187
  # Appends a Feature object to Features.
188
+ #
189
+ # *Arguments*:
190
+ # * (required) _feature_: Bio::Feature object
191
+ # *Returns*:: Bio::Features object
139
192
  def append(a)
140
193
  @features.push(a) if a.is_a? Feature
141
194
  return self
142
195
  end
143
196
 
144
- # Iterates on each feature. If a feature name is given as an argument,
145
- # only iterates on each feature belongs to the name (e.g. 'CDS' etc.)
197
+ # Iterates on each feature object.
198
+ #
199
+ # *Arguments*:
200
+ # * (optional) _key_: if specified, only iterates over features with this key
146
201
  def each(arg = nil)
147
202
  @features.each do |x|
148
203
  next if arg and x.feature != arg
@@ -165,8 +220,7 @@ class Features
165
220
  @features.last
166
221
  end
167
222
 
168
- end
223
+ end # Features
169
224
 
170
225
  end # Bio
171
226
 
172
-
@@ -1,12 +1,12 @@
1
1
  #
2
2
  # = bio/io/das.rb - BioDAS access module
3
3
  #
4
- # Copyright:: Copyright (C) 2003, 2004
4
+ # Copyright:: Copyright (C) 2003, 2004, 2007
5
5
  # Shuichi Kawashima <shuichi@hgc.jp>,
6
6
  # Toshiaki Katayama <k@bioruby.org>
7
- # License:: LGPL
7
+ # License:: The Ruby License
8
8
  #
9
- # $Id: das.rb,v 1.11 2005/11/14 02:01:54 k Exp $
9
+ # $Id: das.rb,v 1.17 2007/07/16 18:06:12 k Exp $
10
10
  #
11
11
  #--
12
12
  # == TODO
@@ -15,31 +15,12 @@
15
15
  #
16
16
  #++
17
17
  #
18
- #--
19
- #
20
- # This library is free software; you can redistribute it and/or
21
- # modify it under the terms of the GNU Lesser General Public
22
- # License as published by the Free Software Foundation; either
23
- # version 2 of the License, or (at your option) any later version.
24
- #
25
- # This library is distributed in the hope that it will be useful,
26
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
27
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28
- # Lesser General Public License for more details.
29
- #
30
- # You should have received a copy of the GNU Lesser General Public
31
- # License along with this library; if not, write to the Free Software
32
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
33
- #
34
- #++
35
- #
36
18
 
37
19
  begin
38
20
  require 'rexml/document'
39
21
  rescue LoadError
40
22
  end
41
- require 'uri'
42
- require 'net/http'
23
+ require 'bio/command'
43
24
  require 'bio/sequence'
44
25
 
45
26
 
@@ -49,15 +30,24 @@ class DAS
49
30
 
50
31
  # Specify DAS server to connect
51
32
  def initialize(url = 'http://www.wormbase.org:80/db/')
52
- schema, user, host, port, reg, path, = URI.split(url)
53
- @server = Net::HTTP.new(host, port)
54
- @prefix = path ? path.chomp('/') : ''
33
+ @server = url.chomp('/')
55
34
  end
56
35
 
36
+ def dna(dsn, entry_point, start, stop)
37
+ seg = Bio::DAS::SEGMENT.region(entry_point, start, stop)
38
+ self.get_dna(dsn, seg).first.sequence
39
+ end
40
+
41
+ def features(dsn, entry_point, start, stop)
42
+ seg = Bio::DAS::SEGMENT.region(entry_point, start, stop)
43
+ self.get_features(dsn, seg)
44
+ end
45
+
46
+
57
47
  # Returns an Array of Bio::DAS::DSN
58
48
  def get_dsn
59
49
  ary = []
60
- result, = @server.get(@prefix + '/das/dsn')
50
+ result, = Bio::Command.post_form("#{@server}/das/dsn")
61
51
  doc = REXML::Document.new(result.body)
62
52
  doc.elements.each('/descendant::DSN') do |e|
63
53
  dsn = DSN.new
@@ -68,7 +58,7 @@ class DAS
68
58
  dsn.source_id = e.attributes['id']
69
59
  dsn.source_version = e.attributes['version']
70
60
  when 'MAPMASTER'
71
- dsn.mapmaster = e.name
61
+ dsn.mapmaster = e.text
72
62
  when 'DESCRIPTION'
73
63
  dsn.description = e.text
74
64
  dsn.description_href = e.attributes['href']
@@ -81,10 +71,14 @@ class DAS
81
71
 
82
72
  # Returns Bio::DAS::ENTRY_POINT.
83
73
  # The 'dsn' can be a String or a Bio::DAS::DSN object.
84
- def get_entry_point(dsn)
74
+ def get_entry_points(dsn)
85
75
  entry_point = ENTRY_POINT.new
86
- dsn = dsn.source if dsn.instance_of?(Bio::DAS::DSN)
87
- result, = @server.get(@prefix + '/das/' + dsn + '/entry_points')
76
+ if dsn.instance_of?(Bio::DAS::DSN)
77
+ src = dsn.source
78
+ else
79
+ src = dsn
80
+ end
81
+ result, = Bio::Command.post_form("#{@server}/das/#{src}/entry_points")
88
82
  doc = REXML::Document.new(result.body)
89
83
  doc.elements.each('/descendant::ENTRY_POINTS') do |e|
90
84
  entry_point.href = e.attributes['href']
@@ -93,8 +87,8 @@ class DAS
93
87
  segment = SEGMENT.new
94
88
  segment.entry_id = e.attributes['id']
95
89
  segment.start = e.attributes['start']
96
- segment.stop = e.attributes['stop']
97
- segment.stop = e.attributes['orientation']
90
+ segment.stop = e.attributes['stop'] || e.attributes['size']
91
+ segment.orientation = e.attributes['orientation']
98
92
  segment.subparts = e.attributes['subparts']
99
93
  segment.description = e.text
100
94
  entry_point.segments << segment
@@ -117,9 +111,8 @@ class DAS
117
111
  segments.each do |s|
118
112
  opts << "segment=#{s.entry_id}:#{s.start},#{s.stop}"
119
113
  end
120
- query = opts.join(';')
121
114
 
122
- result, = @server.get(@prefix + '/das/' + dsn + '/dna?' + query)
115
+ result, = Bio::Command.post_form("#{@server}/das/#{dsn}/dna", opts)
123
116
  doc = REXML::Document.new(result.body)
124
117
  doc.elements.each('/descendant::SEQUENCE') do |e|
125
118
  sequence = DNA.new
@@ -150,9 +143,8 @@ class DAS
150
143
  segments.each do |s|
151
144
  opts << "segment=#{s.entry_id}:#{s.start},#{s.stop}"
152
145
  end
153
- query = opts.join(';')
154
146
 
155
- result, = @server.get(@prefix + '/das/' + dsn + '/sequence?' + query)
147
+ result, = Bio::Command.post_form("#{@server}/das/#{dsn}/sequence", opts)
156
148
  doc = REXML::Document.new(result.body)
157
149
  doc.elements.each('/descendant::SEQUENCE') do |e|
158
150
  sequence = SEQUENCE.new
@@ -188,9 +180,8 @@ class DAS
188
180
  segments.each do |s|
189
181
  opts << "segment=#{s.entry_id}:#{s.start},#{s.stop}"
190
182
  end
191
- query = opts.join(';')
192
183
 
193
- result, = @server.get(@prefix + '/das/' + dsn + '/types?' + query)
184
+ result, = Bio::Command.post_form("#{@server}/das/#{dsn}/types", opts)
194
185
  doc = REXML::Document.new(result.body)
195
186
  doc.elements.each('/descendant::GFF') do |e|
196
187
  types.version = e.attributes['version']
@@ -240,9 +231,8 @@ class DAS
240
231
  group_ids.each do |gid|
241
232
  opts << "group_id=#{gid}"
242
233
  end
243
- query = opts.join(';')
244
234
 
245
- result, = @server.get(@prefix + '/das/' + dsn + '/features?' + query)
235
+ result, = Bio::Command.post_form("#{@server}/das/#{dsn}/features", opts)
246
236
  doc = REXML::Document.new(result.body)
247
237
  doc.elements.each('/descendant::GFF') do |e|
248
238
  gff.version = e.attributes['version']
@@ -459,7 +449,7 @@ if __FILE__ == $0
459
449
  puts ">>> dsn : entry_points"
460
450
  org_list.each do |org|
461
451
  print "#{org} : "
462
- list = kegg_das.get_entry_point(org)
452
+ list = kegg_das.get_entry_points(org)
463
453
  list.segments.each do |seg|
464
454
  print " #{seg.entry_id}"
465
455
  end
@@ -4,33 +4,15 @@
4
4
  # Copyright:: Copyright (C) 2000, 2001
5
5
  # Mitsuteru C. Nakao <n@bioruby.org>,
6
6
  # Toshiaki Katayama <k@bioruby.org>
7
- # License:: LGPL
7
+ # License:: The Ruby License
8
8
  #
9
- # $Id: dbget.rb,v 1.11 2005/11/05 08:32:26 k Exp $
9
+ # $Id: dbget.rb,v 1.13 2007/04/05 23:35:41 trevor Exp $
10
10
  #
11
11
  # == DBGET
12
12
  #
13
13
  # Accessing the GenomeNet/DBGET data retrieval system
14
14
  # http://www.genome.jp/dbget/ within the intranet.
15
15
  #
16
- #--
17
- #
18
- # This library is free software; you can redistribute it and/or
19
- # modify it under the terms of the GNU Lesser General Public
20
- # License as published by the Free Software Foundation; either
21
- # version 2 of the License, or (at your option) any later version.
22
- #
23
- # This library is distributed in the hope that it will be useful,
24
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
25
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26
- # Lesser General Public License for more details.
27
- #
28
- # You should have received a copy of the GNU Lesser General Public
29
- # License along with this library; if not, write to the Free Software
30
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
31
- #
32
- #++
33
- #
34
16
 
35
17
  require 'socket'
36
18