bio 1.6.0.pre.20181210 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +32 -34
  3. data/ChangeLog +1462 -8
  4. data/Gemfile +0 -2
  5. data/KNOWN_ISSUES.rdoc +4 -10
  6. data/LEGAL +0 -10
  7. data/README.rdoc +31 -80
  8. data/README_DEV.rdoc +5 -5
  9. data/RELEASE_NOTES.rdoc +171 -18
  10. data/Rakefile +0 -34
  11. data/appveyor.yml +15 -7
  12. data/bioruby.gemspec +13 -4
  13. data/bioruby.gemspec.erb +0 -1
  14. data/gemfiles/Gemfile.travis-rbx +0 -2
  15. data/gemfiles/Gemfile.travis-ruby1.8 +0 -2
  16. data/gemfiles/Gemfile.travis-ruby1.9 +0 -2
  17. data/gemfiles/Gemfile.windows +6 -0
  18. data/lib/bio/appl/blast/report.rb +40 -8
  19. data/lib/bio/appl/iprscan/report.rb +3 -3
  20. data/lib/bio/appl/sosui/report.rb +1 -1
  21. data/lib/bio/db/embl/uniprotkb.rb +1 -1
  22. data/lib/bio/db/gff.rb +3 -1
  23. data/lib/bio/db/go.rb +2 -2
  24. data/lib/bio/db/kegg/common.rb +14 -0
  25. data/lib/bio/db/kegg/genes.rb +26 -0
  26. data/lib/bio/db/kegg/pathway.rb +5 -11
  27. data/lib/bio/sequence/common.rb +112 -0
  28. data/lib/bio/sequence/format.rb +1 -0
  29. data/lib/bio/tree.rb +1 -1
  30. data/lib/bio/version.rb +3 -3
  31. data/sample/color_scheme_aa.rb +82 -0
  32. data/sample/color_scheme_na.rb +5 -6
  33. data/sample/fastq2html.cwl +23 -0
  34. data/sample/fastq2html.rb +94 -0
  35. data/sample/fastq2html.testdata.yaml +5 -0
  36. data/sample/na2aa.cwl +23 -0
  37. data/sample/na2aa.rb +11 -25
  38. data/sample/na2aa.testdata.yaml +7 -0
  39. data/sample/rev_comp.cwl +23 -0
  40. data/sample/rev_comp.rb +20 -0
  41. data/sample/rev_comp.testdata.yaml +7 -0
  42. data/test/network/bio/db/kegg/test_genes_hsa7422.rb +91 -0
  43. data/test/unit/bio/appl/blast/test_report.rb +4 -4
  44. data/test/unit/bio/db/test_gff.rb +5 -0
  45. data/test/unit/bio/sequence/test_ruby3.rb +462 -0
  46. metadata +17 -8
  47. data/lib/bio/appl/blast/xmlparser.rb +0 -236
  48. data/setup.rb +0 -1600
@@ -1,236 +0,0 @@
1
- #
2
- # = bio/appl/blast/xmlparser.rb - BLAST XML output (-m 7) parser by XMLParser
3
- #
4
- # Copyright:: Copyright (C) 2001
5
- # Mitsuteru C. Nakao <n@bioruby.org>
6
- # Copyright:: Copyright (C) 2003
7
- # Toshiaki Katayama <k@bioruby.org>
8
- # License:: The Ruby License
9
- #
10
- # $Id:$
11
- #
12
- # == Description
13
- #
14
- # A parser for blast XML report (format 7) based on the XMLParser.
15
- # This file is automatically loaded by bio/appl/blast/report.rb if
16
- # the XMLParser installed.
17
- #
18
- # BioRuby provides two implements of the paser for the blast XML format report
19
- # (format 7) based on the XMLParser and the REXML.
20
- #
21
-
22
- begin
23
- require 'xmlparser'
24
- rescue LoadError
25
- end
26
-
27
- module Bio
28
- class Blast
29
- class Report
30
-
31
- private
32
-
33
- def xmlparser_parse(xml)
34
- parser = XMLParser.new
35
- def parser.default; end
36
-
37
- begin
38
- tag_stack = Array.new
39
- hash = Hash.new
40
-
41
- parser.parse(xml) do |type, name, data|
42
- case type
43
- when XMLParser::START_ELEM
44
- tag_stack.push(name)
45
- hash.update(data)
46
- case name
47
- when 'Iteration'
48
- iteration = Iteration.new
49
- @iterations.push(iteration)
50
- when 'Hit'
51
- hit = Hit.new
52
- hit.query_id = @query_id
53
- hit.query_def = @query_def
54
- hit.query_len = @query_len
55
- @iterations.last.hits.push(hit)
56
- when 'Hsp'
57
- hsp = Hsp.new
58
- @iterations.last.hits.last.hsps.push(hsp)
59
- end
60
- when XMLParser::END_ELEM
61
- case name
62
- when /^BlastOutput/
63
- xmlparser_parse_program(name,hash)
64
- hash = Hash.new
65
- when /^Parameters$/
66
- xmlparser_parse_parameters(hash)
67
- hash = Hash.new
68
- when /^Iteration/
69
- xmlparser_parse_iteration(name, hash)
70
- hash = Hash.new
71
- when /^Hit/
72
- xmlparser_parse_hit(name, hash)
73
- hash = Hash.new
74
- when /^Hsp$/
75
- xmlparser_parse_hsp(hash)
76
- hash = Hash.new
77
- when /^Statistics$/
78
- xmlparser_parse_statistics(hash)
79
- hash = Hash.new
80
- end
81
- tag_stack.pop
82
- when XMLParser::CDATA
83
- if hash[tag_stack.last].nil?
84
- hash[tag_stack.last] = data unless data.strip.empty?
85
- else
86
- hash[tag_stack.last].concat(data) if data
87
- end
88
- when XMLParser::PI
89
- end
90
- end
91
- rescue XMLParserError
92
- line = parser.line
93
- column = parser.column
94
- print "Parse error at #{line}(#{column}) : #{$!}\n"
95
- end
96
- end
97
-
98
-
99
- def xmlparser_parse_program(tag, hash)
100
- case tag
101
- when 'BlastOutput_program'
102
- @program = hash[tag]
103
- when 'BlastOutput_version'
104
- @version = hash[tag]
105
- when 'BlastOutput_reference'
106
- @reference = hash[tag]
107
- when 'BlastOutput_db'
108
- @db = hash[tag].strip
109
- when 'BlastOutput_query-ID'
110
- @query_id = hash[tag]
111
- when 'BlastOutput_query-def'
112
- @query_def = hash[tag]
113
- when 'BlastOutput_query-len'
114
- @query_len = hash[tag].to_i
115
- end
116
- end
117
-
118
- # set parameter of the key as val
119
- def xml_set_parameter(key, val)
120
- #labels = {
121
- # 'matrix' => 'Parameters_matrix',
122
- # 'expect' => 'Parameters_expect',
123
- # 'include' => 'Parameters_include',
124
- # 'sc-match' => 'Parameters_sc-match',
125
- # 'sc-mismatch' => 'Parameters_sc-mismatch',
126
- # 'gap-open' => 'Parameters_gap-open',
127
- # 'gap-extend' => 'Parameters_gap-extend',
128
- # 'filter' => 'Parameters_filter',
129
- # 'pattern' => 'Parameters_pattern',
130
- # 'entrez-query' => 'Parameters_entrez-query',
131
- #}
132
- k = key.sub(/\AParameters\_/, '')
133
- @parameters[k] =
134
- case k
135
- when 'expect', 'include'
136
- val.to_f
137
- when /\Agap\-/, /\Asc\-/
138
- val.to_i
139
- else
140
- val
141
- end
142
- end
143
-
144
- def xmlparser_parse_parameters(hash)
145
- hash.each do |k, v|
146
- xml_set_parameter(k, v)
147
- end
148
- end
149
-
150
- def xmlparser_parse_iteration(tag, hash)
151
- case tag
152
- when 'Iteration_iter-num'
153
- @iterations.last.num = hash[tag].to_i
154
- when 'Iteration_message'
155
- @iterations.last.message = hash[tag].to_s
156
-
157
- # for new BLAST XML format
158
- when 'Iteration_query-ID'
159
- @iterations.last.query_id = hash[tag].to_s
160
- when 'Iteration_query-def'
161
- @iterations.last.query_def = hash[tag].to_s
162
- when 'Iteration_query-len'
163
- @iterations.last.query_len = hash[tag].to_i
164
- end
165
- end
166
-
167
- def xmlparser_parse_hit(tag, hash)
168
- hit = @iterations.last.hits.last
169
- case tag
170
- when 'Hit_num'
171
- hit.num = hash[tag].to_i
172
- when 'Hit_id'
173
- hit.hit_id = hash[tag].clone
174
- when 'Hit_def'
175
- hit.definition = hash[tag].clone
176
- when 'Hit_accession'
177
- hit.accession = hash[tag].clone
178
- when 'Hit_len'
179
- hit.len = hash[tag].clone.to_i
180
- end
181
- end
182
-
183
- def xmlparser_parse_hsp(hash)
184
- hsp = @iterations.last.hits.last.hsps.last
185
- hsp.num = hash['Hsp_num'].to_i
186
- hsp.bit_score = hash['Hsp_bit-score'].to_f
187
- hsp.score = hash['Hsp_score'].to_i
188
- hsp.evalue = hash['Hsp_evalue'].to_f
189
- hsp.query_from = hash['Hsp_query-from'].to_i
190
- hsp.query_to = hash['Hsp_query-to'].to_i
191
- hsp.hit_from = hash['Hsp_hit-from'].to_i
192
- hsp.hit_to = hash['Hsp_hit-to'].to_i
193
- hsp.pattern_from = hash['Hsp_pattern-from'].to_i
194
- hsp.pattern_to = hash['Hsp_pattern-to'].to_i
195
- hsp.query_frame = hash['Hsp_query-frame'].to_i
196
- hsp.hit_frame = hash['Hsp_hit-frame'].to_i
197
- hsp.identity = hash['Hsp_identity'].to_i
198
- hsp.positive = hash['Hsp_positive'].to_i
199
- hsp.gaps = hash['Hsp_gaps'].to_i
200
- hsp.align_len = hash['Hsp_align-len'].to_i
201
- hsp.density = hash['Hsp_density'].to_i
202
- hsp.qseq = hash['Hsp_qseq']
203
- hsp.hseq = hash['Hsp_hseq']
204
- hsp.midline = hash['Hsp_midline']
205
- end
206
-
207
- def xmlparser_parse_statistics(hash)
208
- labels = {
209
- 'db-num' => 'Statistics_db-num',
210
- 'db-len' => 'Statistics_db-len',
211
- 'hsp-len' => 'Statistics_hsp-len',
212
- 'eff-space' => 'Statistics_eff-space',
213
- 'kappa' => 'Statistics_kappa',
214
- 'lambda' => 'Statistics_lambda',
215
- 'entropy' => 'Statistics_entropy'
216
- }
217
- labels.each do |k,v|
218
- case k
219
- when 'db-num', 'db-len', 'hsp-len'
220
- @iterations.last.statistics[k] = hash[v].to_i
221
- else
222
- @iterations.last.statistics[k] = hash[v].to_f
223
- end
224
- end
225
- end
226
-
227
- end # class Report
228
- end # class Blast
229
- end # module Bio
230
-
231
-
232
- =begin
233
-
234
- This file is automatically loaded by bio/appl/blast/report.rb
235
-
236
- =end