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
@@ -3,27 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2001, 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: LGPL
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: aa.rb,v 0.16 2005/11/15 13:33:11 k Exp $
9
- #
10
- #--
11
- #
12
- # This library is free software; you can redistribute it and/or
13
- # modify it under the terms of the GNU Lesser General Public
14
- # License as published by the Free Software Foundation; either
15
- # version 2 of the License, or (at your option) any later version.
16
- #
17
- # This library is distributed in the hope that it will be useful,
18
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
19
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
- # Lesser General Public License for more details.
21
- #
22
- # You should have received a copy of the GNU Lesser General Public
23
- # License along with this library; if not, write to the Free Software
24
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
- #
26
- #++
8
+ # $Id: aa.rb,v 0.22 2007/04/06 04:44:51 k Exp $
27
9
  #
28
10
 
29
11
  module Bio
@@ -35,6 +17,7 @@ class AminoAcid
35
17
  # IUPAC code
36
18
  # * http://www.iupac.org/
37
19
  # * http://www.chem.qmw.ac.uk/iubmb/newsletter/1999/item3.html
20
+ # * http://www.ebi.ac.uk/RESID/faq.html
38
21
 
39
22
  NAMES = {
40
23
 
@@ -60,8 +43,10 @@ class AminoAcid
60
43
  'Y' => 'Tyr',
61
44
  'B' => 'Asx', # D/N
62
45
  'Z' => 'Glx', # E/Q
46
+ 'J' => 'Xle', # I/L
63
47
  'U' => 'Sec', # 'uga' (stop)
64
- '?' => 'Pyl', # 'uag' (stop)
48
+ 'O' => 'Pyl', # 'uag' (stop)
49
+ 'X' => 'Xaa', # (unknown)
65
50
 
66
51
  'Ala' => 'alanine',
67
52
  'Cys' => 'cysteine',
@@ -83,10 +68,12 @@ class AminoAcid
83
68
  'Val' => 'valine',
84
69
  'Trp' => 'tryptophan',
85
70
  'Tyr' => 'tyrosine',
86
- 'Asx' => 'asparagine/aspartic acid',
87
- 'Glx' => 'glutamine/glutamic acid',
71
+ 'Asx' => 'asparagine/aspartic acid [DN]',
72
+ 'Glx' => 'glutamine/glutamic acid [EQ]',
73
+ 'Xle' => 'isoleucine/leucine [IL]',
88
74
  'Sec' => 'selenocysteine',
89
75
  'Pyl' => 'pyrrolysine',
76
+ 'Xaa' => 'unknown [A-Z]',
90
77
 
91
78
  }
92
79
 
@@ -230,10 +217,18 @@ class AminoAcid
230
217
  end
231
218
 
232
219
  def to_re(seq)
220
+ replace = {
221
+ 'B' => '[DNB]',
222
+ 'Z' => '[EQZ]',
223
+ 'J' => '[ILJ]',
224
+ 'X' => '[ACDEFGHIKLMNPQRSTVWYUOX]',
225
+ }
226
+ replace.default = '.'
227
+
233
228
  str = seq.to_s.upcase
234
- str.gsub!(/[^BZACDEFGHIKLMNPQRSTVWYU]/, ".")
235
- str.gsub!("B", "[DN]")
236
- str.gsub!("Z", "[EQ]")
229
+ str.gsub!(/[^ACDEFGHIKLMNPQRSTVWYUO]/) { |aa|
230
+ replace[aa]
231
+ }
237
232
  Regexp.new(str)
238
233
  end
239
234
 
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2001, 2004
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: LGPL
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: codontable.rb,v 0.16 2005/11/15 12:43:37 k Exp $
8
+ # $Id: codontable.rb,v 0.18 2007/04/05 23:35:40 trevor Exp $
9
9
  #
10
10
  # == Data source
11
11
  #
@@ -42,24 +42,6 @@
42
42
  # table = Bio::CodonTable[1]
43
43
  # table.revtrans("A") # => ["gcg", "gct", "gca", "gcc"]
44
44
  #
45
- #--
46
- #
47
- # This library is free software; you can redistribute it and/or
48
- # modify it under the terms of the GNU Lesser General Public
49
- # License as published by the Free Software Foundation; either
50
- # version 2 of the License, or (at your option) any later version.
51
- #
52
- # This library is distributed in the hope that it will be useful,
53
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
54
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
55
- # Lesser General Public License for more details.
56
- #
57
- # You should have received a copy of the GNU Lesser General Public
58
- # License along with this library; if not, write to the Free Software
59
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
60
- #
61
- #++
62
- #
63
45
 
64
46
  module Bio
65
47
 
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2001, 2005
5
5
  # Toshiaki Katayama <k@bioruby.org>
6
- # License:: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: na.rb,v 0.20 2006/02/08 12:15:42 k Exp $
8
+ # $Id: na.rb,v 0.23 2007/04/06 04:41:28 k Exp $
9
9
  #
10
10
  # == Synopsis
11
11
  #
@@ -158,9 +158,24 @@ class NucleicAcid
158
158
  end
159
159
 
160
160
  def to_re(seq, rna = false)
161
+ replace = {
162
+ 'y' => '[tcy]',
163
+ 'r' => '[agr]',
164
+ 'w' => '[atw]',
165
+ 's' => '[gcw]',
166
+ 'k' => '[tgk]',
167
+ 'm' => '[acm]',
168
+ 'b' => '[tgcyskb]',
169
+ 'd' => '[atgrwkd]',
170
+ 'h' => '[atcwmyh]',
171
+ 'v' => '[agcmrsv]',
172
+ 'n' => '[atgcyrwskmbdhvn]'
173
+ }
174
+ replace.default = '.'
175
+
161
176
  str = seq.to_s.downcase
162
- str.gsub!(/[^atgcu]/) { |base|
163
- NAMES[base] || '.'
177
+ str.gsub!(/[^atgcu]/) { |na|
178
+ replace[na]
164
179
  }
165
180
  if rna
166
181
  str.tr!("t", "u")
@@ -1,11 +1,11 @@
1
1
  #
2
2
  # = bio/db.rb - common API for database parsers
3
3
  #
4
- # Copyright:: Copyright (C) 2001, 2002, 2005
5
- # KATAYAMA Toshiaki <k@bioruby.org>
6
- # License:: Ruby's
4
+ # Copyright:: Copyright (C) 2001, 2002, 2005
5
+ # Toshiaki Katayama <k@bioruby.org>
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: db.rb,v 0.34 2006/02/27 09:13:08 k Exp $
8
+ # $Id: db.rb,v 0.38 2007/05/08 17:02:13 nakao Exp $
9
9
  #
10
10
  # == On-demand parsing and cache
11
11
  #
@@ -220,12 +220,27 @@ class DB
220
220
 
221
221
  # Returns an Array containing each line of the field without a tag.
222
222
  # lines_fetch also stores the result in the @data hash.
223
- def lines_fetch(tag)
224
- unless @data[tag]
225
- @data[tag] = get(tag).split(/\n/).map{ |l| tag_cut(l) }
226
- end
227
- @data[tag]
228
- end
223
+ def lines_fetch(tag)
224
+ unless @data[tag]
225
+ list = []
226
+ lines = get(tag).split(/\n/)
227
+ lines.each do |line|
228
+ data = tag_cut(line)
229
+ if data[/^\S/] # next sub field
230
+ list << data
231
+ else # continued sub field
232
+ data.strip!
233
+ if list.last[/\-$/] # folded
234
+ list[-1] += data
235
+ else
236
+ list[-1] += " #{data}" # rest of list
237
+ end
238
+ end
239
+ end
240
+ @data[tag] = list
241
+ end
242
+ @data[tag]
243
+ end
229
244
 
230
245
  end # class DB
231
246
 
@@ -298,12 +313,12 @@ class EMBLDB < DB
298
313
 
299
314
  # Returns the contents of the entry as a Hash.
300
315
  def entry2hash(entry)
301
- hash = Hash.new('')
316
+ hash = Hash.new { |h,k| h[k] = '' }
302
317
  entry.each_line do |line|
303
318
  tag = tag_get(line)
304
319
  next if tag == 'XX'
305
320
  tag = 'R' if tag =~ /^R./ # Reference lines
306
- hash[tag] += line
321
+ hash[tag].concat line
307
322
  end
308
323
  return hash
309
324
  end
@@ -5,9 +5,9 @@
5
5
  # KAWASHIMA Shuichi <s@bioruby.org>
6
6
  # Copyright:: Copyright (C) 2006
7
7
  # Mitsuteru C. Nakao <n@bioruby.org>
8
- # License:: LGPL
8
+ # License:: The Ruby License
9
9
  #
10
- # $Id: aaindex.rb,v 1.18 2006/02/22 07:35:19 nakao Exp $
10
+ # $Id: aaindex.rb,v 1.20 2007/04/05 23:35:40 trevor Exp $
11
11
  #
12
12
  # == Description
13
13
  #
@@ -34,24 +34,6 @@
34
34
  #
35
35
  # * http://www.genome.jp/aaindex/
36
36
  #
37
- #--
38
- #
39
- # This library is free software; you can redistribute it and/or
40
- # modify it under the terms of the GNU Lesser General Public
41
- # License as published by the Free Software Foundation; either
42
- # version 2 of the License, or (at your option) any later version.
43
- #
44
- # This library is distributed in the hope that it will be useful,
45
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
46
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
47
- # Lesser General Public License for more details.
48
- #
49
- # You should have received a copy of the GNU Lesser General Public
50
- # License along with this library; if not, write to the Free Software
51
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
52
- #
53
- #++
54
- #
55
37
 
56
38
  require "bio/db"
57
39
  require "matrix"
@@ -1,10 +1,11 @@
1
1
  #
2
2
  # = bio/db/embl.rb - Common methods for EMBL style database classes
3
3
  #
4
- # Copyright:: Copyright (C) 2001-2005 Mitsuteru C. Nakao <n@bioruby.org>
5
- # License:: LGPL
4
+ # Copyright:: Copyright (C) 2001-2006
5
+ # Mitsuteru C. Nakao <n@bioruby.org>
6
+ # License:: The Ruby License
6
7
  #
7
- # $Id: common.rb,v 1.9 2006/01/28 06:40:38 nakao Exp $
8
+ # $Id: common.rb,v 1.12 2007/04/05 23:35:40 trevor Exp $
8
9
  #
9
10
  # == Description
10
11
  #
@@ -69,24 +70,6 @@
69
70
  # * The UniProtKB/SwissProt/TrEMBL User Manual
70
71
  # http://www.expasy.org/sprot/userman.html
71
72
  #
72
- #--
73
- #
74
- # This library is free software; you can redistribute it and/or
75
- # modify it under the terms of the GNU Lesser General Public
76
- # License as published by the Free Software Foundation; either
77
- # version 2 of the License, or (at your option) any later version.
78
- #
79
- # This library is distributed in the hope that it will be useful,
80
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
81
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
82
- # Lesser General Public License for more details.
83
- #
84
- # You should have received a copy of the GNU Lesser General Public
85
- # License along with this library; if not, write to the Free Software
86
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
87
- #
88
- #++
89
- #
90
73
 
91
74
  require 'bio/db'
92
75
  require 'bio/reference'
@@ -2,10 +2,10 @@
2
2
  # = bio/db/embl/embl.rb - EMBL database class
3
3
  #
4
4
  #
5
- # Copyright:: Copyright (C) 2001-2005 Mitsuteru C. Nakao <n@bioruby.org>
6
- # License:: LGPL
5
+ # Copyright:: Copyright (C) 2001-2007 Mitsuteru C. Nakao <n@bioruby.org>
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: embl.rb,v 1.26 2006/01/28 06:40:38 nakao Exp $
8
+ # $Id: embl.rb,v 1.29 2007/04/05 23:35:40 trevor Exp $
9
9
  #
10
10
  # == Description
11
11
  #
@@ -28,24 +28,6 @@
28
28
  # * The EMBL Nucleotide Sequence Database: Users Manual
29
29
  # http://www.ebi.ac.uk/embl/Documentation/User_manual/usrman.html
30
30
  #
31
- #--
32
- #
33
- # This library is free software; you can redistribute it and/or
34
- # modify it under the terms of the GNU Lesser General Public
35
- # License as published by the Free Software Foundation; either
36
- # version 2 of the License, or (at your option) any later version.
37
- #
38
- # This library is distributed in the hope that it will be useful,
39
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
40
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41
- # Lesser General Public License for more details.
42
- #
43
- # You should have received a copy of the GNU Lesser General Public
44
- # License along with this library; if not, write to the Free Software
45
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
46
- #
47
- #++
48
- #
49
31
 
50
32
  require 'bio/db'
51
33
  require 'bio/db/embl/common'
@@ -58,7 +40,7 @@ class EMBL < EMBLDB
58
40
  # * Bio::EMBL#id_line -> <ID Hash>
59
41
  # where <ID Hash> is:
60
42
  # {'ENTRY_NAME' => String, 'MOLECULE_TYPE' => String, 'DIVISION' => String,
61
- # 'SEQUENCE_LENGTH' => Int}
43
+ # 'SEQUENCE_LENGTH' => Int, 'SEQUENCE_VERSION' => Int}
62
44
  #
63
45
  # ID Line
64
46
  # "ID ENTRY_NAME DATA_CLASS; MOLECULE_TYPE; DIVISION; SEQUENCE_LENGTH BP."
@@ -87,14 +69,31 @@ class EMBL < EMBLDB
87
69
  # UNC (Unclassified)
88
70
  # VRL (Viruses)
89
71
  #
72
+ # Rel 89-
73
+ # ID CD789012; SV 4; linear; genomic DNA; HTG; MAM; 500 BP.
74
+ # ID <1>; SV <2>; <3>; <4>; <5>; <6>; <7> BP.
75
+ # 1. Primary accession number
76
+ # 2. Sequence version number
77
+ # 3. Topology: 'circular' or 'linear'
78
+ # 4. Molecule type (see note 1 below)
79
+ # 5. Data class (see section 3.1)
80
+ # 6. Taxonomic division (see section 3.2)
81
+ # 7. Sequence length (see note 2 below)
90
82
  def id_line(key=nil)
91
83
  unless @data['ID']
92
84
  tmp = Hash.new
93
85
  idline = fetch('ID').split(/; +/)
94
- tmp['ENTRY_NAME'], tmp['DATA_CLASS'] = idline[0].split(/ +/)
95
- tmp['MOLECULE_TYPE'] = idline[1]
96
- tmp['DIVISION'] = idline[2]
97
- tmp['SEQUENCE_LENGTH'] = idline[3].strip.split(' ').first.to_i
86
+ tmp['ENTRY_NAME'], tmp['DATA_CLASS'] = idline.shift.split(/ +/)
87
+ if idline.first =~ /^SV/
88
+ tmp['SEQUENCE_VERSION'] = idline.shift.split(' ').last
89
+ tmp['TOPOLOGY'] = idline.shift
90
+ tmp['MOLECULE_TYPE'] = idline.shift
91
+ tmp['DATA_CLASS'] = idline.shift
92
+ else
93
+ tmp['MOLECULE_TYPE'] = idline.shift
94
+ end
95
+ tmp['DIVISION'] = idline.shift
96
+ tmp['SEQUENCE_LENGTH'] = idline.shift.strip.split(' ').first.to_i
98
97
 
99
98
  @data['ID'] = tmp
100
99
  end
@@ -146,10 +145,14 @@ class EMBL < EMBLDB
146
145
  # SV Line; sequence version (1/entry)
147
146
  # SV Accession.Version
148
147
  def sv
149
- field_fetch('SV').sub(/;/,'')
148
+ if (v = field_fetch('SV').sub(/;/,'')) == ""
149
+ [id_line['ENTRY_NAME'], id_line['SEQUENCE_VERSION']].join('.')
150
+ else
151
+ v
152
+ end
150
153
  end
151
154
  def version
152
- sv.split(".")[1].to_i
155
+ (sv.split(".")[1] || id_line['SEQUENCE_VERSION']).to_i
153
156
  end
154
157
 
155
158
 
@@ -394,61 +397,6 @@ class EMBL < EMBLDB
394
397
  return feature
395
398
  end
396
399
 
397
- end
398
-
399
- end
400
-
401
-
402
- if __FILE__ == $0
403
- while ent = $<.gets(Bio::EMBL::RS)
404
- puts "\n ==> e = Bio::EMBL.new(ent) "
405
- e = Bio::EMBL.new(ent)
406
-
407
- puts "\n ==> e.entry_id "
408
- p e.entry_id
409
- puts "\n ==> e.id_line "
410
- p e.id_line
411
- puts "\n ==> e.id_line('molecule') "
412
- p e.id_line('molecule')
413
- puts "\n ==> e.molecule "
414
- p e.molecule
415
- puts "\n ==> e.ac "
416
- p e.ac
417
- puts "\n ==> e.sv "
418
- p e.sv
419
- puts "\n ==> e.dt "
420
- p e.dt
421
- puts "\n ==> e.dt('created') "
422
- p e.dt('created')
423
- puts "\n ==> e.de "
424
- p e.de
425
- puts "\n ==> e.kw "
426
- p e.kw
427
- puts "\n ==> e.os "
428
- p e.os
429
- puts "\n ==> e.oc "
430
- p e.oc
431
- puts "\n ==> e.og "
432
- p e.og
433
- puts "\n ==> e.ref "
434
- p e.ref
435
- puts "\n ==> e.dr "
436
- p e.dr
437
- puts "\n ==> e.ft "
438
- p e.ft
439
- puts "\n ==> e.each_cds {|c| p c}"
440
- p e.each_cds {|c| p c }
441
- puts "\n ==> e.sq "
442
- p e.sq
443
- puts "\n ==> e.sq('a') "
444
- p e.sq('a')
445
- puts "\n ==> e.gc"
446
- p e.gc
447
- puts "\n ==> e.seq "
448
- p e.seq
449
- end
450
-
451
- end
452
-
453
-
400
+ end # class EMBL
454
401
 
402
+ end # module Bio