Method: Bio::GCG::Msf#validate_checksum

Defined in:
lib/bio/appl/gcg/msf.rb

#validate_checksumObject

validates checksum



188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
# File 'lib/bio/appl/gcg/msf.rb', line 188

def validate_checksum
  do_parse
  valid = true
  total = 0
  @seq_data.each_with_index do |x, i|
    sum = Bio::GCG::Seq.calc_checksum(x)
    if sum != @seq_info[i]['Check'].to_i
      valid = false
      break
    end
    total += sum
  end
  return false unless valid
  if @checksum != 0 # "Check:" field of BioPerl is always 0
    valid = ((total % 10000) == @checksum)
  end
  valid
end