bio 1.3.0 → 1.3.1
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.
- data/COPYING +56 -0
- data/COPYING.ja +51 -0
- data/ChangeLog +540 -0
- data/GPL +340 -0
- data/LEGAL +141 -0
- data/LGPL +504 -0
- data/README.rdoc +4 -2
- data/Rakefile +2 -2
- data/bioruby.gemspec +17 -29
- data/doc/Tutorial.rd +118 -90
- data/doc/Tutorial.rd.html +124 -87
- data/lib/bio/appl/blast.rb +2 -2
- data/lib/bio/appl/blast/format0.rb +1 -1
- data/lib/bio/appl/fasta.rb +5 -12
- data/lib/bio/appl/fasta/format10.rb +96 -6
- data/lib/bio/appl/gcg/msf.rb +11 -14
- data/lib/bio/appl/pts1.rb +0 -4
- data/lib/bio/appl/sim4/report.rb +50 -17
- data/lib/bio/db/biosql/biosql_to_biosequence.rb +10 -0
- data/lib/bio/db/biosql/sequence.rb +234 -298
- data/lib/bio/db/embl/embl.rb +0 -3
- data/lib/bio/db/genbank/common.rb +3 -1
- data/lib/bio/io/biosql/ar-biosql.rb +257 -0
- data/lib/bio/io/biosql/biosql.rb +39 -0
- data/lib/bio/io/biosql/config/database.yml +5 -4
- data/lib/bio/io/ncbirest.rb +12 -5
- data/lib/bio/io/pubmed.rb +5 -1
- data/lib/bio/io/sql.rb +43 -150
- data/lib/bio/sequence/compat.rb +5 -1
- data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +6 -4
- data/lib/bio/version.rb +1 -1
- data/test/data/gcg/pileup-aa.msf +67 -0
- data/test/data/sim4/complement-A4.sim4 +43 -0
- data/test/data/sim4/simple-A4.sim4 +25 -0
- data/test/data/sim4/simple2-A4.sim4 +25 -0
- data/test/functional/bio/io/test_pubmed.rb +129 -0
- data/test/unit/bio/appl/bl2seq/test_report.rb +5 -5
- data/test/unit/bio/appl/gcg/test_msf.rb +154 -0
- data/test/unit/bio/appl/hmmer/test_report.rb +2 -2
- data/test/unit/bio/appl/sim4/test_report.rb +869 -0
- data/test/unit/bio/appl/test_blast.rb +1 -1
- data/test/unit/bio/db/biosql/tc_biosql.rb +110 -0
- data/test/unit/bio/db/biosql/ts_suite_biosql.rb +8 -0
- data/test/unit/bio/test_feature.rb +18 -17
- data/test/unit/bio/test_reference.rb +18 -18
- data/test/unit/bio/test_sequence.rb +1 -1
- metadata +18 -30
- data/lib/bio/io/biosql/biodatabase.rb +0 -64
- data/lib/bio/io/biosql/bioentry.rb +0 -29
- data/lib/bio/io/biosql/bioentry_dbxref.rb +0 -11
- data/lib/bio/io/biosql/bioentry_path.rb +0 -12
- data/lib/bio/io/biosql/bioentry_qualifier_value.rb +0 -10
- data/lib/bio/io/biosql/bioentry_reference.rb +0 -10
- data/lib/bio/io/biosql/bioentry_relationship.rb +0 -10
- data/lib/bio/io/biosql/biosequence.rb +0 -11
- data/lib/bio/io/biosql/comment.rb +0 -7
- data/lib/bio/io/biosql/dbxref.rb +0 -13
- data/lib/bio/io/biosql/dbxref_qualifier_value.rb +0 -12
- data/lib/bio/io/biosql/location.rb +0 -32
- data/lib/bio/io/biosql/location_qualifier_value.rb +0 -11
- data/lib/bio/io/biosql/ontology.rb +0 -10
- data/lib/bio/io/biosql/reference.rb +0 -9
- data/lib/bio/io/biosql/seqfeature.rb +0 -32
- data/lib/bio/io/biosql/seqfeature_dbxref.rb +0 -11
- data/lib/bio/io/biosql/seqfeature_path.rb +0 -11
- data/lib/bio/io/biosql/seqfeature_qualifier_value.rb +0 -20
- data/lib/bio/io/biosql/seqfeature_relationship.rb +0 -11
- data/lib/bio/io/biosql/taxon.rb +0 -12
- data/lib/bio/io/biosql/taxon_name.rb +0 -9
- data/lib/bio/io/biosql/term.rb +0 -27
- data/lib/bio/io/biosql/term_dbxref.rb +0 -11
- data/lib/bio/io/biosql/term_path.rb +0 -12
- data/lib/bio/io/biosql/term_relationship.rb +0 -13
- data/lib/bio/io/biosql/term_relationship_term.rb +0 -11
- data/lib/bio/io/biosql/term_synonym.rb +0 -10
@@ -4,7 +4,7 @@
|
|
4
4
|
# Copyright:: Copyright (C) 2006 Mitsuteru Nakao <n@bioruby.org>
|
5
5
|
# License:: The Ruby License
|
6
6
|
#
|
7
|
-
# $Id
|
7
|
+
# $Id:$
|
8
8
|
#
|
9
9
|
|
10
10
|
require 'pathname'
|
@@ -41,7 +41,7 @@ module Bio
|
|
41
41
|
assert_equal(Array, ary.class)
|
42
42
|
end
|
43
43
|
|
44
|
-
def
|
44
|
+
def test_reports_ary_contents
|
45
45
|
Bio::HMMER.reports(Bio::TestHMMERReportData.output).each do |report|
|
46
46
|
assert_equal(Bio::HMMER::Report, report.class)
|
47
47
|
end
|
@@ -0,0 +1,869 @@
|
|
1
|
+
#
|
2
|
+
# test/unit/bio/appl/sim4/test_report.rb - Unit test for Bio::Sim4
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2009
|
5
|
+
# Naohisa Goto <ng@bioruby.org>
|
6
|
+
# License:: The Ruby License
|
7
|
+
#
|
8
|
+
# $Id:$
|
9
|
+
#
|
10
|
+
|
11
|
+
require 'pathname'
|
12
|
+
libpath = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 5, 'lib')).cleanpath.to_s
|
13
|
+
$:.unshift(libpath) unless $:.include?(libpath)
|
14
|
+
|
15
|
+
require 'test/unit'
|
16
|
+
require 'bio/appl/sim4/report'
|
17
|
+
|
18
|
+
module Bio
|
19
|
+
|
20
|
+
class TestDataForSim4Report
|
21
|
+
bioruby_root = Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 5)).cleanpath.to_s
|
22
|
+
DataPath = Pathname.new(File.join(bioruby_root, 'test', 'data', 'sim4')).cleanpath.to_s
|
23
|
+
|
24
|
+
def initialize(filename)
|
25
|
+
@filename = filename
|
26
|
+
end
|
27
|
+
|
28
|
+
def read
|
29
|
+
File.read(File.join(DataPath,@filename))
|
30
|
+
end
|
31
|
+
|
32
|
+
def report
|
33
|
+
Bio::Sim4::Report.new(self.read)
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.report(filename)
|
37
|
+
self.new(filename).report
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.report1
|
41
|
+
filename = "simple-A4.sim4"
|
42
|
+
self.new(filename).report
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.report2
|
46
|
+
filename = "simple2-A4.sim4"
|
47
|
+
self.new(filename).report
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.report4
|
51
|
+
filename = "complement-A4.sim4"
|
52
|
+
self.new(filename).report
|
53
|
+
end
|
54
|
+
|
55
|
+
end #class TestDataForSim4Report
|
56
|
+
|
57
|
+
|
58
|
+
class TestSim4Report < Test::Unit::TestCase
|
59
|
+
|
60
|
+
def setup
|
61
|
+
@sim4 = TestDataForSim4Report.report1
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_hits
|
65
|
+
assert_kind_of(Array, @sim4.hits)
|
66
|
+
assert_equal(1, @sim4.hits.size)
|
67
|
+
assert_instance_of(Bio::Sim4::Report::Hit, @sim4.hits[0])
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_all_hits
|
71
|
+
assert_kind_of(Array, @sim4.all_hits)
|
72
|
+
assert_equal(1, @sim4.all_hits.size)
|
73
|
+
assert_instance_of(Bio::Sim4::Report::Hit, @sim4.all_hits[0])
|
74
|
+
end
|
75
|
+
|
76
|
+
def exec_test_seq1_len(sd)
|
77
|
+
assert_equal(94, sd.len)
|
78
|
+
end
|
79
|
+
private :exec_test_seq1_len
|
80
|
+
|
81
|
+
def test_seq1
|
82
|
+
sd = @sim4.seq1
|
83
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc, sd)
|
84
|
+
assert_equal('mrna1', sd.entry_id)
|
85
|
+
assert_equal('mrna1', sd.definition)
|
86
|
+
assert_equal('sample10-1.fst', sd.filename)
|
87
|
+
exec_test_seq1_len(sd)
|
88
|
+
end
|
89
|
+
|
90
|
+
def exec_test_each(meth)
|
91
|
+
count = 0
|
92
|
+
assert_nothing_raised {
|
93
|
+
@sim4.__send__(meth) do |x|
|
94
|
+
count += 1
|
95
|
+
end
|
96
|
+
}
|
97
|
+
assert_equal(1, count)
|
98
|
+
@sim4.__send__(meth) do |x|
|
99
|
+
assert_instance_of(Bio::Sim4::Report::Hit, x)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
private :exec_test_each
|
103
|
+
|
104
|
+
def test_each
|
105
|
+
exec_test_each(:each)
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_each_hit
|
109
|
+
exec_test_each(:each_hit)
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_num_hits
|
113
|
+
assert_equal(1, @sim4.num_hits)
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_query_def
|
117
|
+
assert_equal('mrna1', @sim4.query_def)
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_query_id
|
121
|
+
assert_equal('mrna1', @sim4.query_id)
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_query_len
|
125
|
+
assert_equal(94, @sim4.query_len)
|
126
|
+
end
|
127
|
+
|
128
|
+
end #class TestSim4Report
|
129
|
+
|
130
|
+
class TestSim4ReportHit < Test::Unit::TestCase
|
131
|
+
|
132
|
+
def setup
|
133
|
+
@hit = TestDataForSim4Report.report1.hits.first
|
134
|
+
end
|
135
|
+
|
136
|
+
def test_align
|
137
|
+
a = [
|
138
|
+
[ "TTGTTTCCGTCGCTGGTTATTGTCTAGAACGCAAAAATAG",
|
139
|
+
"||||||||||||||||||||||||||||||||||||||||",
|
140
|
+
"TTGTTTCCGTCGCTGGTTATTGTCTAGAACGCAAAAATAG" ],
|
141
|
+
[ " ",
|
142
|
+
"<<<...<<<",
|
143
|
+
"CTG...TAC" ],
|
144
|
+
[ "TCTACACATCACTAGCGTGGGTGGGCGGAAAGAGCAGCTCGCCACT CAAGCTAA",
|
145
|
+
"|||||||||||||||| |||||||||||||-|||||||||||||||-||||||||",
|
146
|
+
"TCTACACATCACTAGCCTGGGTGGGCGGAA GAGCAGCTCGCCACTTCAAGCTAA" ]
|
147
|
+
]
|
148
|
+
assert_equal(a, @hit.align)
|
149
|
+
end
|
150
|
+
|
151
|
+
def test_complement?
|
152
|
+
assert_equal(nil, @hit.complement?)
|
153
|
+
end
|
154
|
+
|
155
|
+
def test_definition
|
156
|
+
assert_equal('genome1', @hit.definition)
|
157
|
+
end
|
158
|
+
|
159
|
+
def test_each
|
160
|
+
count = 0
|
161
|
+
assert_nothing_raised {
|
162
|
+
@hit.each do |x|
|
163
|
+
count += 1
|
164
|
+
end
|
165
|
+
}
|
166
|
+
assert_equal(2, count)
|
167
|
+
@hit.each do |x|
|
168
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
def exec_test_exons(meth)
|
173
|
+
assert_kind_of(Array, @hit.__send__(meth))
|
174
|
+
assert_equal(2, @hit.__send__(meth).size)
|
175
|
+
@hit.__send__(meth).each do |x|
|
176
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
private :exec_test_exons
|
180
|
+
|
181
|
+
def test_exons
|
182
|
+
exec_test_exons(:exons)
|
183
|
+
end
|
184
|
+
|
185
|
+
def test_hit_id
|
186
|
+
assert_equal('genome1', @hit.hit_id)
|
187
|
+
end
|
188
|
+
|
189
|
+
def test_hsps
|
190
|
+
exec_test_exons(:hsps)
|
191
|
+
end
|
192
|
+
|
193
|
+
def test_introns
|
194
|
+
assert_kind_of(Array, @hit.introns)
|
195
|
+
assert_equal(1, @hit.introns.size)
|
196
|
+
@hit.introns.each do |x|
|
197
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
def test_len
|
202
|
+
assert_equal(599, @hit.len)
|
203
|
+
end
|
204
|
+
|
205
|
+
def test_query_def
|
206
|
+
assert_equal('mrna1', @hit.query_def)
|
207
|
+
end
|
208
|
+
|
209
|
+
def test_query_id
|
210
|
+
assert_equal('mrna1', @hit.query_id)
|
211
|
+
end
|
212
|
+
|
213
|
+
def test_query_len
|
214
|
+
assert_equal(94, @hit.query_len)
|
215
|
+
end
|
216
|
+
|
217
|
+
def test_segmentpairs
|
218
|
+
assert_kind_of(Array, @hit.segmentpairs)
|
219
|
+
assert_equal(3, @hit.segmentpairs.size)
|
220
|
+
@hit.segmentpairs.each do |x|
|
221
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
def exec_test_seq1_len(sd)
|
226
|
+
assert_equal(94, sd.len)
|
227
|
+
end
|
228
|
+
private :exec_test_seq1_len
|
229
|
+
|
230
|
+
def test_seq1
|
231
|
+
sd = @hit.seq1
|
232
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc, sd)
|
233
|
+
assert_equal('mrna1', sd.entry_id)
|
234
|
+
assert_equal('mrna1', sd.definition)
|
235
|
+
assert_equal('sample10-1.fst', sd.filename)
|
236
|
+
exec_test_seq1_len(sd)
|
237
|
+
end
|
238
|
+
|
239
|
+
def test_seq2
|
240
|
+
sd = @hit.seq2
|
241
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc, sd)
|
242
|
+
assert_equal('genome1', sd.entry_id)
|
243
|
+
assert_equal('genome1', sd.definition)
|
244
|
+
assert_equal(599, sd.len)
|
245
|
+
#assert_equal('sample10-2.fst', sd.filename)
|
246
|
+
assert_equal('sample10-2.fst (genome1)', sd.filename)
|
247
|
+
end
|
248
|
+
|
249
|
+
def test_target_def
|
250
|
+
assert_equal('genome1', @hit.target_def)
|
251
|
+
end
|
252
|
+
|
253
|
+
def test_target_id
|
254
|
+
assert_equal('genome1', @hit.target_id)
|
255
|
+
end
|
256
|
+
|
257
|
+
def test_target_len
|
258
|
+
assert_equal(599, @hit.target_len)
|
259
|
+
end
|
260
|
+
end #class TestSim4ReportHit
|
261
|
+
|
262
|
+
class TestSim4ReportSegmentPair_exon < Test::Unit::TestCase
|
263
|
+
def setup
|
264
|
+
@exon = TestDataForSim4Report.report1.hits[0].exons[1]
|
265
|
+
end
|
266
|
+
|
267
|
+
def test_align_len
|
268
|
+
assert_equal(55, @exon.align_len)
|
269
|
+
end
|
270
|
+
|
271
|
+
def test_direction
|
272
|
+
assert_equal("", @exon.direction)
|
273
|
+
end
|
274
|
+
|
275
|
+
def test_hit_from
|
276
|
+
assert_equal(404, @exon.hit_from)
|
277
|
+
end
|
278
|
+
|
279
|
+
def test_hit_to
|
280
|
+
assert_equal(457, @exon.hit_to)
|
281
|
+
end
|
282
|
+
|
283
|
+
def test_hseq
|
284
|
+
hseq = "TCTACACATCACTAGCCTGGGTGGGCGGAA GAGCAGCTCGCCACTTCAAGCTAA"
|
285
|
+
assert_equal(hseq, @exon.hseq)
|
286
|
+
end
|
287
|
+
|
288
|
+
def test_midline
|
289
|
+
midline = "|||||||||||||||| |||||||||||||-|||||||||||||||-||||||||"
|
290
|
+
assert_equal(midline, @exon.midline)
|
291
|
+
end
|
292
|
+
|
293
|
+
def test_percent_identity
|
294
|
+
#assert_equal(94, @exon.percent_identity)
|
295
|
+
assert_equal("94", @exon.percent_identity)
|
296
|
+
end
|
297
|
+
|
298
|
+
def test_qseq
|
299
|
+
qseq = "TCTACACATCACTAGCGTGGGTGGGCGGAAAGAGCAGCTCGCCACT CAAGCTAA"
|
300
|
+
assert_equal(qseq, @exon.qseq)
|
301
|
+
end
|
302
|
+
|
303
|
+
def test_query_from
|
304
|
+
assert_equal(41, @exon.query_from)
|
305
|
+
end
|
306
|
+
|
307
|
+
def test_query_to
|
308
|
+
assert_equal(94, @exon.query_to)
|
309
|
+
end
|
310
|
+
|
311
|
+
def exec_test_seq1_from_to(seg)
|
312
|
+
assert_equal(41, seg.from)
|
313
|
+
assert_equal(94, seg.to)
|
314
|
+
end
|
315
|
+
private :exec_test_seq1_from_to
|
316
|
+
|
317
|
+
def test_seq1
|
318
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @exon.seq1)
|
319
|
+
assert_equal("TCTACACATCACTAGCGTGGGTGGGCGGAAAGAGCAGCTCGCCACT CAAGCTAA",
|
320
|
+
@exon.seq1.seq)
|
321
|
+
exec_test_seq1_from_to(@exon.seq1)
|
322
|
+
end
|
323
|
+
|
324
|
+
def test_seq2
|
325
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @exon.seq2)
|
326
|
+
assert_equal(404, @exon.seq2.from)
|
327
|
+
assert_equal(457, @exon.seq2.to)
|
328
|
+
assert_equal("TCTACACATCACTAGCCTGGGTGGGCGGAA GAGCAGCTCGCCACTTCAAGCTAA",
|
329
|
+
@exon.seq2.seq)
|
330
|
+
end
|
331
|
+
end #class TestSim4ReportSegmentPair_exon
|
332
|
+
|
333
|
+
class TestSim4ReportSegmentPair_intron < Test::Unit::TestCase
|
334
|
+
def setup
|
335
|
+
@intron = TestDataForSim4Report.report1.hits[0].introns[0]
|
336
|
+
end
|
337
|
+
|
338
|
+
def test_align_len
|
339
|
+
assert_equal(9, @intron.align_len)
|
340
|
+
end
|
341
|
+
|
342
|
+
def test_direction
|
343
|
+
assert_equal(nil, @intron.direction)
|
344
|
+
end
|
345
|
+
|
346
|
+
def test_hit_from
|
347
|
+
assert_equal(185, @intron.hit_from)
|
348
|
+
end
|
349
|
+
|
350
|
+
def test_hit_to
|
351
|
+
assert_equal(403, @intron.hit_to)
|
352
|
+
end
|
353
|
+
|
354
|
+
def test_hseq
|
355
|
+
hseq = "CTG...TAC"
|
356
|
+
assert_equal(hseq, @intron.hseq)
|
357
|
+
end
|
358
|
+
|
359
|
+
def test_midline
|
360
|
+
midline = "<<<...<<<"
|
361
|
+
assert_equal(midline, @intron.midline)
|
362
|
+
end
|
363
|
+
|
364
|
+
def test_percent_identity
|
365
|
+
assert_equal(nil, @intron.percent_identity)
|
366
|
+
end
|
367
|
+
|
368
|
+
def test_qseq
|
369
|
+
qseq = " "
|
370
|
+
assert_equal(qseq, @intron.qseq)
|
371
|
+
end
|
372
|
+
|
373
|
+
def test_query_from
|
374
|
+
assert_equal(0, @intron.query_from)
|
375
|
+
end
|
376
|
+
|
377
|
+
def test_query_to
|
378
|
+
assert_equal(0, @intron.query_to)
|
379
|
+
end
|
380
|
+
|
381
|
+
def test_seq1
|
382
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @intron.seq1)
|
383
|
+
assert_equal(0, @intron.seq1.from)
|
384
|
+
assert_equal(0, @intron.seq1.to)
|
385
|
+
assert_equal(" ", @intron.seq1.seq)
|
386
|
+
end
|
387
|
+
|
388
|
+
def test_seq2
|
389
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @intron.seq2)
|
390
|
+
assert_equal(185, @intron.seq2.from)
|
391
|
+
assert_equal(403, @intron.seq2.to)
|
392
|
+
assert_equal("CTG...TAC", @intron.seq2.seq)
|
393
|
+
end
|
394
|
+
end #class TestSim4ReportSegmentPair_intron
|
395
|
+
|
396
|
+
|
397
|
+
class TestSim4Report2 < TestSim4Report
|
398
|
+
def setup
|
399
|
+
@sim4 = TestDataForSim4Report.report2
|
400
|
+
end
|
401
|
+
|
402
|
+
def test_query_len
|
403
|
+
assert_equal(96, @sim4.query_len)
|
404
|
+
end
|
405
|
+
|
406
|
+
def exec_test_seq1_len(sd)
|
407
|
+
assert_equal(96, sd.len)
|
408
|
+
end
|
409
|
+
private :exec_test_seq1_len
|
410
|
+
end #class TestSim4Report2
|
411
|
+
|
412
|
+
class TestSim4ReportHit2 < TestSim4ReportHit
|
413
|
+
def setup
|
414
|
+
@hit = TestDataForSim4Report.report2.hits.first
|
415
|
+
end
|
416
|
+
|
417
|
+
def test_align
|
418
|
+
a = [
|
419
|
+
[ "AGTTGTTTCCGTCGCTGGTTATTGTCTAGAACGCAAAAATAG",
|
420
|
+
"||||||||||||||||||||||||||||||||||||||||||",
|
421
|
+
"AGTTGTTTCCGTCGCTGGTTATTGTCTAGAACGCAAAAATAG" ],
|
422
|
+
[ " ",
|
423
|
+
"<<<...<<<",
|
424
|
+
"CTG...TAC" ],
|
425
|
+
[ "TCTACACATCACTAGCGTGGGTGGGCGGAAAGAGCAGCTCGCCACT CAAGCTAA",
|
426
|
+
"|||||||||||||||| |||||||||||||-|||||||||||||||-||||||||",
|
427
|
+
"TCTACACATCACTAGCCTGGGTGGGCGGAA GAGCAGCTCGCCACTTCAAGCTAA" ]
|
428
|
+
]
|
429
|
+
assert_equal(a, @hit.align)
|
430
|
+
end
|
431
|
+
|
432
|
+
def test_query_len
|
433
|
+
assert_equal(96, @hit.query_len)
|
434
|
+
end
|
435
|
+
|
436
|
+
def exec_test_seq1_len(sd)
|
437
|
+
assert_equal(96, sd.len)
|
438
|
+
end
|
439
|
+
private :exec_test_seq1_len
|
440
|
+
end #class TestSim4ReportHit2
|
441
|
+
|
442
|
+
|
443
|
+
class TestSim4ReportSegmentPair2_exon < TestSim4ReportSegmentPair_exon
|
444
|
+
def setup
|
445
|
+
@exon = TestDataForSim4Report.report2.hits[0].exons[1]
|
446
|
+
end
|
447
|
+
|
448
|
+
def test_query_from
|
449
|
+
assert_equal(43, @exon.query_from)
|
450
|
+
end
|
451
|
+
|
452
|
+
def test_query_to
|
453
|
+
assert_equal(96, @exon.query_to)
|
454
|
+
end
|
455
|
+
|
456
|
+
def exec_test_seq1_from_to(seg)
|
457
|
+
assert_equal(43, seg.from)
|
458
|
+
assert_equal(96, seg.to)
|
459
|
+
end
|
460
|
+
private :exec_test_seq1_from_to
|
461
|
+
|
462
|
+
end #class TestSim4ReportSegmentPair2_exon
|
463
|
+
|
464
|
+
|
465
|
+
class TestSim4ReportSegmentPair2_intron < TestSim4ReportSegmentPair_intron
|
466
|
+
def setup
|
467
|
+
@intron = TestDataForSim4Report.report2.hits[0].introns[0]
|
468
|
+
end
|
469
|
+
end #class TestSim4ReportSegmentPair2_intron
|
470
|
+
|
471
|
+
|
472
|
+
class TestSim4Report4 < TestSim4Report
|
473
|
+
|
474
|
+
def setup
|
475
|
+
@sim4 = TestDataForSim4Report.report4
|
476
|
+
end
|
477
|
+
|
478
|
+
def exec_test_seq1_len(sd)
|
479
|
+
assert_equal(284, sd.len)
|
480
|
+
end
|
481
|
+
private :exec_test_seq1_len
|
482
|
+
|
483
|
+
def test_seq1
|
484
|
+
sd = @sim4.seq1
|
485
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc, sd)
|
486
|
+
assert_equal('mrna4c', sd.entry_id)
|
487
|
+
assert_equal('mrna4c', sd.definition)
|
488
|
+
assert_equal('sample41-1c.fst', sd.filename)
|
489
|
+
exec_test_seq1_len(sd)
|
490
|
+
end
|
491
|
+
|
492
|
+
def test_query_def
|
493
|
+
assert_equal('mrna4c', @sim4.query_def)
|
494
|
+
end
|
495
|
+
|
496
|
+
def test_query_id
|
497
|
+
assert_equal('mrna4c', @sim4.query_id)
|
498
|
+
end
|
499
|
+
|
500
|
+
def test_query_len
|
501
|
+
assert_equal(284, @sim4.query_len)
|
502
|
+
end
|
503
|
+
|
504
|
+
end #class TestSim4Report4
|
505
|
+
|
506
|
+
class TestSim4ReportHit4 < TestSim4ReportHit
|
507
|
+
|
508
|
+
def setup
|
509
|
+
@hit = TestDataForSim4Report.report4.hits.first
|
510
|
+
end
|
511
|
+
|
512
|
+
def test_align
|
513
|
+
a = [
|
514
|
+
[ "TTTTAGCCGGCACGAGATTG AGCGTATGATCACGCGCGCGGCCTCCT CAGAGTGATGCATGATACAACTT AT ",
|
515
|
+
"||||||||||||||||||||-||||-||||||||||||||||||||||-|-|||| ||||||||||||||||- |-",
|
516
|
+
"TTTTAGCCGGCACGAGATTGCAGCG ATGATCACGCGCGCGGCCTCCTAC GAGTCATGCATGATACAACTTCTTG"],
|
517
|
+
[ " ",
|
518
|
+
">>>...>>>",
|
519
|
+
"GTT...GAT" ],
|
520
|
+
[ "ATATGTACTTAGCTGGCAACCGAGATTTACTTTCGAAGCACTGTGATGAACCCGCGGCCCTTTGAGCGCT",
|
521
|
+
"|||||||||||||-|||||||||||||||||||||||| |||||||||||||||||-|||||||||||||",
|
522
|
+
"ATATGTACTTAGC GGCAACCGAGATTTACTTTCGAAGGACTGTGATGAACCCGCG CCCTTTGAGCGCT" ],
|
523
|
+
[ "", "", "" ],
|
524
|
+
[ "TATATATGTACTTAGCGG ACACCGAGATTTACTTTCGAAGGACTGTGGATGAACCCGCGCCCTTTGAGCGCT",
|
525
|
+
"||||||||||||||||||-|-|||||||||||||||||||||||||||-||||||||||||||||||||||||",
|
526
|
+
"TATATATGTACTTAGCGGCA ACCGAGATTTACTTTCGAAGGACTGTG ATGAACCCGCGCCCTTTGAGCGCT" ]
|
527
|
+
]
|
528
|
+
assert_equal(a, @hit.align)
|
529
|
+
end
|
530
|
+
|
531
|
+
def test_complement?
|
532
|
+
assert_equal(true, @hit.complement?)
|
533
|
+
end
|
534
|
+
|
535
|
+
def test_definition
|
536
|
+
assert_equal('genome4', @hit.definition)
|
537
|
+
end
|
538
|
+
|
539
|
+
def test_each
|
540
|
+
count = 0
|
541
|
+
assert_nothing_raised {
|
542
|
+
@hit.each do |x|
|
543
|
+
count += 1
|
544
|
+
end
|
545
|
+
}
|
546
|
+
assert_equal(3, count)
|
547
|
+
@hit.each do |x|
|
548
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
549
|
+
end
|
550
|
+
end
|
551
|
+
|
552
|
+
def exec_test_exons(meth)
|
553
|
+
assert_kind_of(Array, @hit.__send__(meth))
|
554
|
+
assert_equal(3, @hit.__send__(meth).size)
|
555
|
+
@hit.__send__(meth).each do |x|
|
556
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
557
|
+
end
|
558
|
+
end
|
559
|
+
private :exec_test_exons
|
560
|
+
|
561
|
+
def test_hit_id
|
562
|
+
assert_equal('genome4', @hit.hit_id)
|
563
|
+
end
|
564
|
+
|
565
|
+
def test_introns
|
566
|
+
assert_kind_of(Array, @hit.introns)
|
567
|
+
assert_equal(2, @hit.introns.size)
|
568
|
+
@hit.introns.each do |x|
|
569
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
570
|
+
end
|
571
|
+
end
|
572
|
+
|
573
|
+
def test_len
|
574
|
+
assert_equal(770, @hit.len)
|
575
|
+
end
|
576
|
+
|
577
|
+
def test_query_def
|
578
|
+
assert_equal('mrna4c', @hit.query_def)
|
579
|
+
end
|
580
|
+
|
581
|
+
def test_query_id
|
582
|
+
assert_equal('mrna4c', @hit.query_id)
|
583
|
+
end
|
584
|
+
|
585
|
+
def test_query_len
|
586
|
+
assert_equal(284, @hit.query_len)
|
587
|
+
end
|
588
|
+
|
589
|
+
def test_segmentpairs
|
590
|
+
assert_kind_of(Array, @hit.segmentpairs)
|
591
|
+
assert_equal(5, @hit.segmentpairs.size)
|
592
|
+
@hit.segmentpairs.each do |x|
|
593
|
+
assert_instance_of(Bio::Sim4::Report::SegmentPair, x)
|
594
|
+
end
|
595
|
+
end
|
596
|
+
|
597
|
+
def exec_test_seq1_len(sd)
|
598
|
+
assert_equal(284, sd.len)
|
599
|
+
end
|
600
|
+
private :exec_test_seq1_len
|
601
|
+
|
602
|
+
def test_seq1
|
603
|
+
sd = @hit.seq1
|
604
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc, sd)
|
605
|
+
assert_equal('mrna4c', sd.entry_id)
|
606
|
+
assert_equal('mrna4c', sd.definition)
|
607
|
+
assert_equal('sample41-1c.fst', sd.filename)
|
608
|
+
exec_test_seq1_len(sd)
|
609
|
+
end
|
610
|
+
|
611
|
+
def test_seq2
|
612
|
+
sd = @hit.seq2
|
613
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc, sd)
|
614
|
+
assert_equal('genome4', sd.entry_id)
|
615
|
+
assert_equal('genome4', sd.definition)
|
616
|
+
assert_equal(770, sd.len)
|
617
|
+
#assert_equal('sample40-2.fst', sd.filename)
|
618
|
+
assert_equal('sample40-2.fst (genome4)', sd.filename)
|
619
|
+
end
|
620
|
+
|
621
|
+
def test_target_def
|
622
|
+
assert_equal('genome4', @hit.target_def)
|
623
|
+
end
|
624
|
+
|
625
|
+
def test_target_id
|
626
|
+
assert_equal('genome4', @hit.target_id)
|
627
|
+
end
|
628
|
+
|
629
|
+
def test_target_len
|
630
|
+
assert_equal(770, @hit.target_len)
|
631
|
+
end
|
632
|
+
end #class TestSim4ReportHit4
|
633
|
+
|
634
|
+
class TestSim4ReportSegmentPair4_exon < TestSim4ReportSegmentPair_exon
|
635
|
+
def setup
|
636
|
+
@exon = TestDataForSim4Report.report4.hits[0].exons[1]
|
637
|
+
end
|
638
|
+
|
639
|
+
def test_align_len
|
640
|
+
assert_equal(70, @exon.align_len)
|
641
|
+
end
|
642
|
+
|
643
|
+
def test_direction
|
644
|
+
assert_equal("==", @exon.direction)
|
645
|
+
end
|
646
|
+
|
647
|
+
def test_hit_from
|
648
|
+
assert_equal(563, @exon.hit_from)
|
649
|
+
end
|
650
|
+
|
651
|
+
def test_hit_to
|
652
|
+
assert_equal(630, @exon.hit_to)
|
653
|
+
end
|
654
|
+
|
655
|
+
def test_hseq
|
656
|
+
hseq = "ATATGTACTTAGC GGCAACCGAGATTTACTTTCGAAGGACTGTGATGAACCCGCG CCCTTTGAGCGCT"
|
657
|
+
assert_equal(hseq, @exon.hseq)
|
658
|
+
end
|
659
|
+
|
660
|
+
def test_midline
|
661
|
+
midline = "|||||||||||||-|||||||||||||||||||||||| |||||||||||||||||-|||||||||||||"
|
662
|
+
assert_equal(midline, @exon.midline)
|
663
|
+
end
|
664
|
+
|
665
|
+
def test_percent_identity
|
666
|
+
#assert_equal(95, @exon.percent_identity)
|
667
|
+
assert_equal("95", @exon.percent_identity)
|
668
|
+
end
|
669
|
+
|
670
|
+
def test_qseq
|
671
|
+
qseq = "ATATGTACTTAGCTGGCAACCGAGATTTACTTTCGAAGCACTGTGATGAACCCGCGGCCCTTTGAGCGCT"
|
672
|
+
assert_equal(qseq, @exon.qseq)
|
673
|
+
end
|
674
|
+
|
675
|
+
def test_query_from
|
676
|
+
assert_equal(73, @exon.query_from)
|
677
|
+
end
|
678
|
+
|
679
|
+
def test_query_to
|
680
|
+
assert_equal(142, @exon.query_to)
|
681
|
+
end
|
682
|
+
|
683
|
+
def exec_test_seq1_from_to(seg)
|
684
|
+
assert_equal(73, seg.from)
|
685
|
+
assert_equal(142, seg.to)
|
686
|
+
end
|
687
|
+
private :exec_test_seq1_from_to
|
688
|
+
|
689
|
+
def test_seq1
|
690
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @exon.seq1)
|
691
|
+
assert_equal("ATATGTACTTAGCTGGCAACCGAGATTTACTTTCGAAGCACTGTGATGAACCCGCGGCCCTTTGAGCGCT",
|
692
|
+
@exon.seq1.seq)
|
693
|
+
exec_test_seq1_from_to(@exon.seq1)
|
694
|
+
end
|
695
|
+
|
696
|
+
def test_seq2
|
697
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @exon.seq2)
|
698
|
+
assert_equal(563, @exon.seq2.from)
|
699
|
+
assert_equal(630, @exon.seq2.to)
|
700
|
+
assert_equal("ATATGTACTTAGC GGCAACCGAGATTTACTTTCGAAGGACTGTGATGAACCCGCG CCCTTTGAGCGCT",
|
701
|
+
@exon.seq2.seq)
|
702
|
+
end
|
703
|
+
end #class TestSim4ReportSegmentPair4_exon
|
704
|
+
|
705
|
+
|
706
|
+
class TestSim4ReportSegmentPair4_intron < TestSim4ReportSegmentPair_intron
|
707
|
+
def setup
|
708
|
+
@intron = TestDataForSim4Report.report4.hits[0].introns[0]
|
709
|
+
end
|
710
|
+
|
711
|
+
def test_hit_from
|
712
|
+
assert_equal(425, @intron.hit_from)
|
713
|
+
end
|
714
|
+
|
715
|
+
def test_hit_to
|
716
|
+
assert_equal(562, @intron.hit_to)
|
717
|
+
end
|
718
|
+
|
719
|
+
def test_hseq
|
720
|
+
hseq = "GTT...GAT"
|
721
|
+
assert_equal(hseq, @intron.hseq)
|
722
|
+
end
|
723
|
+
|
724
|
+
def test_midline
|
725
|
+
midline = ">>>...>>>"
|
726
|
+
assert_equal(midline, @intron.midline)
|
727
|
+
end
|
728
|
+
|
729
|
+
def test_seq2
|
730
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @intron.seq2)
|
731
|
+
assert_equal(425, @intron.seq2.from)
|
732
|
+
assert_equal(562, @intron.seq2.to)
|
733
|
+
assert_equal("GTT...GAT", @intron.seq2.seq)
|
734
|
+
end
|
735
|
+
end #class TestSim4ReportSegmentPair4_intron
|
736
|
+
|
737
|
+
|
738
|
+
class TestSim4ReportSegmentPair4_intron1 < Test::Unit::TestCase
|
739
|
+
def setup
|
740
|
+
@intron = TestDataForSim4Report.report4.hits[0].introns[1]
|
741
|
+
end
|
742
|
+
|
743
|
+
def test_align_len
|
744
|
+
assert_equal(0, @intron.align_len)
|
745
|
+
end
|
746
|
+
|
747
|
+
def test_direction
|
748
|
+
assert_equal(nil, @intron.direction)
|
749
|
+
end
|
750
|
+
|
751
|
+
def test_hit_from
|
752
|
+
assert_equal(631, @intron.hit_from)
|
753
|
+
end
|
754
|
+
|
755
|
+
def test_hit_to
|
756
|
+
assert_equal(699, @intron.hit_to)
|
757
|
+
end
|
758
|
+
|
759
|
+
def test_hseq
|
760
|
+
assert_equal("", @intron.hseq)
|
761
|
+
end
|
762
|
+
|
763
|
+
def test_midline
|
764
|
+
assert_equal("", @intron.midline)
|
765
|
+
end
|
766
|
+
|
767
|
+
def test_percent_identity
|
768
|
+
assert_equal(nil, @intron.percent_identity)
|
769
|
+
end
|
770
|
+
|
771
|
+
def test_qseq
|
772
|
+
assert_equal("", @intron.qseq)
|
773
|
+
end
|
774
|
+
|
775
|
+
def test_query_from
|
776
|
+
assert_equal(143, @intron.query_from)
|
777
|
+
end
|
778
|
+
|
779
|
+
def test_query_to
|
780
|
+
assert_equal(212, @intron.query_to)
|
781
|
+
end
|
782
|
+
|
783
|
+
def test_seq1
|
784
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @intron.seq1)
|
785
|
+
assert_equal(143, @intron.seq1.from)
|
786
|
+
assert_equal(212, @intron.seq1.to)
|
787
|
+
assert_equal("", @intron.seq1.seq)
|
788
|
+
end
|
789
|
+
|
790
|
+
def test_seq2
|
791
|
+
assert_instance_of(Bio::Sim4::Report::Segment, @intron.seq2)
|
792
|
+
assert_equal(631, @intron.seq2.from)
|
793
|
+
assert_equal(699, @intron.seq2.to)
|
794
|
+
assert_equal("", @intron.seq2.seq)
|
795
|
+
end
|
796
|
+
end #class TestSim4ReportSegmentPair4_intron1
|
797
|
+
|
798
|
+
|
799
|
+
class TestSim4ReportSeqDesc < Test::Unit::TestCase
|
800
|
+
def setup
|
801
|
+
@str1 = 'seq1 = c_NC_000011.5_101050001-101075000.fst, 25000 bp'
|
802
|
+
@str2 = '>ref|NC_000011.5|NC_000011:c101075000-101050001 Homo sapiens chromosome 11, complete sequence'
|
803
|
+
|
804
|
+
@seqdesc = Bio::Sim4::Report::SeqDesc.parse(@str1, @str2)
|
805
|
+
end
|
806
|
+
|
807
|
+
def test_entry_id
|
808
|
+
assert_equal('ref|NC_000011.5|NC_000011:c101075000-101050001',
|
809
|
+
@seqdesc.entry_id)
|
810
|
+
end
|
811
|
+
|
812
|
+
def test_definition
|
813
|
+
assert_equal("ref|NC_000011.5|NC_000011:c101075000-101050001 Homo sapiens chromosome 11, complete sequence",
|
814
|
+
@seqdesc.definition)
|
815
|
+
end
|
816
|
+
|
817
|
+
def test_len
|
818
|
+
assert_equal(25000, @seqdesc.len)
|
819
|
+
end
|
820
|
+
|
821
|
+
def test_filename
|
822
|
+
assert_equal('c_NC_000011.5_101050001-101075000.fst', @seqdesc.filename)
|
823
|
+
end
|
824
|
+
|
825
|
+
def test_self_parse
|
826
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc,
|
827
|
+
Bio::Sim4::Report::SeqDesc.parse(@str1, @str2))
|
828
|
+
|
829
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc,
|
830
|
+
Bio::Sim4::Report::SeqDesc.parse(@str1))
|
831
|
+
end
|
832
|
+
|
833
|
+
def test_self_new
|
834
|
+
assert_instance_of(Bio::Sim4::Report::SeqDesc,
|
835
|
+
Bio::Sim4::Report::SeqDesc.new('SEQID',
|
836
|
+
'SEQDEF',
|
837
|
+
123,
|
838
|
+
'file.sim4'))
|
839
|
+
end
|
840
|
+
end #class TestSim4ReportSeqDesc
|
841
|
+
|
842
|
+
|
843
|
+
class TestSim4ReportSegment < Test::Unit::TestCase
|
844
|
+
def setup
|
845
|
+
@seq = "TCTACACATCACTAGCGTGGGTGGGCGGAAAGAGCAGCTCGCCACT CAAGCTAA".freeze
|
846
|
+
@segment = Bio::Sim4::Report::Segment.new("123", "176", @seq.dup)
|
847
|
+
end
|
848
|
+
|
849
|
+
def test_from
|
850
|
+
assert_equal(123, @segment.from)
|
851
|
+
end
|
852
|
+
|
853
|
+
def test_to
|
854
|
+
assert_equal(176, @segment.to)
|
855
|
+
end
|
856
|
+
|
857
|
+
def test_seq
|
858
|
+
assert_equal(@seq, @segment.seq)
|
859
|
+
end
|
860
|
+
|
861
|
+
def test_self_new
|
862
|
+
assert_instance_of(Bio::Sim4::Report::Segment,
|
863
|
+
Bio::Sim4::Report::Segment.new(1,9))
|
864
|
+
assert_instance_of(Bio::Sim4::Report::Segment,
|
865
|
+
Bio::Sim4::Report::Segment.new(2,4, "ATG"))
|
866
|
+
end
|
867
|
+
end #class TestSim4ReportSegment
|
868
|
+
|
869
|
+
end #module Bio
|