module Ms::Calc

Public Instance Methods

ppm_range_at(mz, ppm) click to toggle source
# File lib/ms/calc.rb, line 18
def ppm_range_at(mz, ppm)
  mz = mz.to_f
  tol = ppm_tol_at(mz, ppm)
  mz-tol...mz+tol
end
ppm_span_at(mz, ppm) click to toggle source
# File lib/ms/calc.rb, line 13
def ppm_span_at(mz, ppm)
  tol = ppm_tol_at(mz, ppm)
  [mz-tol, mz+tol]
end
ppm_tol_at(mz, ppm) click to toggle source

ppm calculations… maybe use RUnit

# File lib/ms/calc.rb, line 9
def ppm_tol_at(mz, ppm)
  1.0 * mz * ppm / 10**6
end
round(n, precision) click to toggle source

Rounds n to the specified precision (ie number of decimal places)

# File lib/ms/calc.rb, line 25
def round(n, precision)
  factor = 10**precision.to_i
  (n * factor).round.to_f / factor
end