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,10 @@
1
1
  #
2
2
  # test/unit/bio/db/embl/test_uniprot.rb - Unit test for Bio::UniProt
3
3
  #
4
- # Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
4
+ # Copyright:: Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
5
+ # License:: The Ruby License
5
6
  #
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: test_uniprot.rb,v 1.3 2005/12/18 17:43:51 nakao Exp $
7
+ # $Id: test_uniprot.rb,v 1.5 2007/04/05 23:35:43 trevor Exp $
21
8
  #
22
9
 
23
10
  require 'pathname'
@@ -1,23 +1,10 @@
1
1
  #
2
2
  # test/unit/bio/db/kegg/test_genes.rb - Unit test for Bio::KEGG::GENES
3
3
  #
4
- # Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
4
+ # Copyright:: Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
5
+ # License:: The Ruby License
5
6
  #
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: test_genes.rb,v 1.3 2005/11/09 13:20:09 nakao Exp $
7
+ # $Id: test_genes.rb,v 1.5 2007/04/05 23:35:43 trevor Exp $
21
8
  #
22
9
 
23
10
  require 'pathname'
@@ -4,26 +4,9 @@
4
4
  # Copyright:: Copyright (C) 2006
5
5
  # Naohisa Goto <ng@bioruby.org>
6
6
  #
7
- # License:: LGPL
8
- #
9
- # $Id: test_pdb.rb,v 1.1 2006/01/26 16:06:03 ngoto Exp $
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
- #++
7
+ # License:: The Ruby License
26
8
  #
9
+ # $Id: test_pdb.rb,v 1.3 2007/04/05 23:35:43 trevor Exp $
27
10
  #
28
11
 
29
12
  require 'pathname'
@@ -57,7 +40,7 @@ module Bio
57
40
  end
58
41
 
59
42
  def test_name
60
- assert_equal(' CG2', @atom.name)
43
+ assert_equal('CG2', @atom.name)
61
44
  end
62
45
 
63
46
  def test_altLoc
@@ -77,7 +60,7 @@ module Bio
77
60
  end
78
61
 
79
62
  def test_iCode
80
- assert_equal(' ', @atom.iCode)
63
+ assert_equal('', @atom.iCode)
81
64
  end
82
65
 
83
66
  def test_x
@@ -101,15 +84,15 @@ module Bio
101
84
  end
102
85
 
103
86
  def test_segID
104
- assert_equal('A1 ', @atom.segID)
87
+ assert_equal('A1', @atom.segID)
105
88
  end
106
89
 
107
90
  def test_element
108
- assert_equal(' C', @atom.element)
91
+ assert_equal('C', @atom.element)
109
92
  end
110
93
 
111
94
  def test_charge
112
- assert_equal(' ', @atom.charge)
95
+ assert_equal('', @atom.charge)
113
96
  end
114
97
 
115
98
  def test_xyz
@@ -3,9 +3,9 @@
3
3
  #
4
4
  # Copyright:: Copyright (C) 2006
5
5
  # Mitsuteru C. Nakao <n@bioruby.org>
6
- # License:: Ruby's
6
+ # License:: The Ruby License
7
7
  #
8
- # $Id: test_aaindex.rb,v 1.3 2006/02/22 07:35:19 nakao Exp $
8
+ # $Id: test_aaindex.rb,v 1.4 2007/04/05 23:35:43 trevor Exp $
9
9
  #
10
10
 
11
11
  require 'pathname'
@@ -1,23 +1,10 @@
1
1
  #
2
2
  # test/unit/bio/db/test_fasta.rb - Unit test for Bio::FastaFormat
3
3
  #
4
- # Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
4
+ # Copyright:: Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
5
+ # License:: The Ruby License
5
6
  #
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: test_fasta.rb,v 1.3 2005/12/18 17:55:13 k Exp $
7
+ # $Id: test_fasta.rb,v 1.5 2007/04/05 23:35:43 trevor Exp $
21
8
  #
22
9
 
23
10
  require 'pathname'
@@ -1,23 +1,10 @@
1
1
  #
2
2
  # test/unit/bio/db/test_gff.rb - Unit test for Bio::GFF
3
3
  #
4
- # Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
4
+ # Copyright:: Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
5
+ # License:: The Ruby License
5
6
  #
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: test_gff.rb,v 1.4 2005/12/19 01:21:42 k Exp $
7
+ # $Id: test_gff.rb,v 1.6 2007/04/05 23:35:43 trevor Exp $
21
8
  #
22
9
 
23
10
  require 'pathname'
@@ -0,0 +1,95 @@
1
+ #
2
+ # test/unit/bio/db/test_rebase.rb - Unit test for Bio::Lasergene
3
+ #
4
+ # Author:: Trevor Wennblom <mailto:trevor@corevx.com>
5
+ # Copyright:: Copyright (c) 2007 Center for Biomedical Research Informatics, University of Minnesota (http://cbri.umn.edu)
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id: test_lasergene.rb,v 1.2 2007/04/05 23:35:43 trevor Exp $
9
+ #
10
+
11
+ require 'pathname'
12
+ libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4, 'lib')).cleanpath.to_s
13
+ $:.unshift(libpath) unless $:.include?(libpath)
14
+
15
+ require 'test/unit'
16
+ require 'bio'
17
+ require 'bio/db/lasergene'
18
+
19
+ module Bio #:nodoc:
20
+ class TestLasergene < Test::Unit::TestCase #:nodoc:
21
+
22
+ def setup
23
+ file_format_1 = <<END
24
+ "Contig 1" (1,934)
25
+ Contig Length: 934 bases
26
+ Average Length/Sequence: 467 bases
27
+ Total Sequence Length: 1869 bases
28
+ Top Strand: 2 sequences
29
+ Bottom Strand: 2 sequences
30
+ Total: 4 sequences
31
+ ^^
32
+ ATGACGTATCCAAAGAGGCGTTACCGGAGAAGAAGACACCGCCCCCGCAGTCCTCTTGGCCAGATCCTCCGCCGCCGCCCCTGGCTCGTCCACCCCCGCCACAGTTACCGCTGGAGAAGGAAAAATGGCATCTTCAWCACCCGCCTATCCCGCAYCTTCGGAWRTACTATCAAGCGAACCACAGTCAGAACGCCCTCCTGGGCGGTGGACATGATGAGATTCAATATTAATGACTTTCTTCCCCCAGGAGGGGGCTCAAACCCCCGCTCTGTGCCCTTTGAATACTACAGAATAAGAAAGGTTAAGGTTGAATTCTGGCCCTGCTCCCCGATCACCCAGGGTGACAGGGGAATGGGCTCCAGTGCTGWTATTCTAGMTGATRRCTTKGTAACAAAGRCCACAGCCCTCACCTATGACCCCTATGTAAACTTCTCCTCCCGCCATACCATAACCCAGCCCTTCTCCTACCRCTCCCGYTACTTTACCCCCAAACCTGTCCTWGATKCCACTATKGATKACTKCCAACCAAACAACAAAAGAAACCAGCTGTGGSTGAGACTACAWACTGCTGGAAATGTAGACCWCGTAGGCCTSGGCACTGCGTKCGAAAACAGTATATACGACCAGGAATACAATATCCGTGTMACCATGTATGTACAATTCAGAGAATTTAATCTTAAAGACCCCCCRCTTMACCCKTAATGAATAATAAMAACCATTACGAAGTGATAAAAWAGWCTCAGTAATTTATTYCATATGGAAATTCWSGGCATGGGGGGGAAAGGGTGACGAACKKGCCCCCTTCCTCCSTSGMYTKTTCYGTAGCATTCYTCCAMAAYACCWAGGCAGYAMTCCTCCSATCAAGAGcYTSYACAGCTGGGACAGCAGTTGAGGAGGACCATTCAAAGGGGGTCGGATTGCTGGTAATCAGA
33
+ END
34
+
35
+ file_format_2 = <<END
36
+ ^^: 350,935
37
+ Contig 1 (1,935)
38
+ Contig Length: 935 bases
39
+ Average Length/Sequence: 580 bases
40
+ Total Sequence Length: 2323 bases
41
+ Top Strand: 2 sequences
42
+ Bottom Strand: 2 sequences
43
+ Total: 4 sequences
44
+ ^^
45
+ ATGTCGGGGAAATGCTTGACCGCGGGCTACTGCTCATCATTGCTTTCTTTGTGGTATATCGTGCCGTTCTGTTTTGCTGTGCTCGTCAACGCCAGCGGCGACAGCAGCTCTCATTTTCAGTCGATTTATAACTTGACGTTATGTGAGCTGAATGGCACGAACTGGCTGGCAGACAACTTTAACTGGGCTGTGGAGACTTTTGTCATCTTCCCCGTGTTGACTCACATTGTTTCCTATGGTGCACTCACTACCAGTCATTTTCTTGACACAGTTGGTCTAGTTACTGTGTCTACCGCCGGGTTTTATCACGGGCGGTACGTCTTGAGTAGCATCTACGCGGTCTGTGCTCTGGCTGCGTTGATTTGCTTCGCCATCAGGTTTGCGAAGAACTGCATGTCCTGGCGCTACTCTTGCACTAGATACACCAACTTCCTCCTGGACACCAAGGGCAGACTCTATCGTTGGCGGTCGCCTGTCATCATAGAGAAAGGGGGTAAGGTTGAGGTCGAAGGTCATCTGATCGATCTCAAAAGAGTTGTGCTTGATGGCTCTGTGGCGACACCTTTAACCAGAGTTTCAGCGGAACAATGGGGTCGTCCCTAGACGACTTTTGCCATGATAGTACAGCCCCACAGAAGGTGCTCTTGGCGTTTTCCATCACCTACACGCCAGTGATGATATATGCCCTAAAGGTAAGCCGCGGCCGACTTTTGGGGCTTCTGCACCTTTTGATTTTTTTGAACTGTGCCTTTACTTTCGGGTACATGACATTCGTGCACTTTCGGAGCACGAACAAGGTCGCGCTCACTATGGGAGCAGTAGTCGCACTCCTTTGGGGGGTGTACTCAGCCATAGAAACCTGGAAATTCATCACCTCCAGATGCCGTTGTGCTTGCTAGGCCGCAAGTACATTCTGGCCCCTGCCCACCACGTTG
46
+ END
47
+
48
+ file_format_3 = <<END
49
+ LOCUS PRU87392 15411 bp RNA linear VRL 17-NOV-2000
50
+ DEFINITION Porcine reproductive and respiratory syndrome virus strain VR-2332,
51
+ complete genome.
52
+ ACCESSION U87392 AF030244 U00153
53
+ VERSION U87392.3 GI:11192298
54
+ [...cut...]
55
+ 3'UTR 15261..15411
56
+ polyA_site 15409
57
+ ORIGIN
58
+ ^^
59
+ atgacgtataggtgttggctctatgccttggcatttgtattgtcaggagctgtgaccattggcacagcccaaaacttgctgcacagaaacacccttctgtgatagcctccttcaggggagcttagggtttgtccctagcaccttgcttccggagttgcactgctttacggtctctccacccctttaaccatgtctgggatacttgatcggtgcacgtgtacccccaatgccagggtgtttatggcggagggccaagtctactgcacacgatgcctcagtgcacggtctctccttcccctgaacctccaagtttctgagctcggggtgctaggcctattctacaggcccgaagagccactccggtggacgttgccacgtgcattccccactgttgagtgctcccccgccggggcctgctggctttctgcaatctttccaatcgcacgaatgaccagtggaaacctgaacttccaacaaagaatggtacgggtcgcagctgagctttacagagccggccagctcacccctgcagtcttgaaggctctacaagtttatgaacggggttgccgctggtaccccattgttggacctgtccctggagtggccgttttcgccaattccctacatgtgagtgataaacctttcccgggagcaactcacgtgttgaccaacctgccgctcccgcagagacccaagcctgaagacttttgcccctttgagtgtgctatggctactgtctatgacattggtcatgacgccgtcatgtatgtggccgaaaggaaagtctcctgggcccctcgtggcggggatgaagtgaaatttgaagctgtccccggggagttgaagttgattgcgaaccggctccgcacctccttcccgccccaccacacagtggacatgtctaagttcgccttcacagcccctgggtgtggtgtttctatgcgggtcgaacgccaacacggctgccttcccgctgacactgtccctgaaggcaactgctggtggagcttgtttgacttgcttccactggaagttcagaacaaagaaattcgccatgctaaccaatttggctaccagaccaagcatggtgtctctggcaagtacctacagcggaggctgca
60
+ END
61
+
62
+ @lc = Bio::Lasergene
63
+ @obj1 = @lc.new(file_format_1)
64
+ @obj2 = @lc.new(file_format_2)
65
+ @obj3 = @lc.new(file_format_3)
66
+ end
67
+
68
+ def test_methods
69
+ a1 = @obj1
70
+ a1_seq = 'atgacgtatccaaagaggcgttaccggagaagaagacaccgcccccgcagtcctcttggccagatcctccgccgccgcccctggctcgtccacccccgccacagttaccgctggagaaggaaaaatggcatcttcawcacccgcctatcccgcaycttcggawrtactatcaagcgaaccacagtcagaacgccctcctgggcggtggacatgatgagattcaatattaatgactttcttcccccaggagggggctcaaacccccgctctgtgccctttgaatactacagaataagaaaggttaaggttgaattctggccctgctccccgatcacccagggtgacaggggaatgggctccagtgctgwtattctagmtgatrrcttkgtaacaaagrccacagccctcacctatgacccctatgtaaacttctcctcccgccataccataacccagcccttctcctaccrctcccgytactttacccccaaacctgtcctwgatkccactatkgatkactkccaaccaaacaacaaaagaaaccagctgtggstgagactacawactgctggaaatgtagaccwcgtaggcctsggcactgcgtkcgaaaacagtatatacgaccaggaatacaatatccgtgtmaccatgtatgtacaattcagagaatttaatcttaaagaccccccrcttmacccktaatgaataataamaaccattacgaagtgataaaawagwctcagtaatttattycatatggaaattcwsggcatgggggggaaagggtgacgaackkgcccccttcctccstsgmytkttcygtagcattcytccamaayaccwaggcagyamtcctccsatcaagagcytsyacagctgggacagcagttgaggaggaccattcaaagggggtcggattgctggtaatcaga'
71
+ a2 = @obj2
72
+ a2_seq = 'atgtcggggaaatgcttgaccgcgggctactgctcatcattgctttctttgtggtatatcgtgccgttctgttttgctgtgctcgtcaacgccagcggcgacagcagctctcattttcagtcgatttataacttgacgttatgtgagctgaatggcacgaactggctggcagacaactttaactgggctgtggagacttttgtcatcttccccgtgttgactcacattgtttcctatggtgcactcactaccagtcattttcttgacacagttggtctagttactgtgtctaccgccgggttttatcacgggcggtacgtcttgagtagcatctacgcggtctgtgctctggctgcgttgatttgcttcgccatcaggtttgcgaagaactgcatgtcctggcgctactcttgcactagatacaccaacttcctcctggacaccaagggcagactctatcgttggcggtcgcctgtcatcatagagaaagggggtaaggttgaggtcgaaggtcatctgatcgatctcaaaagagttgtgcttgatggctctgtggcgacacctttaaccagagtttcagcggaacaatggggtcgtccctagacgacttttgccatgatagtacagccccacagaaggtgctcttggcgttttccatcacctacacgccagtgatgatatatgccctaaaggtaagccgcggccgacttttggggcttctgcaccttttgatttttttgaactgtgcctttactttcgggtacatgacattcgtgcactttcggagcacgaacaaggtcgcgctcactatgggagcagtagtcgcactcctttggggggtgtactcagccatagaaacctggaaattcatcacctccagatgccgttgtgcttgctaggccgcaagtacattctggcccctgcccaccacgttg'
73
+ a3 = @obj3
74
+ a3_seq = 'atgacgtataggtgttggctctatgccttggcatttgtattgtcaggagctgtgaccattggcacagcccaaaacttgctgcacagaaacacccttctgtgatagcctccttcaggggagcttagggtttgtccctagcaccttgcttccggagttgcactgctttacggtctctccacccctttaaccatgtctgggatacttgatcggtgcacgtgtacccccaatgccagggtgtttatggcggagggccaagtctactgcacacgatgcctcagtgcacggtctctccttcccctgaacctccaagtttctgagctcggggtgctaggcctattctacaggcccgaagagccactccggtggacgttgccacgtgcattccccactgttgagtgctcccccgccggggcctgctggctttctgcaatctttccaatcgcacgaatgaccagtggaaacctgaacttccaacaaagaatggtacgggtcgcagctgagctttacagagccggccagctcacccctgcagtcttgaaggctctacaagtttatgaacggggttgccgctggtaccccattgttggacctgtccctggagtggccgttttcgccaattccctacatgtgagtgataaacctttcccgggagcaactcacgtgttgaccaacctgccgctcccgcagagacccaagcctgaagacttttgcccctttgagtgtgctatggctactgtctatgacattggtcatgacgccgtcatgtatgtggccgaaaggaaagtctcctgggcccctcgtggcggggatgaagtgaaatttgaagctgtccccggggagttgaagttgattgcgaaccggctccgcacctccttcccgccccaccacacagtggacatgtctaagttcgccttcacagcccctgggtgtggtgtttctatgcgggtcgaacgccaacacggctgccttcccgctgacactgtccctgaaggcaactgctggtggagcttgtttgacttgcttccactggaagttcagaacaaagaaattcgccatgctaaccaatttggctaccagaccaagcatggtgtctctggcaagtacctacagcggaggctgca'
75
+
76
+ assert_equal(a1_seq, a1.seq.seq)
77
+ assert_equal(a2_seq, a2.seq.seq)
78
+ assert_equal(a3_seq, a3.seq.seq)
79
+
80
+ assert_equal('"Contig 1"', a1.entry_id)
81
+ assert_equal('Contig 1', a2.name)
82
+ assert_equal(nil, a3.name)
83
+
84
+ assert_equal(4, a1.total_sequences)
85
+ assert_equal(4, a2.total_sequences)
86
+ assert_equal(nil, a3.total_sequences)
87
+
88
+ assert_equal(true, a1.standard_comment?)
89
+ assert_equal(true, a2.standard_comment?)
90
+ assert_equal(false, a3.standard_comment?)
91
+ end
92
+
93
+ end
94
+
95
+ end
@@ -0,0 +1,56 @@
1
+ #
2
+ # = test/bio/db/newick.rb - Unit test for Bio::Newick
3
+ #
4
+ # Copyright:: Copyright (C) 2004-2006
5
+ # Daniel Amelang <dan@amelang.net>
6
+ # Naohisa Goto <ng@bioruby.org>
7
+ # License:: The Ruby License
8
+ #
9
+ # $Id: test_newick.rb,v 1.5 2007/04/05 23:35:43 trevor Exp $
10
+ #
11
+
12
+ require 'test/unit'
13
+
14
+ require 'pathname'
15
+ libpath = Pathname.new(File.join(File.dirname(__FILE__), [".."] * 4, "lib")).cleanpath.to_s
16
+ $:.unshift(libpath) unless $:.include?(libpath)
17
+
18
+ require 'bio'
19
+ require 'bio/tree'
20
+ require 'bio/db/newick'
21
+
22
+ module Bio
23
+ class TestNewick < Test::Unit::TestCase
24
+
25
+ TREE_STRING = <<-END_OF_TREE_STRING
26
+ (
27
+ (
28
+ HexLEZ35:0.00263,
29
+ HexMCZ42:0.00788
30
+ ):0.00854,
31
+ (
32
+ HexFLZ48:0.00457,
33
+ (
34
+ HexFLZ83:0.00217,
35
+ HexFLZ13:0.00574
36
+ ):0.00100
37
+ ):0.04692,
38
+ HexLEZ73:0.00268
39
+ )[0.1250];
40
+ END_OF_TREE_STRING
41
+
42
+ def test_string_tree
43
+ newick = Bio::Newick.new(TREE_STRING)
44
+ tree = newick.tree
45
+ assert_equal(3, tree.children(tree.root).size)
46
+ assert_equal(9, tree.descendents(tree.root).size)
47
+ assert_equal(6, tree.leaves.size)
48
+ leaf = tree.get_node_by_name('HexFLZ83')
49
+ assert_equal(3, tree.ancestors(leaf).size)
50
+ assert_equal(tree.path(tree.root, leaf)[1], tree.ancestors(leaf)[1])
51
+ assert_equal(0.00217, tree.get_edge(leaf, tree.parent(leaf)).distance)
52
+ assert_equal("HexFLZ83", leaf.name)
53
+ end
54
+
55
+ end #class TestNewick
56
+ end #module Bio
@@ -0,0 +1,360 @@
1
+ #
2
+ # = test/bio/db/nexus.rb - Unit test for Bio::Nexus
3
+ #
4
+ # Copyright:: Copyright (C) 2006 Christian M Zmasek <cmzmasek@yahoo.com>
5
+ #
6
+ # License:: The Ruby License
7
+ #
8
+ # $Id: test_nexus.rb,v 1.2 2007/04/05 23:35:43 trevor Exp $
9
+ #
10
+ # == Description
11
+ #
12
+ # This file contains unit tests for Bio::Nexus.
13
+ #
14
+
15
+ require 'test/unit'
16
+ require 'bio/db/nexus'
17
+
18
+ module Bio
19
+
20
+ class TestNexus < Test::Unit::TestCase
21
+
22
+ NEXUS_STRING_1 = <<-END_OF_NEXUS_STRING
23
+ #NEXUS
24
+ Begin Taxa;
25
+ Dimensions [[comment]] ntax=4;
26
+ TaxLabels "hag fish" [comment] 'african frog'
27
+ [lots of different comment follow]
28
+ [] [a] [[a]] [ a ] [[ a ]] [ [ a ] ] [a ]
29
+ [[a ]] [ [a ] ] [ a] [[ a]] [ [ a] ] [ ]
30
+ [[ ]] [ [ ] ] [ a b ] [[ a b ]] [ [ a b ] ]
31
+ [x[ x [x[ x[[x[[xx[x[ x]] ]x ] []]][x]]x]]]
32
+
33
+ [comment_1 comment_3] "rat snake" 'red
34
+
35
+
36
+ mouse';
37
+ End;
38
+
39
+ [yet another comment End; ]
40
+
41
+ Begin Characters;
42
+ Dimensions nchar=20
43
+ ntax=4;
44
+ [ ntax=1000; ]
45
+ Format DataType=DNA
46
+ Missing=x
47
+ Gap=- MatchChar=.;
48
+ Matrix [comment]
49
+ fish ACATA GAGGG
50
+ TACCT CTAAG
51
+ frog ACTTA GAGGC TACCT CTAGC
52
+ snake ACTCA CTGGG TACCT TTGCG
53
+ mouse ACTCA GACGG TACCT TTGCG;
54
+ End;
55
+
56
+ Begin Trees;
57
+ [comment]
58
+ Tree best=(fish,(frog,(snake,mo
59
+ use)));
60
+ [some long comment]
61
+ Tree
62
+
63
+ other=(snake,
64
+
65
+ (frog,(fish,mo
66
+ use
67
+ )));
68
+ End;
69
+
70
+
71
+
72
+ Begin Trees;
73
+ [comment]
74
+ Tree worst=(A,(B,(C,D
75
+ )));
76
+ Tree bad=(a,
77
+
78
+ (b,(c , d
79
+ )
80
+
81
+
82
+ ) );
83
+ End;
84
+
85
+
86
+ Begin Distances;
87
+ Dimensions nchar=20 ntax=5;
88
+ Format Triangle=Both;
89
+ Matrix
90
+ taxon_1 0.0 1.0
91
+ 2.0 4.0 7.0
92
+ taxon_2 1.0
93
+ 0.0 3.0 5.0 8.0
94
+ taxon_3 3.0 4.0 0.0 6.0 9.0
95
+ taxon_4 7.0 3.0 2.0 0.0 9.5
96
+ taxon_5 1.2 1.3 1.4 1.5 0.0;
97
+ End;
98
+
99
+ Begin Data;
100
+ Dimensions ntax=5 nchar=14;
101
+ Format Datatype=RNA gap=# MISSING=x MatchChar=^;
102
+ TaxLabels ciona
103
+ cow [comment1 commentX] ape
104
+ 'purple urchin' "green lizard";
105
+ Matrix
106
+ [ comment [old comment] ]
107
+ taxon_1 A- CCGTCGA-GTTA
108
+ taxon_2 T- CCG-CGA-GATC
109
+
110
+ taxon_3 A- C-GTCGA-GATG
111
+
112
+ taxon_4 A- C C TC G
113
+ A - -G T T
114
+
115
+ T
116
+
117
+ taxon_5
118
+ T-CGGTCGT-CTTA;
119
+ End;
120
+
121
+ Begin Private1;
122
+ Something foo=5 bar=20;
123
+ Format Datatype=DNA;
124
+ Matrix
125
+ taxon_1 1111 1111111111
126
+ taxon_2 2222 2222222222
127
+ taxon_3 3333 3333333333
128
+ taxon_4 4444 4444444444
129
+ taxon_5 5555 5555555555;
130
+ End;
131
+
132
+ Begin Private1;
133
+ some [boring]
134
+ interesting [
135
+ outdated
136
+ ] data be here
137
+ End;
138
+
139
+ END_OF_NEXUS_STRING
140
+
141
+ DATA_BLOCK_OUTPUT_STRING = <<-DATA_BLOCK_OUTPUT_STRING
142
+ Begin Data;
143
+ Dimensions NTax=5 NChar=14;
144
+ Format DataType=RNA Missing=x Gap=# MatchChar=^;
145
+ TaxLabels ciona cow ape purple_urchin green_lizard;
146
+ Matrix
147
+ taxon_1 A-CCGTCGA-GTTA
148
+ taxon_2 T-CCG-CGA-GATC
149
+ taxon_3 A-C-GTCGA-GATG
150
+ taxon_4 A-CCTCGA--GTTT
151
+ taxon_5 T-CGGTCGT-CTTA;
152
+ End;
153
+ DATA_BLOCK_OUTPUT_STRING
154
+
155
+ def test_nexus
156
+
157
+ nexus = Bio::Nexus.new( NEXUS_STRING_1 )
158
+ blocks = nexus.get_blocks
159
+ assert_equal( 8, blocks.size )
160
+
161
+ private_blocks = nexus.get_blocks_by_name( "private1" )
162
+ data_blocks = nexus.get_data_blocks
163
+ character_blocks = nexus.get_characters_blocks
164
+ trees_blocks = nexus.get_trees_blocks
165
+ distances_blocks = nexus.get_distances_blocks
166
+ taxa_blocks = nexus.get_taxa_blocks
167
+
168
+ assert_equal( 2, private_blocks.size )
169
+ assert_equal( 1, data_blocks.size )
170
+ assert_equal( 1, character_blocks.size )
171
+ assert_equal( 2, trees_blocks.size )
172
+ assert_equal( 1, distances_blocks.size )
173
+ assert_equal( 1, taxa_blocks.size )
174
+
175
+ taxa_block = taxa_blocks[ 0 ]
176
+ assert_equal( taxa_block.get_number_of_taxa.to_i , 4 )
177
+ assert_equal( taxa_block.get_taxa[ 0 ], "hag_fish" )
178
+ assert_equal( taxa_block.get_taxa[ 1 ], "african_frog" )
179
+ assert_equal( taxa_block.get_taxa[ 2 ], "rat_snake" )
180
+ assert_equal( taxa_block.get_taxa[ 3 ], "red_mouse" )
181
+
182
+ chars_block = character_blocks[ 0 ]
183
+ assert_equal( chars_block.get_number_of_taxa.to_i, 4 )
184
+ assert_equal( chars_block.get_number_of_characters.to_i, 20 )
185
+ assert_equal( chars_block.get_datatype, "DNA" )
186
+ assert_equal( chars_block.get_match_character, "." )
187
+ assert_equal( chars_block.get_missing, "x" )
188
+ assert_equal( chars_block.get_gap_character, "-" )
189
+ assert_equal( chars_block.get_matrix.get_value( 0, 0 ), "fish" )
190
+ assert_equal( chars_block.get_matrix.get_value( 1, 0 ), "frog" )
191
+ assert_equal( chars_block.get_matrix.get_value( 2, 0 ), "snake" )
192
+ assert_equal( chars_block.get_matrix.get_value( 3, 0 ), "mouse" )
193
+ assert_equal( chars_block.get_matrix.get_value( 0, 20 ), "G" )
194
+ assert_equal( chars_block.get_matrix.get_value( 1, 20 ), "C" )
195
+ assert_equal( chars_block.get_matrix.get_value( 2, 20 ), "G" )
196
+ assert_equal( chars_block.get_matrix.get_value( 3, 20 ), "G" )
197
+ assert_equal( chars_block.get_characters_strings_by_name( "fish" )[ 0 ], "ACATAGAGGGTACCTCTAAG" )
198
+ assert_equal( chars_block.get_characters_strings_by_name( "frog" )[ 0 ], "ACTTAGAGGCTACCTCTAGC" )
199
+ assert_equal( chars_block.get_characters_strings_by_name( "snake" )[ 0 ], "ACTCACTGGGTACCTTTGCG" )
200
+ assert_equal( chars_block.get_characters_strings_by_name( "mouse" )[ 0 ], "ACTCAGACGGTACCTTTGCG" )
201
+
202
+ assert_equal( chars_block.get_characters_string( 0 ), "ACATAGAGGGTACCTCTAAG" )
203
+ assert_equal( chars_block.get_characters_string( 1 ), "ACTTAGAGGCTACCTCTAGC" )
204
+ assert_equal( chars_block.get_characters_string( 2 ), "ACTCACTGGGTACCTTTGCG" )
205
+ assert_equal( chars_block.get_characters_string( 3 ), "ACTCAGACGGTACCTTTGCG" )
206
+
207
+ assert_equal( chars_block.get_row_name( 1 ), "frog" )
208
+
209
+ assert_equal( chars_block.get_sequences_by_name( "fish" )[ 0 ].seq.to_s.downcase, "ACATAGAGGGTACCTCTAAG".downcase )
210
+ assert_equal( chars_block.get_sequences_by_name( "frog" )[ 0 ].seq.to_s.downcase, "ACTTAGAGGCTACCTCTAGC".downcase )
211
+ assert_equal( chars_block.get_sequences_by_name( "snake" )[ 0 ].seq.to_s.downcase, "ACTCACTGGGTACCTTTGCG".downcase )
212
+ assert_equal( chars_block.get_sequences_by_name( "mouse" )[ 0 ].seq.to_s.downcase, "ACTCAGACGGTACCTTTGCG".downcase )
213
+
214
+ assert_equal( chars_block.get_sequences_by_name( "fish" )[ 0 ].definition, "fish" )
215
+ assert_equal( chars_block.get_sequences_by_name( "frog" )[ 0 ].definition, "frog" )
216
+ assert_equal( chars_block.get_sequences_by_name( "snake" )[ 0 ].definition, "snake" )
217
+ assert_equal( chars_block.get_sequences_by_name( "mouse" )[ 0 ].definition, "mouse" )
218
+
219
+ assert_equal( chars_block.get_sequence( 0 ).seq.to_s.downcase, "ACATAGAGGGTACCTCTAAG".downcase )
220
+ assert_equal( chars_block.get_sequence( 1 ).seq.to_s.downcase, "ACTTAGAGGCTACCTCTAGC".downcase )
221
+ assert_equal( chars_block.get_sequence( 2 ).seq.to_s.downcase, "ACTCACTGGGTACCTTTGCG".downcase )
222
+ assert_equal( chars_block.get_sequence( 3 ).seq.to_s.downcase, "ACTCAGACGGTACCTTTGCG".downcase )
223
+
224
+ assert_equal( chars_block.get_sequence( 0 ).definition, "fish" )
225
+ assert_equal( chars_block.get_sequence( 1 ).definition, "frog" )
226
+ assert_equal( chars_block.get_sequence( 2 ).definition, "snake" )
227
+ assert_equal( chars_block.get_sequence( 3 ).definition, "mouse" )
228
+
229
+
230
+ tree_block_0 = trees_blocks[ 0 ]
231
+ tree_block_1 = trees_blocks[ 1 ]
232
+ assert_equal( tree_block_0.get_tree_names[ 0 ], "best" )
233
+ assert_equal( tree_block_0.get_tree_names[ 1 ], "other" )
234
+ assert_equal( tree_block_0.get_tree_strings_by_name( "best" )[ 0 ], "(fish,(frog,(snake,mouse)));" )
235
+ assert_equal( tree_block_0.get_tree_strings_by_name( "other" )[ 0 ], "(snake,(frog,(fish,mouse)));" )
236
+
237
+ best_tree = tree_block_0.get_trees_by_name( "best" )[ 0 ]
238
+ other_tree = tree_block_0.get_trees_by_name( "other" )[ 0 ]
239
+ worst_tree = tree_block_1.get_tree( 0 )
240
+ bad_tree = tree_block_1.get_tree( 1 )
241
+ assert_equal( 6, best_tree.descendents( best_tree.root ).size )
242
+ assert_equal( 4, best_tree.leaves.size)
243
+ assert_equal( 6, other_tree.descendents( other_tree.root ).size )
244
+ assert_equal( 4, other_tree.leaves.size)
245
+ fish_leaf_best = best_tree.nodes.find { |x| x.name == 'fish' }
246
+ assert_equal( 1, best_tree.ancestors( fish_leaf_best ).size )
247
+ fish_leaf_other = other_tree.nodes.find { |x| x.name == 'fish' }
248
+ assert_equal( 3, other_tree.ancestors( fish_leaf_other ).size )
249
+
250
+ a_leaf_worst = worst_tree.nodes.find { |x| x.name == 'A' }
251
+ assert_equal( 1, worst_tree.ancestors( a_leaf_worst ).size )
252
+ c_leaf_bad = bad_tree.nodes.find { |x| x.name == 'c' }
253
+ assert_equal( 3, bad_tree.ancestors( c_leaf_bad ).size )
254
+
255
+
256
+ dist_block = distances_blocks[ 0 ]
257
+ assert_equal( dist_block.get_number_of_taxa.to_i, 5 )
258
+ assert_equal( dist_block.get_number_of_characters.to_i, 20 )
259
+ assert_equal( dist_block.get_triangle, "Both" )
260
+ assert_equal( dist_block.get_matrix.get_value( 0, 0 ), "taxon_1" )
261
+ assert_equal( dist_block.get_matrix.get_value( 1, 0 ), "taxon_2" )
262
+ assert_equal( dist_block.get_matrix.get_value( 2, 0 ), "taxon_3" )
263
+ assert_equal( dist_block.get_matrix.get_value( 3, 0 ), "taxon_4" )
264
+ assert_equal( dist_block.get_matrix.get_value( 4, 0 ), "taxon_5" )
265
+ assert_equal( dist_block.get_matrix.get_value( 0, 5 ).to_f, 7.0 )
266
+ assert_equal( dist_block.get_matrix.get_value( 1, 5 ).to_f, 8.0 )
267
+ assert_equal( dist_block.get_matrix.get_value( 2, 5 ).to_f, 9.0 )
268
+ assert_equal( dist_block.get_matrix.get_value( 3, 5 ).to_f, 9.5 )
269
+ assert_equal( dist_block.get_matrix.get_value( 4, 5 ).to_f, 0.0 )
270
+
271
+ data_block = data_blocks[ 0 ]
272
+ assert_equal( data_block.get_number_of_taxa.to_i, 5 )
273
+ assert_equal( data_block.get_number_of_characters.to_i, 14 )
274
+ assert_equal( data_block.get_datatype, "RNA" )
275
+ assert_equal( data_block.get_match_character, "^" )
276
+ assert_equal( data_block.get_missing, "x" )
277
+ assert_equal( data_block.get_gap_character, "#" )
278
+ assert_equal( data_block.get_matrix.get_value( 0, 0 ), "taxon_1" )
279
+ assert_equal( data_block.get_matrix.get_value( 1, 0 ), "taxon_2" )
280
+ assert_equal( data_block.get_matrix.get_value( 2, 0 ), "taxon_3" )
281
+ assert_equal( data_block.get_matrix.get_value( 3, 0 ), "taxon_4" )
282
+ assert_equal( data_block.get_matrix.get_value( 4, 0 ), "taxon_5" )
283
+ assert_equal( data_block.get_matrix.get_value( 0, 14 ), "A" )
284
+ assert_equal( data_block.get_matrix.get_value( 1, 14 ), "C" )
285
+ assert_equal( data_block.get_matrix.get_value( 2, 14 ), "G" )
286
+ assert_equal( data_block.get_matrix.get_value( 3, 14 ), "T" )
287
+ assert_equal( data_block.get_matrix.get_value( 4, 14 ), "A" )
288
+ assert_equal( data_block.get_taxa[ 0 ], "ciona" )
289
+ assert_equal( data_block.get_taxa[ 1 ], "cow" )
290
+ assert_equal( data_block.get_taxa[ 2 ], "ape" )
291
+ assert_equal( data_block.get_taxa[ 3 ], "purple_urchin" )
292
+ assert_equal( data_block.get_taxa[ 4 ], "green_lizard" )
293
+
294
+
295
+ assert_equal( data_block.get_characters_strings_by_name( "taxon_1" )[ 0 ], "A-CCGTCGA-GTTA" )
296
+ assert_equal( data_block.get_characters_strings_by_name( "taxon_2" )[ 0 ], "T-CCG-CGA-GATC" )
297
+ assert_equal( data_block.get_characters_strings_by_name( "taxon_3" )[ 0 ], "A-C-GTCGA-GATG" )
298
+ assert_equal( data_block.get_characters_strings_by_name( "taxon_4" )[ 0 ], "A-CCTCGA--GTTT" )
299
+ assert_equal( data_block.get_characters_strings_by_name( "taxon_5" )[ 0 ], "T-CGGTCGT-CTTA" )
300
+
301
+ assert_equal( data_block.get_characters_string( 0 ), "A-CCGTCGA-GTTA" )
302
+ assert_equal( data_block.get_characters_string( 1 ), "T-CCG-CGA-GATC" )
303
+ assert_equal( data_block.get_characters_string( 2 ), "A-C-GTCGA-GATG" )
304
+ assert_equal( data_block.get_characters_string( 3 ), "A-CCTCGA--GTTT" )
305
+ assert_equal( data_block.get_characters_string( 4 ), "T-CGGTCGT-CTTA" )
306
+
307
+ assert_equal( data_block.get_row_name( 0 ), "taxon_1" )
308
+ assert_equal( data_block.get_row_name( 1 ), "taxon_2" )
309
+ assert_equal( data_block.get_row_name( 2 ), "taxon_3" )
310
+ assert_equal( data_block.get_row_name( 3 ), "taxon_4" )
311
+ assert_equal( data_block.get_row_name( 4 ), "taxon_5" )
312
+
313
+ assert_equal( data_block.get_sequences_by_name( "taxon_1" )[ 0 ].seq.to_s.downcase, "A-CCGTCGA-GTTA".downcase )
314
+ assert_equal( data_block.get_sequences_by_name( "taxon_2" )[ 0 ].seq.to_s.downcase, "T-CCG-CGA-GATC".downcase )
315
+ assert_equal( data_block.get_sequences_by_name( "taxon_3" )[ 0 ].seq.to_s.downcase, "A-C-GTCGA-GATG".downcase )
316
+ assert_equal( data_block.get_sequences_by_name( "taxon_4" )[ 0 ].seq.to_s.downcase, "A-CCTCGA--GTTT".downcase )
317
+ assert_equal( data_block.get_sequences_by_name( "taxon_5" )[ 0 ].seq.to_s.downcase, "T-CGGTCGT-CTTA".downcase )
318
+
319
+ assert_equal( data_block.get_sequences_by_name( "taxon_1" )[ 0 ].definition, "taxon_1" )
320
+ assert_equal( data_block.get_sequences_by_name( "taxon_2" )[ 0 ].definition, "taxon_2" )
321
+ assert_equal( data_block.get_sequences_by_name( "taxon_3" )[ 0 ].definition, "taxon_3" )
322
+ assert_equal( data_block.get_sequences_by_name( "taxon_4" )[ 0 ].definition, "taxon_4" )
323
+ assert_equal( data_block.get_sequences_by_name( "taxon_5" )[ 0 ].definition, "taxon_5" )
324
+
325
+ assert_equal( data_block.get_sequence( 0 ).seq.to_s.downcase, "A-CCGTCGA-GTTA".downcase )
326
+ assert_equal( data_block.get_sequence( 1 ).seq.to_s.downcase, "T-CCG-CGA-GATC".downcase )
327
+ assert_equal( data_block.get_sequence( 2 ).seq.to_s.downcase, "A-C-GTCGA-GATG".downcase )
328
+ assert_equal( data_block.get_sequence( 3 ).seq.to_s.downcase, "A-CCTCGA--GTTT".downcase )
329
+ assert_equal( data_block.get_sequence( 4 ).seq.to_s.downcase, "T-CGGTCGT-CTTA".downcase )
330
+
331
+ assert_equal( data_block.get_sequence( 0 ).definition, "taxon_1" )
332
+ assert_equal( data_block.get_sequence( 1 ).definition, "taxon_2" )
333
+ assert_equal( data_block.get_sequence( 2 ).definition, "taxon_3" )
334
+ assert_equal( data_block.get_sequence( 3 ).definition, "taxon_4" )
335
+ assert_equal( data_block.get_sequence( 4 ).definition, "taxon_5" )
336
+
337
+ assert_equal( DATA_BLOCK_OUTPUT_STRING, data_block.to_nexus() )
338
+
339
+ generic_0 = private_blocks[ 0 ]
340
+ generic_1 = private_blocks[ 1 ]
341
+ assert_equal( generic_0.get_tokens[ 0 ], "Something" )
342
+ assert_equal( generic_0.get_tokens[ 1 ], "foo" )
343
+ assert_equal( generic_0.get_tokens[ 2 ], "5" )
344
+ assert_equal( generic_0.get_tokens[ 3 ], "bar" )
345
+ assert_equal( generic_0.get_tokens[ 4 ], "20" )
346
+ assert_equal( generic_0.get_tokens[ 5 ], "Format" )
347
+ assert_equal( generic_0.get_tokens[ 6 ], "Datatype" )
348
+ assert_equal( generic_0.get_tokens[ 7 ], "DNA" )
349
+ assert_equal( generic_0.get_tokens[ 8 ], "Matrix" )
350
+ assert_equal( generic_0.get_tokens[ 9 ], "taxon_1" )
351
+ assert_equal( generic_0.get_tokens[10 ], "1111" )
352
+ assert_equal( generic_1.get_tokens[ 0 ], "some" )
353
+ assert_equal( generic_1.get_tokens[ 1 ], "interesting" )
354
+ assert_equal( generic_1.get_tokens[ 2 ], "data" )
355
+ assert_equal( generic_1.get_tokens[ 3 ], "be" )
356
+ assert_equal( generic_1.get_tokens[ 4 ], "here" )
357
+
358
+ end # test_nexus
359
+ end # class TestNexus
360
+ end # module Bio