class Bio::LazyBlast::Report::Iteration::Hit

Attributes

accession[R]
definition[R]
hit_id[R]
len[R]
num[R]

Public Class Methods

new(reader) click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 106
def initialize(reader)
  @nodes = Enumerator.new do |yielder|
    until (reader.name == "Hit" and reader.node_type == LibXML::XML::Reader::TYPE_END_ELEMENT) or !reader.read
      yielder << reader if reader.node_type == LibXML::XML::Reader::TYPE_ELEMENT
    end
  end
  setup_hit_values
end

Public Instance Methods

each() { |hsp| ... } click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 133
def each
  @nodes.each{|node| yield Hsp.new(node) if node.name == "Hsp"}
end
Also aliased as: each_hsp
each_hsp()
Alias for: each
setup_hit_values() click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 115
def setup_hit_values
  @nodes.each do |node|
    return if node.name == 'Hit_hsps'
    case node.name
    when 'Hit_num'
      @num = node.read_inner_xml.to_i
    when 'Hit_id'
      @hit_id = node.read_inner_xml.to_i
    when 'Hit_def'
      @definition = node.read_inner_xml
    when 'Hit_accession'
      @accession = node.read_inner_xml
    when 'Hit_len'
      @len = node.read_inner_xml
    end
  end
end