Sha256: 6662687129248176a39e92106e2a7e2ac3b45d582794036c52db8f01fb172ccd
Contents?: true
Size: 1.37 KB
Versions: 25
Compression:
Stored size: 1.37 KB
Contents
module Mspire class Mzml # the array holds start bytes class Index < Array # the name of the index (as a symbol) attr_accessor :name # a parallel array of ids (idRef's) attr_accessor :ids # @return [Integer] the start byte of the spectrum # @param [Object] an Integer (the index number) or String (an id string) def start_byte(arg) case arg when Integer self[arg] when String @id_index ||= create_id_index @id_index[arg] end end # generates a scan to index hash that points from scan number to the # spectrum index number. returns the index, nil if the scan ids # are not present and spectra are, or false if they are not unique. def create_scan_to_index scan_re = /scan=(\d+)/ scan_to_index = {} ids.each_with_index do |id, index| md = id.match(scan_re) scan_num = md[1].to_i if md if scan_num if scan_to_index.key?(scan_num) return false else scan_to_index[scan_num] = index end end end if scan_to_index.size > 0 scan_to_index elsif ids.size > 0 nil # there are scans, but we did not find scan numbers else scan_to_index end end end end end
Version data entries
25 entries across 25 versions & 1 rubygems