Sha256: eb192aa47f99704f3c0fd47d4987013563c28d68d3a9204cfa1ebcc54b0babd4

Contents?: true

Size: 1.23 KB

Versions: 26

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

require 'mspire/spectrum'

describe Mspire::Spectrum do

  describe 'useful utilities' do
    subject { Mspire::Spectrum.new [ [10.1, 10.5, 10.7, 11.5], [1, 2, 3, 4] ] }
    it 'finds the nearest m/z or index' do

      queries = {
        10.4 => 1,
        10.5 => 1,
        10.6 => 1,
        10.61 => 2,
        -100.0 => 0,
        200.0 => 3,
      }
      queries.each {|mz, exp_i| subject.find_nearest_index(mz).should == exp_i }

      all = Hash[ queries.map {|k,v| [k,[v]] } ]
      all[10.6] = [1,2]
      all.each {|mz, exp_mz| subject.find_all_nearest_index(mz).should == exp_mz }

      queries = { 
        10.4 => 10.5,
        10.5 => 10.5,
        10.6 => 10.5,
        10.61 => 10.7,
        -100.0 => 10.1,
        200.0 => 11.5,
      }
      queries.each {|mz, exp_mz| subject.find_nearest(mz).should == exp_mz }

      all = Hash[ queries.map {|k,v| [k,[v]] } ]
      all[10.6] = [10.5, 10.7]
      all.each {|mz, exp_mz| subject.find_all_nearest(mz).should == exp_mz }
    end

    it 'can sort itself by m/z' do
      spec = Mspire::Spectrum.new [[10.5, 10.1, 11.5, 10.7], [2, 1, 4, 3]]
      spec.sort!
      spec.mzs.should == subject.mzs
      spec.intensities.should == subject.intensities
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
mspire-0.10.4 spec/mspire/spectrum_spec.rb
mspire-0.10.3 spec/mspire/spectrum_spec.rb
mspire-0.10.2 spec/mspire/spectrum_spec.rb
mspire-0.10.1 spec/mspire/spectrum_spec.rb
mspire-0.10.0 spec/mspire/spectrum_spec.rb
mspire-0.9.2 spec/mspire/spectrum_spec.rb
mspire-0.9.1 spec/mspire/spectrum_spec.rb
mspire-0.9.0 spec/mspire/spectrum_spec.rb
mspire-0.8.7 spec/mspire/spectrum_spec.rb
mspire-0.8.6.2 spec/mspire/spectrum_spec.rb
mspire-0.8.6.1 spec/mspire/spectrum_spec.rb
mspire-0.8.6 spec/mspire/spectrum_spec.rb
mspire-0.8.5 spec/mspire/spectrum_spec.rb
mspire-0.8.4 spec/mspire/spectrum_spec.rb
mspire-0.8.3 spec/mspire/spectrum_spec.rb
mspire-0.8.2 spec/mspire/spectrum_spec.rb
mspire-0.8.1 spec/mspire/spectrum_spec.rb
mspire-0.8.0 spec/mspire/spectrum_spec.rb
mspire-0.7.18 spec/mspire/spectrum_spec.rb
mspire-0.7.17 spec/mspire/spectrum_spec.rb