| Class | Bio::Blat::Report |
| In: |
lib/bio/appl/blat/report.rb
(CVS)
|
| Parent: | Object |
Bio::Blat::Report is a BLAT report parser class. Its object may contain some Bio::Blat::Report::Hits objects.
In BLAT results, the start position of a sequnece is numbered as 0. On the other hand, in many other homology search programs, the start position of a sequence is numbered as 1. To keep compatibility, the BLAT parser adds 1 to every position number except Bio::Blat::Report::Seqdesc and some Bio::Blat specific methods.
Note that Bio::Blat::Report#query_def, query_id, query_len methods simply return first hit‘s query_*. If multiple query sequences are given, these values will be incorrect.
| DELIMITER | = | RS = nil | Delimiter of each entry. Bio::FlatFile uses it. In Bio::Blat::Report, it it nil (1 entry 1 file). |
| columns | [R] | Returns descriptions of columns. Returns an Array. This would be a Bio::Blat specific method. |
| hits | [R] | hits of the result. Returns an Array of Bio::Blat::Report::Hit objects. |
| psl_version | [R] | version of the psl format (String or nil). |
Creates a new Bio::Blat::Report object from BLAT result text (String). You can use Bio::FlatFile to read a file. Currently, results created with options -out=psl (default) or -out=pslx are supported.
# File lib/bio/appl/blat/report.rb, line 53 def initialize(text) flag = false head = [] @hits = [] text.each do |line| if flag then @hits << Hit.new(line) else # for headerless data if /^\d/ =~ line then flag = true redo end line = line.chomp if /\A\-+\s*\z/ =~ line flag = true else head << line end end end @columns = parse_header(head) end
Iterates over each Bio::Blat::Report::Hit object. Same as hits.each.
# File lib/bio/appl/blat/report.rb, line 455 def each_hit(&x) #:yields: hit @hits.each(&x) end
Returns number of hits. Same as hits.size.
# File lib/bio/appl/blat/report.rb, line 451 def num_hits; @hits.size; end
Returns the name of query sequence. CAUTION: query_* methods simply return first hit‘s query_*. If multiple query sequences are given, these values will be incorrect.
# File lib/bio/appl/blat/report.rb, line 464 def query_def; (x = @hits.first) ? x.query_def : nil; end