Class: MzID::ParserSax::PeptideEventHandler

Inherits:
Ox::Sax
  • Object
show all
Defined in:
lib/mzid/parser_sax.rb

Overview

handler for PeptideEvent elements

Constant Summary collapse

ATTR_MAP =
[:post, :pre, :start, :end, :peptide_ref, :dBSequence_ref, :id, :isDecoy]
ATTR =
[:PeptideEvidence]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dbseq_h, num_pepev = nil) ⇒ PeptideEventHandler

Returns a new instance of PeptideEventHandler.



122
123
124
125
126
# File 'lib/mzid/parser_sax.rb', line 122

def initialize(dbseq_h, num_pepev=nil)
  @dbseq_h = dbseq_h
  @pep_ev_h = Hash.new
  @pbar = num_pepev.nil? ? nil : ProgressBar.new("PepEv", num_pepev)
end

Instance Attribute Details

#pbarObject

Returns the value of attribute pbar.



128
129
130
# File 'lib/mzid/parser_sax.rb', line 128

def pbar
  @pbar
end

#pep_ev_hObject

Returns the value of attribute pep_ev_h.



128
129
130
# File 'lib/mzid/parser_sax.rb', line 128

def pep_ev_h
  @pep_ev_h
end

Instance Method Details

#attr(name, value) ⇒ Object



135
136
137
138
# File 'lib/mzid/parser_sax.rb', line 135

def attr(name, value)
  return unless ATTR.include?(@curr_node)
  @h[name] = value if ATTR_MAP.include?(name)
end

#end_element(name) ⇒ Object



140
141
142
143
144
145
146
147
148
149
150
# File 'lib/mzid/parser_sax.rb', line 140

def end_element(name)
  return unless name == :PeptideEvidence
  @pbar.inc if !@pbar.nil?
  @pep_ev_h[@h[:id].to_sym] =  
    PeptideEvidence.new(:db_seq_ref => @h[:dBSequence_ref].to_sym,
                        :pep_id => @h[:peptide_ref].to_sym,
                        :start_pos => @h[:start],
                        :end_pos => @h[:end],
                        :prot_id => @dbseq_h[@h[:dBSequence_ref].to_sym],
                        :is_decoy => @h[:isDecoy])
end

#start_element(name) ⇒ Object



130
131
132
133
# File 'lib/mzid/parser_sax.rb', line 130

def start_element(name)
  @h = {} if name == :PeptideEvidence
  @curr_node = name
end