class Bio::LazyBlast::Report

Attributes

db[R]
program[R]
query_def[R]
query_id[R]
query_len[R]
statistics[R]
version[R]

Public Class Methods

new(filename) click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 9
def initialize(filename)
  @filename = filename
  @reader = LibXML::XML::Reader.file(@filename)
  @nodes = Enumerator.new do |yielder|
    while @reader.read 
      yielder << @reader if @reader.node_type == LibXML::XML::Reader::TYPE_ELEMENT
    end
  end
  setup_report_values
end

Public Instance Methods

each() { |iteration| ... } click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 51
def each
  @nodes.each{|node| yield Iteration.new(node) if node.name == "Iteration"}
end
Also aliased as: each_iteration
each_iteration()
Alias for: each
rewind() click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 56
def rewind
  @reader.close
  @reader = LibXML::XML::Reader.file(@filename)
  @nodes = Enumerator.new do |yielder|
    while @reader.read 
      yielder << @reader if @reader.node_type == LibXML::XML::Reader::TYPE_ELEMENT
    end
  end
end
setup_report_values() click to toggle source
# File lib/bio/appl/blast/lazyblastxml.rb, line 20
def setup_report_values
  @statistics = Hash.new
  @nodes.each do |node|
    return if node.name == "BlastOutput_iterations"
    case node.name
    when 'BlastOutput_program'
      @program = node.read_inner_xml
    when 'BlastOutput_version'
      @version = node.read_inner_xml
    when 'BlastOutput_db'
      @db = node.read_inner_xml
    when 'BlastOutput_query-ID'
      @query_id = node.read_inner_xml
    when 'BlastOutput_query-def'
      @query_def = node.read_inner_xml
    when 'BlastOutput_query-len'
      @query_len = node.read_inner_xml.to_i
    when 'Parameters_matrix'
      @statistics['matrix'] = node.read_inner_xml
    when 'Parameters_expect'
      @statistics['expect'] = node.read_inner_xml.to_i
    when 'Parameters_gap-open'
      @statistics['gap-open'] = node.read_inner_xml.to_i
    when 'Parameters_gap-extend'
      @statistics['gap-extend'] = node.read_inner_xml.to_i
    when 'Parameters_filter'
      @statistics['filter'] = node.read_inner_xml
    end
  end
end