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.

Methods

each   each_hit   new   num_hits   query_def   query_id   query_len  

Classes and Modules

Class Bio::Blat::Report::Hit
Class Bio::Blat::Report::SegmentPair
Class Bio::Blat::Report::SeqDesc

Constants

DELIMITER = RS = nil   Delimiter of each entry. Bio::FlatFile uses it. In Bio::Blat::Report, it it nil (1 entry 1 file).

Attributes

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).

Public Class methods

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.

[Source]

# 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

Public Instance methods

each()

Alias for each_hit

Iterates over each Bio::Blat::Report::Hit object. Same as hits.each.

[Source]

# 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.

[Source]

# 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.

[Source]

# File lib/bio/appl/blat/report.rb, line 464
      def query_def; (x = @hits.first) ? x.query_def : nil; end
query_id()

Alias for query_def

Returns the length of query sequence. CAUTION: query_* methods simply return first hit‘s query_*. If multiple query sequences are given, these values will be incorrect.

[Source]

# File lib/bio/appl/blat/report.rb, line 470
      def query_len; (x = @hits.first) ? x.query_len : nil; end

[Validate]