class Qu::Pcr::VirtualGel

Constants

PARA

Public Class Methods

cal_mobility(size, gel_conc=1.0, ref_mobility=50) click to toggle source
# File lib/qu/pcr.rb, line 80
def self.cal_mobility(size, gel_conc=1.0, ref_mobility=50)
  a, b, k = get_para(gel_conc)
  return ((a - b * Math.log(size + k)) * ref_mobility.to_f).round(2)
end
cal_size(mobility, gel_conc=1.0, ref_mobility=50) click to toggle source
# File lib/qu/pcr.rb, line 85
def self.cal_size(mobility, gel_conc=1.0, ref_mobility=50)
  a, b, k = get_para(gel_conc)
  return (Math.exp((a - mobility / ref_mobility.to_f) / b) - k).round
end
cal_size_range(size, offset=2, gel_conc=1.0, ref_mobility=50) click to toggle source
# File lib/qu/pcr.rb, line 90
def self.cal_size_range(size, offset=2, gel_conc=1.0, ref_mobility=50)
  y = cal_mobility(size, gel_conc, ref_mobility)
  x_min = cal_size(y + offset, gel_conc, ref_mobility)
  x_max = cal_size(y - offset, gel_conc, ref_mobility)
  return x_min, x_max
end
get_para(gel_conc) click to toggle source
# File lib/qu/pcr.rb, line 73
def self.get_para(gel_conc)
  a = PARA[gel_conc]['a']
  b = PARA[gel_conc]['b']
  k = PARA[gel_conc]['k']
  return a, b, k
end