Source code for vivarium.library.flux_conversion

from __future__ import absolute_import, division, print_function

from vivarium.library.units import units

from scipy import constants

nAvogadro = constants.N_A

COUNTS_UNITS = units.mmol
VOLUME_UNITS = units.L
MASS_UNITS = units.g
TIME_UNITS = units.s
CONC_UNITS = COUNTS_UNITS / VOLUME_UNITS


[docs]def molar_to_counts(fluxes, volume): ''' input: fluxes -- list (molar) volume -- list (L) return: counts -- list ''' # volume = cell_mass / density return (nAvogadro * volume * fluxes).astype(int)
[docs]def millimolar_to_counts(fluxes, volume): ''' input: fluxes -- list (millimolar) volume -- list (L) return: counts -- list ''' fluxes_mol = fluxes * 1e-3 # convert to molar return int(nAvogadro * volume * fluxes_mol)
[docs]def counts_to_molar(counts, volume): ''' input: counts -- list volume -- list (L) return: fluxes -- list (molar) ''' # volume = cell_mass / density return counts / (nAvogadro * volume)
[docs]def counts_to_millimolar(counts, volume): ''' input: counts -- list volume -- list (L) return: fluxes -- list (molar) ''' # volume = cell_mass / density return counts / (nAvogadro * volume * 1e-3)
[docs]def molar_to_molDCWhr(fluxes, dry_mass, cell_mass, density, timestep): ''' input: flux: mmol/L dry_mass: fg cell_mass: fg density: timestep: seconds return: fluxes in mol/gDCW/hr ''' # Coefficient to convert between flux (mol/g DCW/hr) basis and concentration (M) basis coefficient = dry_mass / cell_mass * density * timestep return (fluxes / coefficient).m_as(units.mmol / units.g / units.h)