bio 1.6.0.pre.20181210 → 2.0.3
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.
- checksums.yaml +4 -4
- data/.travis.yml +32 -34
- data/ChangeLog +1462 -8
- data/Gemfile +0 -2
- data/KNOWN_ISSUES.rdoc +4 -10
- data/LEGAL +0 -10
- data/README.rdoc +31 -80
- data/README_DEV.rdoc +5 -5
- data/RELEASE_NOTES.rdoc +171 -18
- data/Rakefile +0 -34
- data/appveyor.yml +15 -7
- data/bioruby.gemspec +13 -4
- data/bioruby.gemspec.erb +0 -1
- data/gemfiles/Gemfile.travis-rbx +0 -2
- data/gemfiles/Gemfile.travis-ruby1.8 +0 -2
- data/gemfiles/Gemfile.travis-ruby1.9 +0 -2
- data/gemfiles/Gemfile.windows +6 -0
- data/lib/bio/appl/blast/report.rb +40 -8
- data/lib/bio/appl/iprscan/report.rb +3 -3
- data/lib/bio/appl/sosui/report.rb +1 -1
- data/lib/bio/db/embl/uniprotkb.rb +1 -1
- data/lib/bio/db/gff.rb +3 -1
- data/lib/bio/db/go.rb +2 -2
- data/lib/bio/db/kegg/common.rb +14 -0
- data/lib/bio/db/kegg/genes.rb +26 -0
- data/lib/bio/db/kegg/pathway.rb +5 -11
- data/lib/bio/sequence/common.rb +112 -0
- data/lib/bio/sequence/format.rb +1 -0
- data/lib/bio/tree.rb +1 -1
- data/lib/bio/version.rb +3 -3
- data/sample/color_scheme_aa.rb +82 -0
- data/sample/color_scheme_na.rb +5 -6
- data/sample/fastq2html.cwl +23 -0
- data/sample/fastq2html.rb +94 -0
- data/sample/fastq2html.testdata.yaml +5 -0
- data/sample/na2aa.cwl +23 -0
- data/sample/na2aa.rb +11 -25
- data/sample/na2aa.testdata.yaml +7 -0
- data/sample/rev_comp.cwl +23 -0
- data/sample/rev_comp.rb +20 -0
- data/sample/rev_comp.testdata.yaml +7 -0
- data/test/network/bio/db/kegg/test_genes_hsa7422.rb +91 -0
- data/test/unit/bio/appl/blast/test_report.rb +4 -4
- data/test/unit/bio/db/test_gff.rb +5 -0
- data/test/unit/bio/sequence/test_ruby3.rb +462 -0
- metadata +17 -8
- data/lib/bio/appl/blast/xmlparser.rb +0 -236
- data/setup.rb +0 -1600
@@ -0,0 +1,462 @@
|
|
1
|
+
#
|
2
|
+
# test/unit/bio/sequence/test_ruby3.rb - Unit test for Bio::Sequencce::Common with Ruby version 3
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (C) 2021 BioRuby Project
|
5
|
+
# Maintainter:: Naohisa Goto <ng@bioruby.org>
|
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 'bio/sequence'
|
17
|
+
require 'bio/sequence/common'
|
18
|
+
|
19
|
+
module Bio; module TestSequenceRuby3
|
20
|
+
|
21
|
+
class TSeq < String
|
22
|
+
include Bio::Sequence::Common
|
23
|
+
end
|
24
|
+
|
25
|
+
class TestSequenceCommon < Test::Unit::TestCase
|
26
|
+
|
27
|
+
def test_multiply
|
28
|
+
str = 'atgc'.freeze
|
29
|
+
obj = TSeq.new(str)
|
30
|
+
val = obj * 3
|
31
|
+
assert_instance_of(TSeq, val)
|
32
|
+
assert_equal(TSeq.new(str * 3), val)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_chomp
|
36
|
+
[ "atgc\n".freeze, "atgc".freeze ].each do |str|
|
37
|
+
obj = TSeq.new(str)
|
38
|
+
val = obj.chomp
|
39
|
+
assert_instance_of(TSeq, val)
|
40
|
+
assert_equal(TSeq.new(str.chomp), val)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_chop
|
45
|
+
[ "atgc\n".freeze, "atgc".freeze ].each do |str|
|
46
|
+
obj = TSeq.new(str)
|
47
|
+
val = obj.chop
|
48
|
+
assert_instance_of(TSeq, val)
|
49
|
+
assert_equal(TSeq.new(str.chop), val)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_delete
|
54
|
+
str = "atgggc".freeze
|
55
|
+
obj = TSeq.new(str)
|
56
|
+
val = obj.delete("g")
|
57
|
+
assert_instance_of(TSeq, val)
|
58
|
+
assert_equal(TSeq.new("atc"), val)
|
59
|
+
end
|
60
|
+
|
61
|
+
if "string".respond_to?(:delete_prefix)
|
62
|
+
def test_delete_prefix
|
63
|
+
str = "atgggc".freeze
|
64
|
+
obj = TSeq.new(str)
|
65
|
+
val = obj.delete_prefix("atg")
|
66
|
+
assert_instance_of(TSeq, val)
|
67
|
+
assert_equal(TSeq.new("ggc"), val)
|
68
|
+
end
|
69
|
+
end #if "string".respond_to?(:delete_prefix)
|
70
|
+
|
71
|
+
|
72
|
+
if "string".respond_to?(:delete_suffix)
|
73
|
+
def test_delete_suffix
|
74
|
+
str = "atgggc".freeze
|
75
|
+
obj = TSeq.new(str)
|
76
|
+
val = obj.delete_suffix("ggc")
|
77
|
+
assert_instance_of(TSeq, val)
|
78
|
+
assert_equal(TSeq.new("atg"), val)
|
79
|
+
end
|
80
|
+
end #if "string".respond_to?(:delete_suffix)
|
81
|
+
|
82
|
+
def test_each_char
|
83
|
+
str = 'atgc'.freeze
|
84
|
+
ary = str.split(//)
|
85
|
+
obj = TSeq.new(str)
|
86
|
+
obj.each_char do |c|
|
87
|
+
assert_instance_of(TSeq, c)
|
88
|
+
assert_equal(TSeq.new(ary.shift), c)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_each_char_enum
|
93
|
+
str = 'atgc'.freeze
|
94
|
+
ary = str.split(//).collect { |c| TSeq.new(c) }
|
95
|
+
obj = TSeq.new(str)
|
96
|
+
e = obj.each_char
|
97
|
+
to_a = e.to_a
|
98
|
+
to_a.each { |c| assert_instance_of(TSeq, c) }
|
99
|
+
assert_equal(ary, to_a)
|
100
|
+
end
|
101
|
+
|
102
|
+
if "string".respond_to?(:each_grapheme_cluster)
|
103
|
+
def test_each_grapheme_cluster
|
104
|
+
str = 'atgc'.freeze
|
105
|
+
ary = str.split(//)
|
106
|
+
obj = TSeq.new(str)
|
107
|
+
obj.each_grapheme_cluster do |c|
|
108
|
+
assert_instance_of(TSeq, c)
|
109
|
+
assert_equal(TSeq.new(ary.shift), c)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def test_each_grapheme_cluster_enum
|
114
|
+
str = 'atgc'.freeze
|
115
|
+
ary = str.split(//).collect { |c| TSeq.new(c) }
|
116
|
+
obj = TSeq.new(str)
|
117
|
+
e = obj.each_grapheme_cluster
|
118
|
+
to_a = e.to_a
|
119
|
+
to_a.each { |c| assert_instance_of(TSeq, c) }
|
120
|
+
assert_equal(ary, to_a)
|
121
|
+
end
|
122
|
+
end #if "string".respond_to?(:each_grapheme_cluster)
|
123
|
+
|
124
|
+
def test_each_line
|
125
|
+
str = "aagtcgt\nttgctagc\nggtacagt\n".freeze
|
126
|
+
ary = str.each_line.to_a
|
127
|
+
obj = TSeq.new(str)
|
128
|
+
obj.each_line do |c|
|
129
|
+
assert_instance_of(TSeq, c)
|
130
|
+
assert_equal(TSeq.new(ary.shift), c)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
def test_each_line_enum
|
135
|
+
str = "aagtcgt\nttgctagc\nggtacagt\n".freeze
|
136
|
+
ary = str.each_line.collect { |x| TSeq.new(x) }
|
137
|
+
obj = TSeq.new(str)
|
138
|
+
e = obj.each_line
|
139
|
+
to_a = e.to_a
|
140
|
+
to_a.each { |x| assert_instance_of(TSeq, x) }
|
141
|
+
assert_equal(ary, to_a)
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_gsub
|
145
|
+
str = "aagtcgtaacaaggt".freeze
|
146
|
+
str2 = str.gsub(/aa/, "bb")
|
147
|
+
obj = TSeq.new(str)
|
148
|
+
val = obj.gsub(/aa/, "bb")
|
149
|
+
assert_instance_of(TSeq, val)
|
150
|
+
assert_equal(TSeq.new(str2), val)
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_sub
|
154
|
+
str = "aagtcgtaacaaggt".freeze
|
155
|
+
str2 = str.sub(/aa/, "bb")
|
156
|
+
obj = TSeq.new(str)
|
157
|
+
val = obj.sub(/aa/, "bb")
|
158
|
+
assert_instance_of(TSeq, val)
|
159
|
+
assert_equal(TSeq.new(str2), val)
|
160
|
+
end
|
161
|
+
|
162
|
+
def test_gsub_with_block
|
163
|
+
str = "aagtcgtaacaaggtaagt".freeze
|
164
|
+
str2 = str.gsub(/a(ag)/) { |x| "bb" }
|
165
|
+
obj = TSeq.new(str)
|
166
|
+
val = obj.gsub(/a(ag)/) do |x|
|
167
|
+
assert_equal("ag", $1)
|
168
|
+
assert_equal("aag", $&)
|
169
|
+
assert_equal(TSeq.new("aag"), x)
|
170
|
+
assert_instance_of(MatchData, Regexp.last_match)
|
171
|
+
assert_instance_of(TSeq, x)
|
172
|
+
"bb"
|
173
|
+
end
|
174
|
+
assert_instance_of(TSeq, val)
|
175
|
+
assert_equal(TSeq.new(str2), val)
|
176
|
+
end
|
177
|
+
|
178
|
+
def test_sub_with_block
|
179
|
+
str = "aagtcgtaacaaggtaagt".freeze
|
180
|
+
str2 = str.sub(/a(ag)/) { |x| "bb" }
|
181
|
+
obj = TSeq.new(str)
|
182
|
+
val = obj.sub(/a(ag)/) do |x|
|
183
|
+
assert_equal("ag", $1)
|
184
|
+
assert_equal("aag", $&)
|
185
|
+
assert_equal(TSeq.new("aag"), x)
|
186
|
+
assert_instance_of(MatchData, Regexp.last_match)
|
187
|
+
assert_instance_of(TSeq, x)
|
188
|
+
"bb"
|
189
|
+
end
|
190
|
+
assert_instance_of(TSeq, val)
|
191
|
+
assert_equal(TSeq.new(str2), val)
|
192
|
+
end
|
193
|
+
|
194
|
+
def test_ljust
|
195
|
+
str = "atgc".freeze
|
196
|
+
str2 = str.ljust(20, "xyz")
|
197
|
+
obj = TSeq.new(str)
|
198
|
+
val = obj.ljust(20, "xyz")
|
199
|
+
assert_instance_of(TSeq, val)
|
200
|
+
assert_equal(TSeq.new(str2), val)
|
201
|
+
end
|
202
|
+
|
203
|
+
def test_rjust
|
204
|
+
str = "atgc".freeze
|
205
|
+
str2 = str.rjust(20, "xyz")
|
206
|
+
obj = TSeq.new(str)
|
207
|
+
val = obj.rjust(20, "xyz")
|
208
|
+
assert_instance_of(TSeq, val)
|
209
|
+
assert_equal(TSeq.new(str2), val)
|
210
|
+
end
|
211
|
+
|
212
|
+
def test_center
|
213
|
+
str = "atgc".freeze
|
214
|
+
str2 = str.center(20, "xyz")
|
215
|
+
obj = TSeq.new(str)
|
216
|
+
val = obj.center(20, "xyz")
|
217
|
+
assert_instance_of(TSeq, val)
|
218
|
+
assert_equal(TSeq.new(str2), val)
|
219
|
+
end
|
220
|
+
|
221
|
+
def test_strip
|
222
|
+
str = " at gc\n".freeze
|
223
|
+
str2 = str.strip
|
224
|
+
obj = TSeq.new(str)
|
225
|
+
val = obj.strip
|
226
|
+
assert_instance_of(TSeq, val)
|
227
|
+
assert_equal(TSeq.new(str2), val)
|
228
|
+
end
|
229
|
+
|
230
|
+
def test_lstrip
|
231
|
+
str = " at gc\n".freeze
|
232
|
+
str2 = str.lstrip
|
233
|
+
obj = TSeq.new(str)
|
234
|
+
val = obj.lstrip
|
235
|
+
assert_instance_of(TSeq, val)
|
236
|
+
assert_equal(TSeq.new(str2), val)
|
237
|
+
end
|
238
|
+
|
239
|
+
def test_rstrip
|
240
|
+
str = " at gc\n".freeze
|
241
|
+
str2 = str.rstrip
|
242
|
+
obj = TSeq.new(str)
|
243
|
+
val = obj.rstrip
|
244
|
+
assert_instance_of(TSeq, val)
|
245
|
+
assert_equal(TSeq.new(str2), val)
|
246
|
+
end
|
247
|
+
|
248
|
+
def test_split
|
249
|
+
str = "aagtcgta".freeze
|
250
|
+
ary = str.split("gt").collect { |x| TSeq.new(x) }
|
251
|
+
obj = TSeq.new(str)
|
252
|
+
val = obj.split("gt")
|
253
|
+
val.each do |x|
|
254
|
+
assert_instance_of(TSeq, x)
|
255
|
+
end
|
256
|
+
assert_equal(ary, val)
|
257
|
+
end
|
258
|
+
|
259
|
+
def test_reverse
|
260
|
+
str = "aagtttcca".freeze
|
261
|
+
str2 = str.reverse
|
262
|
+
obj = TSeq.new(str)
|
263
|
+
val = obj.reverse
|
264
|
+
assert_instance_of(TSeq, val)
|
265
|
+
assert_equal(TSeq.new(str2), val)
|
266
|
+
end
|
267
|
+
|
268
|
+
def test_squeeze
|
269
|
+
str = "aagtttcca".freeze
|
270
|
+
str2 = str.squeeze
|
271
|
+
obj = TSeq.new(str)
|
272
|
+
val = obj.squeeze
|
273
|
+
assert_instance_of(TSeq, val)
|
274
|
+
assert_equal(TSeq.new(str2), val)
|
275
|
+
end
|
276
|
+
|
277
|
+
def test_succ
|
278
|
+
str = "aagt".freeze
|
279
|
+
str2 = str.succ
|
280
|
+
obj = TSeq.new(str)
|
281
|
+
val = obj.succ
|
282
|
+
assert_instance_of(TSeq, val)
|
283
|
+
assert_equal(TSeq.new(str2), val)
|
284
|
+
end
|
285
|
+
|
286
|
+
def test_next
|
287
|
+
str = "aagt".freeze
|
288
|
+
str2 = str.next
|
289
|
+
obj = TSeq.new(str)
|
290
|
+
val = obj.next
|
291
|
+
assert_instance_of(TSeq, val)
|
292
|
+
assert_equal(TSeq.new(str2), val)
|
293
|
+
end
|
294
|
+
|
295
|
+
def test_capitalize
|
296
|
+
str = "aacgt".freeze
|
297
|
+
str2 = str.capitalize
|
298
|
+
obj = TSeq.new(str)
|
299
|
+
val = obj.capitalize
|
300
|
+
assert_instance_of(TSeq, val)
|
301
|
+
assert_equal(TSeq.new(str2), val)
|
302
|
+
end
|
303
|
+
|
304
|
+
def test_upcase
|
305
|
+
str = "aacgt".freeze
|
306
|
+
str2 = str.upcase
|
307
|
+
obj = TSeq.new(str)
|
308
|
+
val = obj.upcase
|
309
|
+
assert_instance_of(TSeq, val)
|
310
|
+
assert_equal(TSeq.new(str2), val)
|
311
|
+
end
|
312
|
+
|
313
|
+
def test_downcase
|
314
|
+
str = "AACGT".freeze
|
315
|
+
str2 = str.downcase
|
316
|
+
obj = TSeq.new(str)
|
317
|
+
val = obj.downcase
|
318
|
+
assert_instance_of(TSeq, val)
|
319
|
+
assert_equal(TSeq.new(str2), val)
|
320
|
+
end
|
321
|
+
|
322
|
+
def test_swapcase
|
323
|
+
str = "AaCgT".freeze
|
324
|
+
str2 = str.swapcase
|
325
|
+
obj = TSeq.new(str)
|
326
|
+
val = obj.swapcase
|
327
|
+
assert_instance_of(TSeq, val)
|
328
|
+
assert_equal(TSeq.new(str2), val)
|
329
|
+
end
|
330
|
+
|
331
|
+
def test_tr
|
332
|
+
str = "acggt".freeze
|
333
|
+
str2 = str.tr("cg", "xy")
|
334
|
+
obj = TSeq.new(str)
|
335
|
+
val = obj.tr("cg", "xy")
|
336
|
+
assert_instance_of(TSeq, val)
|
337
|
+
assert_equal(TSeq.new(str2), val)
|
338
|
+
end
|
339
|
+
|
340
|
+
def test_tr_s
|
341
|
+
str = "acggt".freeze
|
342
|
+
str2 = str.tr("cg", "n")
|
343
|
+
obj = TSeq.new(str)
|
344
|
+
val = obj.tr("cg", "n")
|
345
|
+
assert_instance_of(TSeq, val)
|
346
|
+
assert_equal(TSeq.new(str2), val)
|
347
|
+
end
|
348
|
+
|
349
|
+
def test_slice
|
350
|
+
str = "aagtcgta".freeze
|
351
|
+
str2 = str.slice(3, 3)
|
352
|
+
obj = TSeq.new(str)
|
353
|
+
val = obj.slice(3, 3)
|
354
|
+
assert_instance_of(TSeq, val)
|
355
|
+
assert_equal(TSeq.new(str2), val)
|
356
|
+
end
|
357
|
+
|
358
|
+
def test_slice2
|
359
|
+
str = "aagtcgta".freeze
|
360
|
+
str2 = str[3, 3]
|
361
|
+
obj = TSeq.new(str)
|
362
|
+
val = obj[3, 3]
|
363
|
+
assert_instance_of(TSeq, val)
|
364
|
+
assert_equal(TSeq.new(str2), val)
|
365
|
+
end
|
366
|
+
end #class TestSequenceCommon
|
367
|
+
|
368
|
+
|
369
|
+
class TestSequenceCommonPartition < Test::Unit::TestCase
|
370
|
+
def test_partition
|
371
|
+
str = "atgatgagttctattcatc".freeze
|
372
|
+
sep = "ttc".freeze
|
373
|
+
a0 = str.partition(sep)
|
374
|
+
a1 = [ TSeq.new(a0[0]), a0[1], TSeq.new(a0[2]) ]
|
375
|
+
obj = TSeq.new(str)
|
376
|
+
val = obj.partition(sep)
|
377
|
+
assert_instance_of(TSeq, val[0])
|
378
|
+
assert_instance_of(String, val[1])
|
379
|
+
assert_instance_of(TSeq, val[2])
|
380
|
+
assert_equal(a1, val)
|
381
|
+
end
|
382
|
+
|
383
|
+
def test_partition_sep_TSeq
|
384
|
+
str = "atgatgagttctattcatc".freeze
|
385
|
+
sep = TSeq.new("ttc").freeze
|
386
|
+
a0 = str.partition(sep)
|
387
|
+
a1 = [ TSeq.new(a0[0]), a0[1], TSeq.new(a0[2]) ]
|
388
|
+
obj = TSeq.new(str)
|
389
|
+
val = obj.partition(sep)
|
390
|
+
val.each { |x| assert_instance_of(TSeq, x) }
|
391
|
+
assert_equal(a1, val)
|
392
|
+
end
|
393
|
+
|
394
|
+
def test_partition_sep_regexp
|
395
|
+
str = "atgatgagttctattcatc".freeze
|
396
|
+
sep = /ttc/
|
397
|
+
a1 = str.partition(sep).collect { |x| TSeq.new(x) }
|
398
|
+
obj = TSeq.new(str)
|
399
|
+
val = obj.partition(sep)
|
400
|
+
val.each { |x| assert_instance_of(TSeq, x) }
|
401
|
+
assert_equal(a1, val)
|
402
|
+
end
|
403
|
+
|
404
|
+
def test_partition_nomatch
|
405
|
+
str = "atgatgagttctattcatc".freeze
|
406
|
+
sep = "x".freeze
|
407
|
+
a1 = str.partition(sep).collect { |x| TSeq.new(x) }
|
408
|
+
obj = TSeq.new(str)
|
409
|
+
val = obj.partition(sep)
|
410
|
+
val.each { |x| assert_instance_of(TSeq, x) }
|
411
|
+
assert_equal(a1, val)
|
412
|
+
end
|
413
|
+
end #class TestSequenceCommonPartition
|
414
|
+
|
415
|
+
|
416
|
+
class TestSequenceCommonRpartition < Test::Unit::TestCase
|
417
|
+
def test_rpartition
|
418
|
+
str = "atgatgagttctattcatc".freeze
|
419
|
+
sep = "ttc".freeze
|
420
|
+
a0 = str.rpartition(sep)
|
421
|
+
a1 = [ TSeq.new(a0[0]), a0[1], TSeq.new(a0[2]) ]
|
422
|
+
obj = TSeq.new(str)
|
423
|
+
val = obj.rpartition(sep)
|
424
|
+
assert_instance_of(TSeq, val[0])
|
425
|
+
assert_instance_of(String, val[1])
|
426
|
+
assert_instance_of(TSeq, val[2])
|
427
|
+
assert_equal(a1, val)
|
428
|
+
end
|
429
|
+
|
430
|
+
def test_rpartition_sep_TSeq
|
431
|
+
str = "atgatgagttctattcatc".freeze
|
432
|
+
sep = TSeq.new("ttc").freeze
|
433
|
+
a0 = str.rpartition(sep)
|
434
|
+
a1 = [ TSeq.new(a0[0]), a0[1], TSeq.new(a0[2]) ]
|
435
|
+
obj = TSeq.new(str)
|
436
|
+
val = obj.rpartition(sep)
|
437
|
+
val.each { |x| assert_instance_of(TSeq, x) }
|
438
|
+
assert_equal(a1, val)
|
439
|
+
end
|
440
|
+
|
441
|
+
def test_rpartition_sep_regexp
|
442
|
+
str = "atgatgagttctattcatc".freeze
|
443
|
+
sep = /ttc/
|
444
|
+
a1 = str.rpartition(sep).collect { |x| TSeq.new(x) }
|
445
|
+
obj = TSeq.new(str)
|
446
|
+
val = obj.rpartition(sep)
|
447
|
+
val.each { |x| assert_instance_of(TSeq, x) }
|
448
|
+
assert_equal(a1, val)
|
449
|
+
end
|
450
|
+
|
451
|
+
def test_rpartition_nomatch
|
452
|
+
str = "atgatgagttctattcatc".freeze
|
453
|
+
sep = "x".freeze
|
454
|
+
a1 = str.rpartition(sep).collect { |x| TSeq.new(x) }
|
455
|
+
obj = TSeq.new(str)
|
456
|
+
val = obj.rpartition(sep)
|
457
|
+
val.each { |x| assert_instance_of(TSeq, x) }
|
458
|
+
assert_equal(a1, val)
|
459
|
+
end
|
460
|
+
end #class TestSequenceCommonRpartition
|
461
|
+
|
462
|
+
end; end #module Bio; module TestSequenceRuby3
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BioRuby project
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: BioRuby is a library for bioinformatics (biology + information science).
|
14
14
|
email: staff@bioruby.org
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- gemfiles/Gemfile.travis-rbx
|
66
66
|
- gemfiles/Gemfile.travis-ruby1.8
|
67
67
|
- gemfiles/Gemfile.travis-ruby1.9
|
68
|
+
- gemfiles/Gemfile.windows
|
68
69
|
- gemfiles/modify-Gemfile.rb
|
69
70
|
- gemfiles/prepare-gemspec.rb
|
70
71
|
- lib/bio.rb
|
@@ -80,7 +81,6 @@ files:
|
|
80
81
|
- lib/bio/appl/blast/rexml.rb
|
81
82
|
- lib/bio/appl/blast/rpsblast.rb
|
82
83
|
- lib/bio/appl/blast/wublast.rb
|
83
|
-
- lib/bio/appl/blast/xmlparser.rb
|
84
84
|
- lib/bio/appl/blat/report.rb
|
85
85
|
- lib/bio/appl/clustalw.rb
|
86
86
|
- lib/bio/appl/clustalw/report.rb
|
@@ -269,6 +269,7 @@ files:
|
|
269
269
|
- sample/any2fasta.rb
|
270
270
|
- sample/benchmark_clustalw_report.rb
|
271
271
|
- sample/biofetch.rb
|
272
|
+
- sample/color_scheme_aa.rb
|
272
273
|
- sample/color_scheme_na.rb
|
273
274
|
- sample/demo_aaindex.rb
|
274
275
|
- sample/demo_aminoacid.rb
|
@@ -307,6 +308,9 @@ files:
|
|
307
308
|
- sample/fasta2tab.rb
|
308
309
|
- sample/fastagrep.rb
|
309
310
|
- sample/fastasort.rb
|
311
|
+
- sample/fastq2html.cwl
|
312
|
+
- sample/fastq2html.rb
|
313
|
+
- sample/fastq2html.testdata.yaml
|
310
314
|
- sample/fsplit.rb
|
311
315
|
- sample/gb2fasta.rb
|
312
316
|
- sample/gb2tab.rb
|
@@ -318,16 +322,20 @@ files:
|
|
318
322
|
- sample/genome2tab.rb
|
319
323
|
- sample/goslim.rb
|
320
324
|
- sample/gt2fasta.rb
|
325
|
+
- sample/na2aa.cwl
|
321
326
|
- sample/na2aa.rb
|
327
|
+
- sample/na2aa.testdata.yaml
|
322
328
|
- sample/pmfetch.rb
|
323
329
|
- sample/pmsearch.rb
|
330
|
+
- sample/rev_comp.cwl
|
331
|
+
- sample/rev_comp.rb
|
332
|
+
- sample/rev_comp.testdata.yaml
|
324
333
|
- sample/seqdatabase.ini
|
325
334
|
- sample/ssearch2tab.rb
|
326
335
|
- sample/tdiary.rb
|
327
336
|
- sample/test_restriction_enzyme_long.rb
|
328
337
|
- sample/tfastx2tab.rb
|
329
338
|
- sample/vs-genes.rb
|
330
|
-
- setup.rb
|
331
339
|
- test/bioruby_test_helper.rb
|
332
340
|
- test/data/HMMER/hmmpfam.out
|
333
341
|
- test/data/HMMER/hmmsearch.out
|
@@ -463,6 +471,7 @@ files:
|
|
463
471
|
- test/network/bio/appl/blast/test_remote.rb
|
464
472
|
- test/network/bio/appl/test_blast.rb
|
465
473
|
- test/network/bio/appl/test_pts1.rb
|
474
|
+
- test/network/bio/db/kegg/test_genes_hsa7422.rb
|
466
475
|
- test/network/bio/io/test_pubmed.rb
|
467
476
|
- test/network/bio/io/test_togows.rb
|
468
477
|
- test/network/bio/test_command.rb
|
@@ -548,6 +557,7 @@ files:
|
|
548
557
|
- test/unit/bio/sequence/test_dblink.rb
|
549
558
|
- test/unit/bio/sequence/test_na.rb
|
550
559
|
- test/unit/bio/sequence/test_quality_score.rb
|
560
|
+
- test/unit/bio/sequence/test_ruby3.rb
|
551
561
|
- test/unit/bio/sequence/test_sequence_masker.rb
|
552
562
|
- test/unit/bio/test_alignment.rb
|
553
563
|
- test/unit/bio/test_command.rb
|
@@ -603,12 +613,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
603
613
|
version: '0'
|
604
614
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
605
615
|
requirements:
|
606
|
-
- - "
|
616
|
+
- - ">="
|
607
617
|
- !ruby/object:Gem::Version
|
608
|
-
version:
|
618
|
+
version: '0'
|
609
619
|
requirements: []
|
610
|
-
|
611
|
-
rubygems_version: 2.7.6
|
620
|
+
rubygems_version: 3.1.6
|
612
621
|
signing_key:
|
613
622
|
specification_version: 4
|
614
623
|
summary: Bioinformatics library
|