class Bio::LazyBlast::Report::Iteration

Attributes

message[R]
num[R]
parameters[R]
query_def[R]
query_id[R]
query_len[R]

Public Class Methods

new(reader) click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 70
def initialize(reader)
  @nodes = Enumerator.new do |yielder|
    until (reader.name == "Iteration" 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_iteration_values
end

Public Instance Methods

each() { |hit| ... } click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 97
def each
  @nodes.each{|node| yield Hit.new(node) if node.name == "Hit"}
end
Also aliased as: each_hit
each_hit()
Alias for: each
setup_iteration_values() click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 79
def setup_iteration_values
  @nodes.each do |node|
    return if node.name == 'Iteration_hits'
    case node.name
    when 'Iteration_iter-num'
      @num = node.read_inner_xml.to_i
    when 'Iteration_query-ID'
      @query_id = node.read_inner_xml
    when 'Iteration_query-def'
      @query_def = node.read_inner_xml
    when 'Iteration_query-len'
      @query_len = node.read_inner_xml.to_i
    when 'Iteration_message'
      @message = node.read_inner_xml
    end
  end
end