module Mspire::MolecularFormula::Mass

Public Instance Methods

avg_mass(consider_electron_masses = true) click to toggle source
# File lib/mspire/molecular_formula/mass.rb, line 16
def avg_mass(consider_electron_masses = true)
  mss = inject(0.0) {|sum,(el,cnt)| sum + (Mspire::Mass::Element::AVG_STRING[el.to_s]*cnt) }
  mss -= (Mspire::Mass::ELECTRON * charge) if consider_electron_masses
  mss
end
mass(consider_electron_masses = true) click to toggle source

gives the monoisotopic mass adjusted by the current charge (i.e., adds/subtracts electron masses for the charges)

# File lib/mspire/molecular_formula/mass.rb, line 8
def mass(consider_electron_masses = true)
  mss = inject(0.0) do |sum,(el,cnt)| 
    sum + (Mspire::Mass::Element::MONO_STRING[el.to_s]*cnt)
  end
  mss -= (Mspire::Mass::ELECTRON * charge) if consider_electron_masses
  mss
end
mz(consider_electron_masses = true, negative_mz_allowed = true) click to toggle source

the mass to charge ratio (m/z) returns nil if the charge == 0

# File lib/mspire/molecular_formula/mass.rb, line 24
def mz(consider_electron_masses = true, negative_mz_allowed = true)
  if charge == 0
    nil
  else
    mass(consider_electron_masses) / (negative_mz_allowed ? charge : charge.abs)
  end
end