class MzID::ParserSax::PeptideHandler

handler for Peptide elements

Constants

ATTR

Attributes

mod_h[RW]
pbar[RW]
pep_h[RW]

Public Class Methods

new(num_pep=nil) click to toggle source
# File lib/mzid/parser_sax.rb, line 79
def initialize(num_pep=nil)
  @pbar = num_pep.nil? ? nil : ProgressBar.new("Peptides", num_pep)
  @pep_h = Hash.new
  @mod_h = Hash.new
end

Public Instance Methods

attr(name, value) click to toggle source
# File lib/mzid/parser_sax.rb, line 93
def attr(name, value)
  return unless ATTR.include?(@curr_node)
  @h[name] = value if @curr_node != :Modification
  @mh.push(value) if @curr_node == :Modification
end
end_element(name) click to toggle source
# File lib/mzid/parser_sax.rb, line 104
def end_element(name)
  return unless name == :Peptide
  @pbar.inc if !@pbar.nil?
  @pep_h[@h[:id].to_sym] = @h[:PeptideSequence]
  if !@mh.empty? then
    @mod_h[@h[:id].to_sym] = {}
    (1..@mh.size-1).step(2) do |i|
      @mod_h[@h[:id].to_sym][@mh[i].to_i] = @mh[i-1]
    end
  end
end
start_element(name) click to toggle source
# File lib/mzid/parser_sax.rb, line 87
def start_element(name)
  @h = {} if name == :Peptide
  @mh = [] if name == :Peptide
  @curr_node = name
end
text(value) click to toggle source
# File lib/mzid/parser_sax.rb, line 99
def text(value)
  return unless ATTR.include?(@curr_node)
  @h[@curr_node] = value
end