bio 1.5.2 → 1.6.0.pre.20181210

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 (93) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +12 -11
  3. data/ChangeLog +14 -3106
  4. data/{gemfiles/Gemfile.travis-ruby2.2 → Gemfile} +0 -1
  5. data/KNOWN_ISSUES.rdoc +0 -5
  6. data/README.rdoc +11 -18
  7. data/RELEASE_NOTES.rdoc +34 -291
  8. data/Rakefile +13 -9
  9. data/appveyor.yml +21 -0
  10. data/bioruby.gemspec +7 -78
  11. data/bioruby.gemspec.erb +8 -27
  12. data/doc/ChangeLog-1.5.0 +2919 -0
  13. data/doc/RELEASE_NOTES-1.5.0.rdoc +285 -0
  14. data/doc/Tutorial.rd +6 -108
  15. data/doc/Tutorial.rd.html +19 -98
  16. data/gemfiles/Gemfile.travis-jruby1.8 +3 -5
  17. data/gemfiles/Gemfile.travis-jruby1.9 +0 -3
  18. data/gemfiles/Gemfile.travis-rbx +0 -1
  19. data/gemfiles/Gemfile.travis-ruby1.8 +4 -4
  20. data/gemfiles/Gemfile.travis-ruby1.9 +0 -1
  21. data/gemfiles/prepare-gemspec.rb +4 -0
  22. data/lib/bio.rb +0 -10
  23. data/lib/bio/data/codontable.rb +99 -3
  24. data/lib/bio/io/togows.rb +5 -5
  25. data/lib/bio/version.rb +6 -8
  26. data/sample/test_restriction_enzyme_long.rb +1 -1
  27. data/test/unit/bio/data/test_codontable.rb +3 -0
  28. metadata +11 -77
  29. data/bin/bioruby +0 -47
  30. data/bin/br_biofetch.rb +0 -71
  31. data/bin/br_bioflat.rb +0 -293
  32. data/bin/br_biogetseq.rb +0 -45
  33. data/bin/br_pmfetch.rb +0 -422
  34. data/lib/bio/db/biosql/biosql_to_biosequence.rb +0 -78
  35. data/lib/bio/db/biosql/sequence.rb +0 -444
  36. data/lib/bio/db/phyloxml/phyloxml.xsd +0 -582
  37. data/lib/bio/db/phyloxml/phyloxml_elements.rb +0 -1197
  38. data/lib/bio/db/phyloxml/phyloxml_parser.rb +0 -1001
  39. data/lib/bio/db/phyloxml/phyloxml_writer.rb +0 -227
  40. data/lib/bio/io/biosql/ar-biosql.rb +0 -257
  41. data/lib/bio/io/biosql/biosql.rb +0 -39
  42. data/lib/bio/io/biosql/config/database.yml +0 -21
  43. data/lib/bio/io/sql.rb +0 -79
  44. data/lib/bio/shell.rb +0 -44
  45. data/lib/bio/shell/core.rb +0 -578
  46. data/lib/bio/shell/demo.rb +0 -146
  47. data/lib/bio/shell/interface.rb +0 -217
  48. data/lib/bio/shell/irb.rb +0 -94
  49. data/lib/bio/shell/object.rb +0 -71
  50. data/lib/bio/shell/plugin/blast.rb +0 -42
  51. data/lib/bio/shell/plugin/codon.rb +0 -218
  52. data/lib/bio/shell/plugin/das.rb +0 -58
  53. data/lib/bio/shell/plugin/emboss.rb +0 -23
  54. data/lib/bio/shell/plugin/entry.rb +0 -137
  55. data/lib/bio/shell/plugin/flatfile.rb +0 -101
  56. data/lib/bio/shell/plugin/midi.rb +0 -430
  57. data/lib/bio/shell/plugin/ncbirest.rb +0 -68
  58. data/lib/bio/shell/plugin/obda.rb +0 -45
  59. data/lib/bio/shell/plugin/psort.rb +0 -56
  60. data/lib/bio/shell/plugin/seq.rb +0 -248
  61. data/lib/bio/shell/plugin/togows.rb +0 -40
  62. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/bioruby_generator.rb +0 -29
  63. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_classes.rhtml +0 -4
  64. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_log.rhtml +0 -27
  65. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_methods.rhtml +0 -11
  66. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_modules.rhtml +0 -4
  67. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_variables.rhtml +0 -7
  68. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-bg.gif +0 -0
  69. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-gem.png +0 -0
  70. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-link.gif +0 -0
  71. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.css +0 -368
  72. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.rhtml +0 -47
  73. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb +0 -144
  74. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb +0 -47
  75. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/commands.rhtml +0 -8
  76. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/history.rhtml +0 -10
  77. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/index.rhtml +0 -26
  78. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/spinner.gif +0 -0
  79. data/lib/bio/shell/script.rb +0 -25
  80. data/lib/bio/shell/setup.rb +0 -108
  81. data/lib/bio/shell/web.rb +0 -102
  82. data/sample/test_phyloxml_big.rb +0 -205
  83. data/test/data/phyloxml/apaf.xml +0 -666
  84. data/test/data/phyloxml/bcl_2.xml +0 -2097
  85. data/test/data/phyloxml/made_up.xml +0 -144
  86. data/test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml +0 -65
  87. data/test/data/phyloxml/phyloxml_examples.xml +0 -415
  88. data/test/unit/bio/db/biosql/tc_biosql.rb +0 -114
  89. data/test/unit/bio/db/biosql/ts_suite_biosql.rb +0 -8
  90. data/test/unit/bio/db/test_phyloxml.rb +0 -821
  91. data/test/unit/bio/db/test_phyloxml_writer.rb +0 -334
  92. data/test/unit/bio/shell/plugin/test_seq.rb +0 -187
  93. data/test/unit/bio/test_shell.rb +0 -20
@@ -1,334 +0,0 @@
1
- #
2
- # = test/unit/bio/db/test_phyloxml_writer.rb - Unit test for Bio::PhyloXML::Writer
3
- #
4
- # Copyright:: Copyright (C) 2009
5
- # Diana Jaunzeikare <latvianlinuxgirl@gmail.com>
6
- # License:: The Ruby License
7
- #
8
-
9
- # loading helper routine for testing bioruby
10
- require 'pathname'
11
- load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 3,
12
- 'bioruby_test_helper.rb')).cleanpath.to_s
13
-
14
- # libraries needed for the tests
15
- require 'test/unit'
16
- require 'singleton'
17
- require 'bio/command'
18
-
19
- begin
20
- require 'libxml'
21
- rescue LoadError
22
- end
23
-
24
- if defined?(LibXML) then
25
- require 'bio/db/phyloxml/phyloxml_writer'
26
- end
27
-
28
- module Bio
29
- class TestPhyloXMLWriter_Check_LibXML < Test::Unit::TestCase
30
- def test_libxml
31
- assert(defined?(LibXML),
32
- "Error: libxml-ruby library is not present. Please install libxml-ruby library. It is needed for Bio::PhyloXML module. Unit test for PhyloXML will not be performed.")
33
- end
34
- end #class TestPhyloXMLWriter_Check_LibXML
35
- end #module Bio
36
-
37
- module Bio
38
-
39
- module TestPhyloXMLWriterData
40
-
41
- PHYLOXML_WRITER_TEST_DATA = Pathname.new(File.join(BioRubyTestDataPath, 'phyloxml')).cleanpath.to_s
42
-
43
- def self.example_xml
44
- File.join PHYLOXML_WRITER_TEST_DATA, 'phyloxml_examples.xml'
45
- end
46
-
47
- def self.mollusca_short_xml
48
- File.join PHYLOXML_WRITER_TEST_DATA, 'ncbi_taxonomy_mollusca_short.xml'
49
- end
50
-
51
- def self.made_up_xml
52
- File.join PHYLOXML_WRITER_TEST_DATA, 'made_up.xml'
53
- end
54
-
55
- end #end module TestPhyloXMLWriterData
56
-
57
- class TestPhyloXMLWriter < Test::Unit::TestCase
58
-
59
- # helper class to write files using temporary directory
60
- class WriteTo
61
- include Singleton
62
-
63
- def initialize
64
- @leave_tmpdir = ENV['BIORUBY_TEST_DEBUG'].to_s.empty? ? false : true
65
- @tests = nil
66
- @tests_passed = 0
67
- @tmpdir = nil
68
- end
69
-
70
- attr_accessor :tests
71
-
72
- def test_passed
73
- @tests_passed += 1
74
- if !@leave_tmpdir and @tmpdir and @tests and
75
- @tests_passed >= @tests then
76
- #$stderr.print "Removing #{@tmpdir.path}\n"
77
- @tmpdir.close!
78
- @tmpdir = nil
79
- @tests_passed = 0
80
- end
81
- end
82
-
83
- def tmpdir
84
- @tmpdir ||= Bio::Command::Tmpdir.new('PhyloXML')
85
- @tmpdir
86
- end
87
-
88
- def file(f)
89
- File.join(self.tmpdir.path, f)
90
- end
91
-
92
- def example_xml_test
93
- self.file('phyloxml_examples_written.xml')
94
- end
95
- end #class WriteTo
96
-
97
- def setup
98
- @writeto = WriteTo.instance
99
- @writeto.tests ||= self.methods.collect { |x|
100
- x.to_s }.find_all { |y|
101
- /\Atest\_/ =~ y }.size
102
- end
103
-
104
- def teardown
105
- @writeto.test_passed
106
- end
107
-
108
- # def test_write
109
- # # @todo this is test for Tree.write
110
- # tree = Bio::PhyloXML::Tree.new
111
- # filename = @writeto.file('test.xml')
112
- # tree.write(filename)
113
- # end
114
-
115
- def test_init
116
- filename = @writeto.file("test2.xml")
117
- writer = Bio::PhyloXML::Writer.new(filename)
118
-
119
- tree = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.mollusca_short_xml) { |px| px.next_tree }
120
-
121
- writer.write(tree)
122
-
123
- assert_nothing_thrown do
124
- Bio::PhyloXML::Parser.open(filename) { |px| true }
125
- end
126
-
127
- #File.delete(filename)
128
- end
129
-
130
- def test_simple_xml
131
- filename = @writeto.file("sample.xml")
132
- writer = Bio::PhyloXML::Writer.new(filename)
133
- tree = Bio::PhyloXML::Tree.new
134
- tree.rooted = true
135
- tree.name = "Test tree"
136
- root_node = Bio::PhyloXML::Node.new
137
- tree.root = root_node
138
- root_node.name = "A"
139
- #root_node.taxonomies[0] = Bio::PhyloXML::Taxonomy.new
140
- root_node.taxonomies << Bio::PhyloXML::Taxonomy.new
141
- root_node.taxonomies[0].scientific_name = "Animal animal"
142
- node2 = Bio::PhyloXML::Node.new
143
- node2.name = "B"
144
- tree.add_node(node2)
145
- tree.add_edge(root_node, node2)
146
- writer.write(tree)
147
-
148
- lines = File.readlines(filename)
149
- assert_equal("<phyloxml xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.phyloxml.org http://www.phyloxml.org/1.10/phyloxml.xsd\" xmlns=\"http://www.phyloxml.org\">",
150
- lines[1].chomp)
151
- assert_equal(" <phylogeny rooted=\"true\">", lines[2].chomp)
152
- assert_equal(" <name>Test tree</name>", lines[3].chomp)
153
- assert_equal(" <clade>", lines[4].chomp)
154
- assert_equal(" <name>A</name>", lines[5].chomp)
155
- assert_equal(" <taxonomy>", lines[6].chomp)
156
- assert_equal(" <scientific_name>Animal animal</scientific_name>", lines[7].chomp)
157
- assert_equal(" </taxonomy>", lines[8].chomp)
158
- assert_equal(" <name>B</name>", lines[10].chomp)
159
- assert_equal(" </clade>", lines[12].chomp)
160
- assert_equal(" </phylogeny>", lines[13].chomp)
161
- assert_equal("</phyloxml>", lines[14].chomp)
162
-
163
- #File.delete(filename)
164
- end
165
-
166
- def test_phyloxml_examples_tree1
167
- tree = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.example_xml) { |px| px.next_tree }
168
-
169
- filename = @writeto.file('example_tree1.xml')
170
- writer = Bio::PhyloXML::Writer.new(filename)
171
- writer.write_branch_length_as_subelement = false
172
- writer.write(tree)
173
-
174
- assert_nothing_thrown do
175
- Bio::PhyloXML::Parser.open(filename) { |px| true }
176
- end
177
-
178
- #File.delete(filename)
179
-
180
- #@todo check if branch length is written correctly
181
- end
182
-
183
- def test_phyloxml_examples_tree2
184
- phyloxml = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.example_xml)
185
- 2.times do
186
- @tree = phyloxml.next_tree
187
- end
188
- phyloxml.close
189
-
190
- filename = @writeto.file('example_tree2.xml')
191
- writer = Bio::PhyloXML::Writer.new(filename)
192
- writer.write(@tree)
193
-
194
- assert_nothing_thrown do
195
- Bio::PhyloXML::Parser.open(filename) { |px| true }
196
- end
197
-
198
- #File.delete(filename)
199
- end
200
-
201
- def test_phyloxml_examples_tree4
202
- phyloxml = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.example_xml)
203
- 4.times do
204
- @tree = phyloxml.next_tree
205
- end
206
- phyloxml.close
207
- #@todo tree = phyloxml[4]
208
- filename = @writeto.file('example_tree4.xml')
209
- writer = Bio::PhyloXML::Writer.new(filename)
210
- writer.write(@tree)
211
- assert_nothing_thrown do
212
- @tree2 = Bio::PhyloXML::Parser.open(filename) { |px| px.next_tree }
213
- end
214
- assert_equal(@tree.name, @tree2.name)
215
- assert_equal(@tree.get_node_by_name('A').taxonomies[0].scientific_name, @tree2.get_node_by_name('A').taxonomies[0].scientific_name)
216
- assert_equal(@tree.get_node_by_name('B').sequences[0].annotations[0].desc,
217
- @tree2.get_node_by_name('B').sequences[0].annotations[0].desc)
218
- # assert_equal(@tree.get_node_by_name('B').sequences[0].annotations[0].confidence.value,@tree2.get_node_by_name('B').sequences[0].annotations[0].confidence.value)
219
- #File.delete(filename)
220
- end
221
-
222
- def test_phyloxml_examples_sequence_relation
223
- phyloxml = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.example_xml)
224
- filename = @writeto.example_xml_test
225
- writer = Bio::PhyloXML::Writer.new(filename)
226
- phyloxml.each do |tree|
227
- writer.write(tree)
228
- end
229
- phyloxml.close
230
-
231
- assert_nothing_thrown do
232
- @phyloxml_test = Bio::PhyloXML::Parser.open(filename)
233
- end
234
-
235
- 5.times do
236
- @tree = @phyloxml_test.next_tree
237
- end
238
-
239
- @phyloxml_test.close
240
-
241
- assert_equal("x", @tree.sequence_relations[0].id_ref_0)
242
- assert_equal("z", @tree.sequence_relations[1].id_ref_1)
243
- assert_equal(nil, @tree.sequence_relations[2].distance)
244
- assert_equal("orthology", @tree.sequence_relations[2].type)
245
-
246
- #File.delete(filename)
247
- end
248
-
249
- def test_generate_xml_with_sequence
250
- tree = Bio::PhyloXML::Tree.new
251
- r = Bio::PhyloXML::Node.new
252
- tree.add_node(r)
253
- tree.root = r
254
- n = Bio::PhyloXML::Node.new
255
- tree.add_node(n)
256
- tree.add_edge(tree.root, n)
257
- tree.rooted = true
258
-
259
- n.name = "A"
260
- seq = PhyloXML::Sequence.new
261
- n.sequences[0] = seq
262
- seq.annotations[0] = PhyloXML::Annotation.new
263
- seq.annotations[0].desc = "Sample annotation"
264
- seq.name = "sequence name"
265
- seq.location = "somewhere"
266
- seq.accession = PhyloXML::Accession.new
267
- seq.accession.source = "ncbi"
268
- seq.accession.value = "AAB80874"
269
- seq.symbol = "adhB"
270
- seq.mol_seq = "TDATGKPIKCMAAIAWEAKKPLSIEEVEVAPPKSGEVRIKILHSGVCHTD"
271
- seq.uri = PhyloXML::Uri.new
272
- seq.uri.desc = "EMBL REPTILE DATABASE"
273
- seq.uri.uri = "http://www.embl-heidelberg.de/~uetz/families/Varanidae.html"
274
- seq.domain_architecture = PhyloXML::DomainArchitecture.new
275
- seq.domain_architecture.length = 1249
276
- domain1 = PhyloXML::ProteinDomain.new
277
- seq.domain_architecture.domains << domain1
278
- domain1.from = 6
279
- domain1.to = 90
280
- domain1.confidence = "7.0E-26"
281
- domain1.value = "CARD"
282
- domain2 = PhyloXML::ProteinDomain.new
283
- seq.domain_architecture.domains << domain2
284
- domain2.from = 109
285
- domain2.to = 414
286
- domain2.confidence = "7.2E-117"
287
- domain2.value = "NB-ARC"
288
-
289
- filename = @writeto.file('sequence.xml')
290
- Bio::PhyloXML::Writer.new(filename).write(tree)
291
-
292
- assert_nothing_thrown do
293
- Bio::PhyloXML::Parser.open(filename) { |px| px.next_tree }
294
- end
295
-
296
- #File.delete(filename)
297
- end
298
-
299
- def test_phyloxml_examples_file
300
- outputfn = "phyloxml_examples_generated_in_test.xml"
301
- phyloxml = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.example_xml)
302
- filename = @writeto.file(outputfn)
303
- writer = Bio::PhyloXML::Writer.new(filename)
304
- phyloxml.each do |tree|
305
- writer.write(tree)
306
- end
307
- writer.write_other(phyloxml.other)
308
-
309
- assert_nothing_thrown do
310
- Bio::PhyloXML::Parser.open(filename) { |px| true }
311
- end
312
- # The output file is not deleted since it might be used in the phyloxml
313
- # parser test. But since the order of tests can't be assumed, I can't
314
- # hard code it in.
315
- end
316
-
317
- def test_made_up_xml_file
318
- phyloxml = Bio::PhyloXML::Parser.open(TestPhyloXMLWriterData.made_up_xml)
319
- filename = @writeto.file("made_up_generated_in_test.xml")
320
- writer = Bio::PhyloXML::Writer.new(filename)
321
- # The output file is not deleted since it might be used in the phyloxml
322
- # parser test. But since the order of tests can't be assumed, I can't
323
- # hard code it in.
324
- phyloxml.each do |tree|
325
- writer.write(tree)
326
- end
327
- phyloxml.close
328
- end
329
-
330
- end
331
-
332
-
333
- end if defined?(LibXML) #end module Bio
334
-
@@ -1,187 +0,0 @@
1
- #
2
- # test/unit/bio/shell/plugin/test_seq.rb - Unit test for Bio::Shell plugin for biological sequence manipulations
3
- #
4
- # Copyright:: Copyright (C) 2005
5
- # Mitsuteru Nakao <n@bioruby.org>
6
- # License:: The Ruby License
7
- #
8
- # $Id:$
9
- #
10
-
11
- # loading helper routine for testing bioruby
12
- require 'pathname'
13
- load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
14
- 'bioruby_test_helper.rb')).cleanpath.to_s
15
-
16
- # libraries needed for the tests
17
- require 'test/unit'
18
- require 'bio/shell'
19
- require 'bio/shell/plugin/seq'
20
-
21
- module Bio
22
-
23
- class TestShellPluginSeq < Test::Unit::TestCase
24
- include Bio::Shell
25
-
26
- Bio::Shell.config = {:color => false}
27
-
28
- def test_htmlseq
29
- str = 'ATGC'
30
- html =<<END
31
- <div style="font-family:monospace;">
32
- <span style="background:#64F73F;">a</span>
33
- <span style="background:#3C88EE;">t</span>
34
- <span style="background:#EB413C;">g</span>
35
- <span style="background:#FFB340;">c</span>
36
- <br>
37
- </div>
38
- END
39
- assert_equal(html, htmlseq(str))
40
- end
41
-
42
-
43
- def test_naseq
44
- str = 'ACGT'
45
- assert_equal(Bio::Sequence, getseq(str).class)
46
- assert_equal(Bio::Sequence::NA, getseq(str).moltype)
47
- assert_equal('acgt', getseq(str).seq)
48
- end
49
-
50
-
51
- def test_aaseq
52
- str = 'WD'
53
- assert_equal(Bio::Sequence, getseq(str).class)
54
- assert_equal(Bio::Sequence::AA, getseq(str).moltype)
55
- assert_equal('WD', getseq(str).seq)
56
- end
57
-
58
-
59
- def test_na_seqstat
60
- naseq = 'atgcatgcatgc'
61
- output =<<END
62
-
63
- * * * Sequence statistics * * *
64
-
65
- 5'->3' sequence : atgcatgcatgc
66
- 3'->5' sequence : gcatgcatgcat
67
- Translation 1 : MHAC
68
- Translation 2 : CMH
69
- Translation 3 : ACM
70
- Translation -1 : ACMH
71
- Translation -2 : HAC
72
- Translation -3 : MHA
73
- Length : 12 bp
74
- GC percent : 50 %
75
- Composition : a - 3 ( 25.00 %)
76
- c - 3 ( 25.00 %)
77
- g - 3 ( 25.00 %)
78
- t - 3 ( 25.00 %)
79
- Codon usage :
80
-
81
- *---------------------------------------------*
82
- | | 2nd | |
83
- | 1st |-------------------------------| 3rd |
84
- | | U | C | A | G | |
85
- |-------+-------+-------+-------+-------+-----|
86
- | U U |F 0.0%|S 0.0%|Y 0.0%|C 0.0%| u |
87
- | U U |F 0.0%|S 0.0%|Y 0.0%|C 25.0%| c |
88
- | U U |L 0.0%|S 0.0%|* 0.0%|* 0.0%| a |
89
- | UUU |L 0.0%|S 0.0%|* 0.0%|W 0.0%| g |
90
- |-------+-------+-------+-------+-------+-----|
91
- | CCCC |L 0.0%|P 0.0%|H 25.0%|R 0.0%| u |
92
- | C |L 0.0%|P 0.0%|H 0.0%|R 0.0%| c |
93
- | C |L 0.0%|P 0.0%|Q 0.0%|R 0.0%| a |
94
- | CCCC |L 0.0%|P 0.0%|Q 0.0%|R 0.0%| g |
95
- |-------+-------+-------+-------+-------+-----|
96
- | A |I 0.0%|T 0.0%|N 0.0%|S 0.0%| u |
97
- | A A |I 0.0%|T 0.0%|N 0.0%|S 0.0%| c |
98
- | AAAAA |I 0.0%|T 0.0%|K 0.0%|R 0.0%| a |
99
- | A A |M 25.0%|T 0.0%|K 0.0%|R 0.0%| g |
100
- |-------+-------+-------+-------+-------+-----|
101
- | GGGG |V 0.0%|A 0.0%|D 0.0%|G 0.0%| u |
102
- | G |V 0.0%|A 0.0%|D 0.0%|G 0.0%| c |
103
- | G GGG |V 0.0%|A 25.0%|E 0.0%|G 0.0%| a |
104
- | GG G |V 0.0%|A 0.0%|E 0.0%|G 0.0%| g |
105
- *---------------------------------------------*
106
-
107
- Molecular weight : 3701.61444
108
- Protein weight : 460.565
109
- //
110
- END
111
- $str = ''
112
- alias puts_orig puts
113
- def puts(*args)
114
- args.each do |obj|
115
- $str << obj.to_s
116
- end
117
- end
118
- seqstat(naseq)
119
- undef puts
120
- alias puts puts_orig
121
- assert_equal(output, $str)
122
- end
123
-
124
-
125
- def test_aa_seqstat
126
- aaseq = 'WD'
127
- output =<<END
128
-
129
- * * * Sequence statistics * * *
130
-
131
- N->C sequence : WD
132
- Length : 2 aa
133
- Composition : D Asp - 1 ( 50.00 %) aspartic acid
134
- W Trp - 1 ( 50.00 %) tryptophan
135
- Protein weight : 319.315
136
- //
137
- END
138
- $str = ''
139
- alias puts_orig puts
140
- def puts(*args)
141
- args.each do |obj|
142
- $str << obj.to_s
143
- end
144
- end
145
- seqstat(aaseq)
146
- undef puts
147
- alias puts puts_orig
148
- assert_equal(output, $str)
149
- end
150
-
151
-
152
- def test_doublehelix
153
- seq = 'ACGTACGTACGTACGT'
154
- output = <<END
155
- at
156
- c--g
157
- g---c
158
- t----a
159
- a----t
160
- c---g
161
- g--c
162
- ta
163
- ta
164
- g--c
165
- c---g
166
- a----t
167
- t----a
168
- g---c
169
- c--g
170
- at
171
- END
172
- $str = ''
173
- alias puts_orig puts
174
- def puts(*args)
175
- args.each do |obj|
176
- $str << obj.to_s
177
- end
178
- end
179
- doublehelix(seq)
180
- undef puts
181
- alias puts puts_orig
182
- assert_equal(output, $str)
183
- end
184
-
185
- end
186
-
187
- end