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,46 +1,21 @@
1
1
  #
2
2
  # = bio/reference.rb - Journal reference classes
3
3
  #
4
- # Copyright:: Copyright (C) 2001
5
- # KATAYAMA Toshiaki <k@bioruby.org>
6
- # Lisence:: LGPL
4
+ # Copyright:: Copyright (C) 2001, 2006
5
+ # Toshiaki Katayama <k@bioruby.org>,
6
+ # Ryan Raaum <ryan@raaum.org>
7
+ # License:: The Ruby License
7
8
  #
8
- # $Id: reference.rb,v 1.21 2006/02/08 15:06:26 nakao Exp $
9
- #
10
- # == Description
11
- #
12
- # Journal reference classes.
13
- #
14
- # == Examples
15
- #
16
- # == References
17
- #
18
- #
19
- #
20
- #--
21
- #
22
- # This library is free software; you can redistribute it and/or
23
- # modify it under the terms of the GNU Lesser General Public
24
- # License as published by the Free Software Foundation; either
25
- # version 2 of the License, or (at your option) any later version.
26
- #
27
- # This library is distributed in the hope that it will be useful,
28
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
29
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
30
- # Lesser General Public License for more details.
31
- #
32
- # You should have received a copy of the GNU Lesser General Public
33
- # License along with this library; if not, write to the Free Software
34
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
35
- #
36
- #++
9
+ # $Id: reference.rb,v 1.24 2007/04/05 23:35:39 trevor Exp $
37
10
  #
38
11
 
39
12
  module Bio
40
13
 
14
+ # = DESCRIPTION
15
+ #
41
16
  # A class for journal reference information.
42
17
  #
43
- # === Examples
18
+ # = USAGE
44
19
  #
45
20
  # hash = {'authors' => [ "Hoge, J.P.", "Fuga, F.B." ],
46
21
  # 'title' => "Title of the study.",
@@ -68,34 +43,34 @@ module Bio
68
43
  # Author names in an Array, [ "Hoge, J.P.", "Fuga, F.B." ].
69
44
  attr_reader :authors
70
45
 
71
- # "Title of the study."
46
+ # String with title of the study
72
47
  attr_reader :title
73
48
 
74
- # "Theor. J. Hoge"
49
+ # String with journal name
75
50
  attr_reader :journal
76
51
 
77
- # 12
52
+ # volume number (typically Fixnum)
78
53
  attr_reader :volume
79
54
 
80
- # 3
55
+ # issue number (typically Fixnum)
81
56
  attr_reader :issue
82
57
 
83
- # "123-145"
58
+ # page range (typically String, e.g. "123-145")
84
59
  attr_reader :pages
85
60
 
86
- # 2001
61
+ # year of publication (typically Fixnum)
87
62
  attr_reader :year
88
63
 
89
- # 12345678
64
+ # pubmed identifier (typically Fixnum)
90
65
  attr_reader :pubmed
91
66
 
92
- # 98765432
67
+ # medline identifier (typically Fixnum)
93
68
  attr_reader :medline
94
69
 
95
- # Abstract test in String.
70
+ # Abstract text in String.
96
71
  attr_reader :abstract
97
72
 
98
- # A URL String.
73
+ # An URL String.
99
74
  attr_reader :url
100
75
 
101
76
  # MeSH terms in an Array.
@@ -104,7 +79,42 @@ module Bio
104
79
  # Affiliations in an Array.
105
80
  attr_reader :affiliations
106
81
 
107
- #
82
+ # Create a new Bio::Reference object from a Hash of values.
83
+ # Data is extracted from the values for keys:
84
+ #
85
+ # * authors - expected value: Array of Strings
86
+ # * title - expected value: String
87
+ # * journal - expected value: String
88
+ # * volume - expected value: Fixnum or String
89
+ # * issue - expected value: Fixnum or String
90
+ # * pages - expected value: String
91
+ # * year - expected value: Fixnum or String
92
+ # * pubmed - expected value: Fixnum or String
93
+ # * medline - expected value: Fixnum or String
94
+ # * abstract - expected value: String
95
+ # * url - expected value: String
96
+ # * mesh - expected value: Array of Strings
97
+ # * affiliations - expected value: Array of Strings
98
+ #
99
+ #
100
+ # hash = {'authors' => [ "Hoge, J.P.", "Fuga, F.B." ],
101
+ # 'title' => "Title of the study.",
102
+ # 'journal' => "Theor. J. Hoge",
103
+ # 'volume' => 12,
104
+ # 'issue' => 3,
105
+ # 'pages' => "123-145",
106
+ # 'year' => 2001,
107
+ # 'pubmed' => 12345678,
108
+ # 'medline' => 98765432,
109
+ # 'abstract' => "Hoge fuga. ...",
110
+ # 'url' => "http://example.com",
111
+ # 'mesh' => [],
112
+ # 'affiliations' => []}
113
+ # ref = Bio::Reference.new(hash)
114
+ # ---
115
+ # *Arguments*:
116
+ # * (required) _hash_: Hash
117
+ # *Returns*:: Bio::Reference object
108
118
  def initialize(hash)
109
119
  hash.default = ''
110
120
  @authors = hash['authors'] # [ "Hoge, J.P.", "Fuga, F.B." ]
@@ -130,10 +140,10 @@ module Bio
130
140
  # Styles:
131
141
  # 0. nil - general
132
142
  # 1. endnote - Endnote
133
- # 2. bibitem - Bibitem (option acceptable)
134
- # 3. bibtex - BiBTeX (option acceptable)
135
- # 4. rd - rd (option acceptable)
136
- # 5. nature - Nature (option acceptable)
143
+ # 2. bibitem - Bibitem (option available)
144
+ # 3. bibtex - BiBTeX (option available)
145
+ # 4. rd - rd (option available)
146
+ # 5. nature - Nature (option available)
137
147
  # 6. science - Science
138
148
  # 7. genome_biol - Genome Biology
139
149
  # 8. genome_res - Genome Research
@@ -141,6 +151,23 @@ module Bio
141
151
  # 10. current - Current Biology
142
152
  # 11. trends - Trends in *
143
153
  # 12. cell - Cell Press
154
+ #
155
+ # See individual methods for details. Basic usage is:
156
+ #
157
+ # # ref is Bio::Reference object
158
+ # # using simplest possible call (for general style)
159
+ # puts ref.format
160
+ #
161
+ # # output in Nature style
162
+ # puts ref.format("nature") # alternatively, puts ref.nature
163
+ #
164
+ # # output in Nature short style (see Bio::Reference#nature)
165
+ # puts ref.format("nature",true) # alternatively, puts ref.nature(true)
166
+ # ---
167
+ # *Arguments*:
168
+ # * (optional) _style_: String with style identifier
169
+ # * (optional) _option_: Option for styles accepting one
170
+ # *Returns*:: String
144
171
  def format(style = nil, option = nil)
145
172
  case style
146
173
  when 'endnote'
@@ -172,7 +199,25 @@ module Bio
172
199
  end
173
200
  end
174
201
 
175
- # Formats in the Endonote style.
202
+ # Returns reference formatted in the Endnote style.
203
+ #
204
+ # # ref is a Bio::Reference object
205
+ # puts ref.endnote
206
+ #
207
+ # %0 Journal Article
208
+ # %A Hoge, J.P.
209
+ # %A Fuga, F.B.
210
+ # %D 2001
211
+ # %T Title of the study.
212
+ # %J Theor. J. Hoge
213
+ # %V 12
214
+ # %N 3
215
+ # %P 123-145
216
+ # %M 12345678
217
+ # %U http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&dopt=Citation&list_uids=12345678
218
+ # %X Hoge fuga. ...
219
+ # ---
220
+ # *Returns*:: String
176
221
  def endnote
177
222
  lines = []
178
223
  lines << "%0 Journal Article"
@@ -200,7 +245,17 @@ module Bio
200
245
  return lines.join("\n")
201
246
  end
202
247
 
203
- # Formats in the bibitem.
248
+ # Returns reference formatted in the bibitem style
249
+ #
250
+ # # ref is a Bio::Reference object
251
+ # puts ref.bibitem
252
+ #
253
+ # \bibitem{PMID:12345678}
254
+ # Hoge, J.P., Fuga, F.B.
255
+ # Title of the study.,
256
+ # {\em Theor. J. Hoge}, 12(3):123--145, 2001.
257
+ # ---
258
+ # *Returns*:: String
204
259
  def bibitem(item = nil)
205
260
  item = "PMID:#{@pubmed}" unless item
206
261
  pages = @pages.sub('-', '--')
@@ -212,7 +267,38 @@ module Bio
212
267
  END
213
268
  end
214
269
 
215
- # Formats in the BiBTeX style.
270
+ # Returns reference formatted in the BiBTeX style.
271
+ #
272
+ # # ref is a Bio::Reference object
273
+ # puts ref.bibtex
274
+ #
275
+ # @article{PMID:12345678,
276
+ # author = {Hoge, J.P. and Fuga, F.B.},
277
+ # title = {Title of the study.},
278
+ # journal = {Theor. J. Hoge},
279
+ # year = {2001},
280
+ # volume = {12},
281
+ # number = {3},
282
+ # pages = {123--145},
283
+ # }
284
+ #
285
+ # # using a different section (e.g. "book")
286
+ # # (but not really configured for anything other than articles)
287
+ # puts ref.bibtex("book")
288
+ #
289
+ # @book{PMID:12345678,
290
+ # author = {Hoge, J.P. and Fuga, F.B.},
291
+ # title = {Title of the study.},
292
+ # journal = {Theor. J. Hoge},
293
+ # year = {2001},
294
+ # volume = {12},
295
+ # number = {3},
296
+ # pages = {123--145},
297
+ # }
298
+ # ---
299
+ # *Arguments*:
300
+ # * (optional) _section_: BiBTeX section as String
301
+ # *Returns*:: String
216
302
  def bibtex(section = nil)
217
303
  section = "article" unless section
218
304
  authors = authors_join(' and ', ' and ')
@@ -230,13 +316,37 @@ module Bio
230
316
  END
231
317
  end
232
318
 
233
- # Formats in a general style.
319
+ # Returns reference formatted in a general/generic style.
320
+ #
321
+ # # ref is a Bio::Reference object
322
+ # puts ref.general
323
+ #
324
+ # Hoge, J.P., Fuga, F.B. (2001). "Title of the study." Theor. J. Hoge 12:123-145.
325
+ # ---
326
+ # *Returns*:: String
234
327
  def general
235
328
  authors = @authors.join(', ')
236
329
  "#{authors} (#{@year}). \"#{@title}\" #{@journal} #{@volume}:#{@pages}."
237
330
  end
238
331
 
239
- # Formats in the RD style.
332
+ # Return reference formatted in the RD style.
333
+ #
334
+ # # ref is a Bio::Reference object
335
+ # puts ref.rd
336
+ #
337
+ # == Title of the study.
338
+ #
339
+ # * Hoge, J.P. and Fuga, F.B.
340
+ #
341
+ # * Theor. J. Hoge 2001 12:123-145 [PMID:12345678]
342
+ #
343
+ # Hoge fuga. ...
344
+ #
345
+ # An optional string argument can be supplied, but does nothing.
346
+ # ---
347
+ # *Arguments*:
348
+ # * (optional) str: String (default nil)
349
+ # *Returns*:: String
240
350
  def rd(str = nil)
241
351
  @abstract ||= str
242
352
  lines = []
@@ -247,8 +357,22 @@ module Bio
247
357
  return lines.join("\n\n")
248
358
  end
249
359
 
250
- # Formats in the Nature Publish Group style.
251
- # * http://www.nature.com
360
+ # Formats in the Nature Publishing Group
361
+ # (http://www.nature.com) style.
362
+ #
363
+ # # ref is a Bio::Reference object
364
+ # puts ref.nature
365
+ #
366
+ # Hoge, J.P. & Fuga, F.B. Title of the study. Theor. J. Hoge 12, 123-145 (2001).
367
+ #
368
+ # # optionally, output short version
369
+ # puts ref.nature(true) # or puts ref.nature(short=true)
370
+ #
371
+ # Hoge, J.P. & Fuga, F.B. Theor. J. Hoge 12, 123-145 (2001).
372
+ # ---
373
+ # *Arguments*:
374
+ # * (optional) _short_: Boolean (default false)
375
+ # *Returns*:: String
252
376
  def nature(short = false)
253
377
  if short
254
378
  if @authors.size > 4
@@ -265,8 +389,15 @@ module Bio
265
389
  end
266
390
  end
267
391
 
268
- # Formats in the Science style.
269
- # * http://www.siencemag.com/
392
+ # Returns reference formatted in the
393
+ # Science[http://www.sciencemag.org] style.
394
+ #
395
+ # # ref is a Bio::Reference object
396
+ # puts ref.science
397
+ #
398
+ # J.P. Hoge, F.B. Fuga, Theor. J. Hoge 12 123 (2001).
399
+ # ---
400
+ # *Returns*:: String
270
401
  def science
271
402
  if @authors.size > 4
272
403
  authors = rev_name(@authors[0]) + " et al."
@@ -277,40 +408,86 @@ module Bio
277
408
  "#{authors}, #{@journal} #{@volume} #{page_from} (#{@year})."
278
409
  end
279
410
 
280
- # Formats in the Genome Biology style.
281
- # * http://genomebiology.com/
411
+ # Returns reference formatted in the Genome Biology
412
+ # (http://genomebiology.com) style.
413
+ #
414
+ # # ref is a Bio::Reference object
415
+ # puts ref.genome_biol
416
+ #
417
+ # Hoge JP, Fuga FB: Title of the study. Theor J Hoge 2001, 12:123-145.
418
+ # ---
419
+ # *Returns*:: String
282
420
  def genome_biol
283
421
  authors = @authors.collect {|name| strip_dots(name)}.join(', ')
284
422
  journal = strip_dots(@journal)
285
423
  "#{authors}: #{@title} #{journal} #{@year}, #{@volume}:#{@pages}."
286
424
  end
287
- # Formats in the Current Biology style.
288
- # * http://www.current-biology.com/
289
- alias current genome_biol
425
+
426
+ # Returns reference formatted in the Current Biology
427
+ # (http://current-biology.com) style. (Same as the Genome Biology style)
428
+ #
429
+ # # ref is a Bio::Reference object
430
+ # puts ref.current
431
+ #
432
+ # Hoge JP, Fuga FB: Title of the study. Theor J Hoge 2001, 12:123-145.
433
+ # ---
434
+ # *Returns*:: String
435
+ def current
436
+ self.genome_biol
437
+ end
290
438
 
291
- # Formats in the Genome Research style.
292
- # * http://genome.org/
439
+ # Returns reference formatted in the Genome Research
440
+ # (http://genome.org) style.
441
+ #
442
+ # # ref is a Bio::Reference object
443
+ # puts ref.genome_res
444
+ #
445
+ # Hoge, J.P. and Fuga, F.B. 2001.
446
+ # Title of the study. Theor. J. Hoge 12: 123-145.
447
+ # ---
448
+ # *Returns*:: String
293
449
  def genome_res
294
450
  authors = authors_join(' and ')
295
451
  "#{authors} #{@year}.\n #{@title} #{@journal} #{@volume}: #{@pages}."
296
452
  end
297
453
 
298
- # Formats in the Nucleic Acids Reseach style.
299
- # * http://nar.oxfordjournals.org/
454
+ # Returns reference formatted in the Nucleic Acids Reseach
455
+ # (http://nar.oxfordjournals.org) style.
456
+ #
457
+ # # ref is a Bio::Reference object
458
+ # puts ref.nar
459
+ #
460
+ # Hoge, J.P. and Fuga, F.B. (2001) Title of the study. Theor. J. Hoge, 12, 123-145.
461
+ # ---
462
+ # *Returns*:: String
300
463
  def nar
301
464
  authors = authors_join(' and ')
302
465
  "#{authors} (#{@year}) #{@title} #{@journal}, #{@volume}, #{@pages}."
303
466
  end
304
467
 
305
- # Formats in the CELL Press style.
306
- # http://www.cell.com/
468
+ # Returns reference formatted in the
469
+ # CELL[http://www.cell.com] Press style.
470
+ #
471
+ # # ref is a Bio::Reference object
472
+ # puts ref.cell
473
+ #
474
+ # Hoge, J.P. and Fuga, F.B. (2001). Title of the study. Theor. J. Hoge 12, 123-145.
475
+ # ---
476
+ # *Returns*:: String
307
477
  def cell
308
478
  authors = authors_join(' and ')
309
479
  "#{authors} (#{@year}). #{@title} #{@journal} #{@volume}, #{pages}."
310
480
  end
311
481
 
312
- # Formats in the TRENDS Journals.
313
- # * http://www.trends.com/
482
+ # Returns reference formatted in the
483
+ # TRENDS[http://www.trends.com] style.
484
+ #
485
+ # # ref is a Bio::Reference object
486
+ # puts ref.trends
487
+ #
488
+ # Hoge, J.P. and Fuga, F.B. (2001) Title of the study. Theor. J. Hoge 12, 123-145
489
+ # ---
490
+ # *Returns*:: String
314
491
  def trends
315
492
  if @authors.size > 2
316
493
  authors = "#{@authors[0]} et al."
@@ -351,9 +528,11 @@ module Bio
351
528
 
352
529
  end
353
530
 
354
- # Set of Bio::Reference.
531
+ # = DESCRIPTION
355
532
  #
356
- # === Examples
533
+ # A container class for Bio::Reference objects.
534
+ #
535
+ # = USAGE
357
536
  #
358
537
  # refs = Bio::References.new
359
538
  # refs.append(Bio::Reference.new(hash))
@@ -363,22 +542,40 @@ module Bio
363
542
  #
364
543
  class References
365
544
 
366
- # Array of Bio::Reference.
545
+ # Array of Bio::Reference objects
367
546
  attr_accessor :references
368
547
 
548
+ # Create a new Bio::References object
369
549
  #
550
+ # refs = Bio::References.new
551
+ # ---
552
+ # *Arguments*:
553
+ # * (optional) __: Array of Bio::Reference objects
554
+ # *Returns*:: Bio::References object
370
555
  def initialize(ary = [])
371
556
  @references = ary
372
557
  end
373
558
 
374
559
 
375
- # Append a Bio::Reference object.
560
+ # Add a Bio::Reference object to the container.
561
+ #
562
+ # refs.append(reference)
563
+ # ---
564
+ # *Arguments*:
565
+ # * (required) _reference_: Bio::Reference object
566
+ # *Returns*:: current Bio::References object
376
567
  def append(reference)
377
568
  @references.push(reference) if reference.is_a? Reference
378
569
  return self
379
570
  end
380
571
 
381
- # Iterates each Bio::Reference object.
572
+ # Iterate through Bio::Reference objects.
573
+ #
574
+ # refs.each do |reference|
575
+ # ...
576
+ # end
577
+ # ---
578
+ # *Block*:: yields each Bio::Reference object
382
579
  def each
383
580
  @references.each do |reference|
384
581
  yield reference