Skip to content
Cell and Molecular Biology

cell-molecular-biology-ai999x

Membranes and diffusion, osmosis and membrane potentials, cell growth and the cell cycle, DNA and RNA melting temperatures and quantification, sequences, PCR and qPCR, gene expression, enzyme kinetics, inhibition and binding, buffers and dilutions.

94capabilities
7topics
94formulas typeset
4ways to run: desktop app, command line, browser, Python
1.0.0version
What it does

What Cell and Molecular Biology does

Cell and Molecular Biology (cell-molecular-biology-ai999x) is an offline Python package for cell and molecular biology. It covers membranes and diffusion, osmosis and membrane potentials, cell growth and the cell cycle, DNA and RNA melting temperatures and quantification, sequences, PCR and qPCR, gene expression, enzyme kinetics, inhibition and binding, buffers and dilutions.

It has 94 capabilities — 94 computational procedures — in 7 topics, the largest being DNA and RNA, Cell growth, Membranes and diffusion, Solution biochemistry, Enzyme kinetics and PCR and gene expression. Ask a question in words with ask(), or call a capability by name with typed inputs with solve(). Every answer carries its value and unit, the steps that produced it and the formula in LaTeX.

When a question is not determined — a value is missing, an input is out of range, or the request is outside the package — it says so and names what it needs, instead of guessing. It runs on an ordinary CPU without a network connection (Python >=3.10), and the same question always gets the same answer.

What it covers

Get it

Use Cell and Molecular Biology your way

Use it right here in your browser now: the compiled program runs on your own device, with nothing sent anywhere. The AI999X desktop app for Windows and Linux and the command-line program cell-molecular-biology follow in their next releases.

Desktop app

One app with every AI999X model: search, ask in words, input forms, live figures and explanations. Cell and Molecular Biology joins it in its next release; until then, compute with it in your browser.

The desktop app today · Compute in your browser

Command line

One program per model, for terminals and scripts. This model's program, cell-molecular-biology, joins the command-line bundle in its next release.

What it answers, command by command

Python

The Python package, for notebooks and your own programs (Python 3.10 or newer).

pip install cell-molecular-biology-ai999x

Examples · Python guide

From here to first answer

The browser works now; the downloads follow with the next release.

  1. Type a question in words in the calculator below, or choose a capability (or open any capability further down).
  2. Its inputs come filled in with a worked example: change any of them, in any unit of the right kind.
  3. Press Compute: the answer, what it means and its figures, computed on your device.

Open the calculator

In your browser

Compute something now

Ask a question in words, or choose a capability and open its calculator: the inputs come filled in with a worked example; change any of them (any unit of the right kind) and press Compute. It runs on your device; nothing is sent anywhere.

The same capabilities as the desktop app and the command line, as WebAssembly in this page. Every capability below also has its own Compute in your browser button.

Worked examples

One example, every way to run it

Each worked example with its answer, then the same question on the command line, from Python and in your browser. A command-line output is exactly what the program printed for that command.

Membranes and diffusion

Nernst potential: z = 1, C_out = 5 mM, C_in = 140 mM, T = 37 degC

E = \frac{RT}{zF}\ln\frac{C_{out}}{C_{in}}
E = -0.08905869404 V
E_mV = -89.05869404
How it was worked out
  1. Nernst equilibrium potential of an ion across a cell membrane
    E = \frac{RT}{zF}\ln\frac{C_{out}}{C_{in}}
    with z = 1, C_out = 5 (mmol/L), C_in = 140 (mmol/L), T = 37 degC
    → E = -0.08905869404 V, E_mV = -89.05869404 V
Terminal
$ cell-molecular-biology solve cmb_nernst_potential z=1 "C_out=5 (mmol/L)" "C_in=140 (mmol/L)" "T=310.15 K"
E = -0.08905869404 V
E_mV = -89.05869404
  by: Nernst equilibrium potential of an ion across a cell membrane  (E = (R T / z F) ln(C_out / C_in))
  C_out = 5 mol/m^3
  C_in = 140 mol/m^3
  T = 310.15 K
  assumes: z a non-zero whole number; concentrations > 0; T > 0
DNA and RNA

Nearest-neighbour melting temperature: seq = CGTTCCAAAGATGTGGGCATGAGCTTAC, Na = 50 mM, c1 = 250 nM, c2 = 250 nM

T_m = \frac{1000\,\Delta H^\circ}{\Delta S^\circ + 0.368(N-1)\ln[\mathrm{Na^+}] + R\ln k} – 273.15
Tm = 62.58162841
dH = -221.7
dS = -628.7655959
dG37 = -26.68835044
How it was worked out
  1. Nearest-neighbour melting temperature of a DNA duplex
    T_m = \frac{1000\,\Delta H^\circ}{\Delta S^\circ + 0.368(N-1)\ln[\mathrm{Na^+}] + R\ln k} – 273.15
    with seq = CGTTCCAAAGATGTGGGCATGAGCTTAC, Na = 50 (mmol/L), c1 = 250 (nmol/L), c2 = 250 (nmol/L)
    → Tm = 62.58162841, dH = -221.7, dS = -628.7655959, dG37 = -26.68835044
Terminal
$ cell-molecular-biology solve cmb_tm_nearest_neighbor seq=CGTTCCAAAGATGTGGGCATGAGCTTAC "Na=50 (mmol/L)" "c1=250 (nmol/L)" "c2=250 (nmol/L)"
Tm = 62.58162841
dH = -221.7
dS = -628.7655959
dG37 = -26.68835044
  by: Nearest-neighbour melting temperature of a DNA duplex  (sum nearest-neighbour dH and dS with initiation and terminal A/T terms (+ symmetry); dS += 0.368 (N-1) ln[Na+]; Tm = 1000 dH / (dS + R ln k) - 273.15, k = c1 - c2/2)
  Na = 50 mol/m^3
  c1 = 0.00025 mol/m^3
  c2 = 0.00025 mol/m^3
  seq = CGTTCCAAAGATGTGGGCATGAGCTTAC
  assumes: DNA letters, length >= 2; Na+ > 0; c1 > c2/2 (self-complementary: k = c1)
PCR and gene expression

qPCR delta-delta Ct: Ct_target_treated = 24.5, Ct_ref_treated = 18, Ct_target_control = 27, Ct_ref_control = 18.2

\Delta\Delta C_t = \Delta C_{t,treated} – \Delta C_{t,control},\quad \text{fold} = 2^{-\Delta\Delta C_t}
dCt_treated = 6.5
dCt_control = 8.8
ddCt = -2.3
fold_change = 4.924577653
log2_fold_change = 2.3
How it was worked out
  1. qPCR relative expression by the delta-delta Ct method
    \Delta\Delta C_t = \Delta C_{t,treated} – \Delta C_{t,control},\quad \text{fold} = 2^{-\Delta\Delta C_t}
    with Ct_target_treated = 24.5, Ct_ref_treated = 18, Ct_target_control = 27, Ct_ref_control = 18.2
    → dCt_treated = 6.5, dCt_control = 8.8, ddCt = -2.3, fold_change = 4.924577653, log2_fold_change = 2.3
Terminal
$ cell-molecular-biology solve cmb_qpcr_delta_delta_ct Ct_target_treated=24.5 Ct_ref_treated=18 Ct_target_control=27 Ct_ref_control=18.2
dCt_treated = 6.5
dCt_control = 8.8
ddCt = -2.3
fold_change = 4.924577653
log2_fold_change = 2.3
  by: qPCR relative expression by the delta-delta Ct method  (ddCt = (Ct_t - Ct_r)_treated - (Ct_t - Ct_r)_control; fold = 2^-ddCt)
  Ct_target_treated = 24.5
  Ct_ref_treated = 18
  Ct_target_control = 27
  Ct_ref_control = 18.2
  assumes: 0 < Ct <= 60; efficiencies of target and reference near 100 %
Enzyme kinetics and binding

Fractional saturation by the Hill equation

\theta = \frac{[L]^n}{K_{0.5}^n + [L]^n}
theta = 0.5
theta_percent = 50
How it was worked out
  1. Fractional saturation by the Hill equation
    \theta = \frac{[L]^n}{K_{0.5}^n + [L]^n}
    with L = 0.026 mol/m^3, K = 0.026 mol/m^3, n = 2.8
    → theta = 0.5, theta_percent = 50
Terminal
$ cell-molecular-biology solve cmb_hill_equation "L=26 (umol/L)" "K=26 (umol/L)" n=2.8
theta = 0.5
theta_percent = 50
  by: Fractional saturation by the Hill equation  (theta = L^n / (K^n + L^n))
  L = 0.026 mol/m^3
  K = 0.026 mol/m^3
  n = 2.8
  assumes: L, K, n > 0
Solution biochemistry

Buffer recipe: C = 0.1 M, V = 1 L, pH = 7.4, pKa = 7.21

\frac{[\mathrm{A^-}]}{[\mathrm{HA}]} = 10^{\mathrm{pH} – \mathrm{p}K_a}
C_base = 60.76610641 mol/m^3
C_acid = 39.23389359 mol/m^3
n_base = 0.06076610641 mol
n_acid = 0.03923389359 mol
ratio = 1.548816619
How it was worked out
  1. Recipe for a buffer of given pH and concentration
    \frac{[\mathrm{A^-}]}{[\mathrm{HA}]} = 10^{\mathrm{pH} – \mathrm{p}K_a}
    with C = 0.1 (mol/L), V = 1 L, pH = 7.4, pKa = 7.21
    → C_base = 60.76610641 mol/m^3, C_acid = 39.23389359 mol/m^3, n_base = 0.06076610641 mol, n_acid = 0.03923389359 mol, ratio = 1.548816619 mol/m^3
Terminal
$ cell-molecular-biology solve cmb_buffer_preparation "C=100 (mmol/L)" "V=1000 mL" pH=7.4 pKa=7.21 "MW_acid=137.99 g/mol" "MW_base=141.96 g/mol"
C_base = 60.76610641 mol/m^3
C_acid = 39.23389359 mol/m^3
n_base = 0.06076610641 mol
n_acid = 0.03923389359 mol
ratio = 1.548816619
m_acid_g = 5.413884976
m_base_g = 8.626356466
  by: Recipe for a buffer of given pH and concentration  (r = 10^(pH - pKa); C_base = C r/(1 + r); C_acid = C - C_base; n = C V; m = n M)
  C = 100 mol/m^3
  V = 0.001 m^3
  pH = 7.4
  pKa = 7.21
  MW_acid = 0.13799 kg/mol
  MW_base = 0.14196 kg/mol
  assumes: C, V > 0; Henderson-Hasselbalch valid (pH within about 1 of pKa)
Cell growth

Age-corrected cell-cycle phase durations: Tc = 24 h, fractions = [0.45, 0.35, 0.15, 0.05]

F(a) = 2\left(1 – 2^{-a/T}\right),\quad a_k = -T\log_2\!\left(1 – \frac{F_k}{2}\right)
G1_h = 8.825562828
S_h = 8.861611432
G2_h = 4.623481871
M_h = 1.689343869
How it was worked out
  1. Cell-cycle phase durations corrected for the exponential age distribution
    F(a) = 2\left(1 – 2^{-a/T}\right),\quad a_k = -T\log_2\!\left(1 – \frac{F_k}{2}\right)
    with Tc = 24 h, fractions = [0.45, 0.35, 0.15, 0.05]
    → G1_h = 8.825562828, S_h = 8.861611432, G2_h = 4.623481871, M_h = 1.689343869
Terminal
$ cell-molecular-biology solve cmb_cell_cycle_age_corrected "Tc=24 h" "fractions=[0.45, 0.35, 0.15, 0.05]"
G1_h = 8.825562828
S_h = 8.861611432
G2_h = 4.623481871
M_h = 1.689343869
  by: Cell-cycle phase durations corrected for the exponential age distribution  (fraction younger than age a: F(a) = 2(1 - 2^(-a/T)); phase end ages a_k = -T log2(1 - F_k/2) from cumulative fractions)
  Tc = 86400 s
  assumes: Tc > 0; four positive fractions summing to 1; balanced exponential growth
Enzyme kinetics

Competitive inhibition rate: Vmax = 6 uM/min, Km = 50 uM, S = 100 uM, I = 20 uM, Ki = 10 uM

v = \frac{V_{max}[S]}{K_m(1 + [I]/K_i) + [S]}
v = 4e-05 mol/(m^3*s)
Km_app = 0.15 mol/m^3
Vmax_app = 0.0001 mol/(m^3*s)
percent_inhibition = 40
How it was worked out
  1. Competitive inhibition rate
    v = \frac{V_{max}[S]}{K_m(1 + [I]/K_i) + [S]}
    with Vmax = 6 (umol/L)/min, Km = 50 (umol/L), S = 100 (umol/L), I = 20 (umol/L), Ki = 10 (umol/L)
    → v = 4e-05 mol/(m^3*s), Km_app = 0.15 mol/m^3, Vmax_app = 0.0001 mol/(m^3*s), percent_inhibition = 40 mol/(m^3*s)
Terminal
$ cell-molecular-biology solve cmb_competitive_inhibition "Vmax=6 (umol/L)/min" "Km=50 (umol/L)" "S=100 (umol/L)" "I=20 (umol/L)" "Ki=10 (umol/L)"
v = 4e-05 mol/(m^3*s)
Km_app = 0.15 mol/m^3
Vmax_app = 0.0001 mol/(m^3*s)
percent_inhibition = 40
  by: Competitive inhibition rate  (v = Vmax S / (Km (1 + I/Ki) + S))
  Vmax = 0.0001 mol/(m^3*s)
  Km = 0.05 mol/m^3
  S = 0.1 mol/m^3
  I = 0.02 mol/m^3
  Ki = 0.01 mol/m^3
  assumes: Vmax, Km, Ki > 0; S, I >= 0; rapid-equilibrium inhibitor binding
Cell growth

Cell-cycle phase durations: Tc = 24 h, fractions = [0.45, 0.35, 0.15, 0.05]

t_{phase} = f_{phase}\,T_c
G1_h = 10.8
S_h = 8.4
G2_h = 3.6
M_h = 1.2
How it was worked out
  1. Cell-cycle phase durations from phase fractions
    t_{phase} = f_{phase}\,T_c
    with Tc = 24 h, fractions = [0.45, 0.35, 0.15, 0.05]
    → G1_h = 10.8, S_h = 8.4, G2_h = 3.6, M_h = 1.2
Terminal
$ cell-molecular-biology solve cmb_cell_cycle_phase_durations "Tc=24 h" "fractions=[0.45, 0.35, 0.15, 0.05]"
G1_h = 10.8
S_h = 8.4
G2_h = 3.6
M_h = 1.2
  by: Cell-cycle phase durations from phase fractions  (duration of a phase = fraction x Tc)
  Tc = 86400 s
  assumes: Tc > 0; four positive fractions summing to 1
Command line

Use it from the command line

Every command below was run as shown, and the text under it is exactly what cell-molecular-biology printed. The same commands work in a Linux terminal and in Windows PowerShell. cell-molecular-biology joins the command-line bundle in its next release. The user guide covers install, inputs, outcomes, scripting, and every capability with a command and what it printed: PDF · text.

1

Check the install

Prints the model, its version and that this is the Rust build.

Terminal
$ cell-molecular-biology --version
cell-molecular-biology-ai999x 1.0.0 (Rust build, ax-engine 0.1.0)
2

Find a capability

Search the capabilities by what you want to know; the first column is the id to pass to info and solve.

Terminal
$ cell-molecular-biology search "nernst equilibrium potential of an ion across a cell membrane"
cmb_nernst_potential                 Nernst equilibrium potential of an ion across a cell membrane  (membranes and diffusion / membrane potential)
cmb_cell_equilibration               Equilibration of a solute across a spherical cell's membrane  (membranes and diffusion / permeability)
cmb_donnan_equilibrium               Donnan equilibrium with an impermeant anion  (membranes and diffusion / membrane potential)
cmb_channel_current                  Macroscopic current through ion channels  (membranes and diffusion / ion channels)
cmb_cell_volume_osmotic              Cell volume after an osmotic change (Boyle-van 't Hoff)  (membranes and diffusion / osmosis)
cmb_ionic_strength                   Ionic strength of a solution  (solution biochemistry / ionic strength)
cmb_membrane_permeability            Membrane permeability coefficient and flux  (membranes and diffusion / permeability)
cmb_osmolarity_tonicity              Osmolarity of a solution and its tonicity for a cell  (membranes and diffusion / osmosis)
… 12 more
3

List the capabilities

Every capability the program answers: its id (what you pass to solve) and its name.

Terminal
$ cell-molecular-biology list
cmb_absorbance_ratios                    A260/A280 and A260/A230 purity ratios
cmb_binding_free_energy                  Standard binding free energy from Kd
cmb_buffer_after_addition                Buffer pH after adding strong acid or base
cmb_buffer_capacity                      Buffer capacity of a weak-acid buffer
cmb_buffer_preparation                   Recipe for a buffer of given pH and concentration
cmb_c1v1_dilution                        Dilution of a stock solution (C1 V1 = C2 V2)
cmb_cell_cycle_age_corrected             Cell-cycle phase durations corrected for the exponential age distribution
cmb_cell_cycle_phase_durations           Cell-cycle phase durations from phase fractions
… 86 more
4

What a capability needs

The equation or method, every input and output with its SI unit. Read this before solve: it tells you the input names.

Terminal
$ cell-molecular-biology info cmb_nernst_potential
Nernst equilibrium potential of an ion across a cell membrane
  E = (R T / z F) ln(C_out / C_in)
  in   z        charge number of the ion (e.g. 1 for K+, 2 for Ca2+, -1 for Cl-) (integer) []
  in   C_out    outside concentration [mol/m^3]
  in   C_in     inside concentration [mol/m^3]
  in   T        absolute temperature (degC is converted) [K]
  out  E        equilibrium potential (inside minus outside) [V]
  out  E_mV     equilibrium potential in mV []
5

Solve

Inputs as name=value, each with any unit of the right kind. The answer lists every output, the method used, each input converted to SI, and the conditions the answer assumes.

Terminal
$ cell-molecular-biology solve cmb_nernst_potential z=1 "C_out=5 (mmol/L)" "C_in=140 (mmol/L)" "T=37 degC"
E = -0.08905869404 V
E_mV = -89.05869404
  by: Nernst equilibrium potential of an ion across a cell membrane  (E = (R T / z F) ln(C_out / C_in))
  C_out = 5 mol/m^3
  C_in = 140 mol/m^3
  T = 310.15 K
  assumes: z a non-zero whole number; concentrations > 0; T > 0
6

Machine-readable answer

–json prints the same answer as one line of JSON (values in SI): for scripts and other programs.

Terminal
$ cell-molecular-biology solve cmb_nernst_potential z=1 "C_out=5 (mmol/L)" "C_in=140 (mmol/L)" "T=37 degC" --json
{"outcome":"SOLVED","message":"","value":-0.0890586940367,"unit":"V","solved_for":"E","si":[["C_out",5.0],["C_in",140.0],["T",310.15]],"values":[["E",-0.0890586940367,"V"],["E_mV",-89.0586940367,""]],"target":"E","phrase":"equilibrium potential (inside minus outside)","assumptions":["z a non-zero whole number","concentrations > 0","T > 0"],"name":"Nernst equilibrium potential of an ion across a cell membrane","equation":"E = (R T / z F) ln(C_out / C_in)"}
7

When an input is missing

No number is guessed: the answer names what is missing, shows a complete call, and the program exits with status 1.

Terminal
$ cell-molecular-biology solve cmb_nernst_potential z=1 "C_out=5 (mmol/L)" "C_in=140 (mmol/L)"
NEEDS_INPUT: cmb_nernst_potential needs T (absolute temperature (degC is converted)). Example: solve('cmb_nernst_potential', z=1, C_out='5 mol/m^3', C_in='140 mol/m^3', T='310.15 K').
8

Many questions at once

One JSON request per line in, one JSON answer per line out, in order: for scripts, notebooks and agents (the program starts once). In PowerShell: Get-Content cases.jsonl | cell-molecular-biology batch

Terminal
cases.jsonl
{"key": "cmb_nernst_potential", "inputs": {"z": "1", "C_out": "5 (mmol/L)", "C_in": "140 (mmol/L)", "T": "37 degC"}}
{"key": "cmb_tm_nearest_neighbor", "inputs": {"seq": "CGTTCCAAAGATGTGGGCATGAGCTTAC", "Na": "50 (mmol/L)", "c1": "250 (nmol/L)", "c2": "250 (nmol/L)"}}
$ cell-molecular-biology batch < cases.jsonl
{"outcome":"SOLVED","message":"","value":-0.0890586940367,"unit":"V","solved_for":"E","si":[["C_out",5.0],["C_in",140.0],["T",310.15]],"values":[["E",-0.0890586940367,"V"],["E_mV",-89.0586940367,""]],"target":"E","phrase":"equilibrium potential (inside minus outside)","assumptions":["z a non-zero whole number","concentrations > 0","T > 0"],"name":"Nernst equilibrium potential of an ion across a cell membrane","equation":"E = (R T / z F) ln(C_out / C_in)"}
{"outcome":"SOLVED","message":"","value":62.5816284138,"unit":"","solved_for":"Tm","si":[["Na",50.0],["c1",0.00025],["c2",0.00025]],"values":[["Tm",62.5816284138,""],["dH",-221.7,""],["dS",-628.76559587,""],["dG37",-26.6883504409,""]],"target":"Tm","phrase":"melting temperature in degC","assumptions":["DNA letters, length >= 2","Na+ > 0","c1 > c2/2 (self-complementary: k = c1)"],"name":"Nearest-neighbour melting temperature of a DNA duplex","equation":"sum nearest-neighbour dH and dS with initiation and terminal A/T terms (+ symmetry); dS += 0.368 (N-1) ln[Na+]; Tm = 1000 dH / (dS + R ln k) - 273.15, k = c1 - c2/2"}

All commands

CommandWhat it does
cell-molecular-biology search "<words>"find the capabilities that match
cell-molecular-biology listevery capability: its id and name
cell-molecular-biology info <capability>the equation or method, its inputs and outputs with their units
cell-molecular-biology solve <capability> name=value …the answer; add –target X to solve an equation for X, –json for JSON
cell-molecular-biology figures <capability> name=value … --out DIRthe live figures for those inputs, as SVG files in DIR
cell-molecular-biology batch < requests.jsonlone JSON answer per line, for scripts and agents
cell-molecular-biology catalogevery capability with its inputs, as JSON
cell-molecular-biology --versionthe model and its version

Exit status: 0 when the question was answered, 1 when it was not (the message says why: a missing input, an invalid value, a question outside the model), 2 for a command it does not know.

Python

Use it from Python

After pip install cell-molecular-biology-ai999x, ask in words or call a capability. Every snippet was run as shown; the output under it is what it printed. The Python guide covers ask in words, solve, and every capability with a Python example: PDF · text.

import cell_molecular_biology_ai999x as m

a = m.ask("Nernst potential: z = 1, C_out = 5 mM, C_in = 140 mM, T = 37 degC")
print(a.outcome)
print(a.values)
for step in a.steps:
    print(step["name"])
Output
SOLVED
{'E': -0.0890586940367, 'E_mV': -89.0586940367}
Nernst equilibrium potential of an ion across a cell membrane
Capabilities

Every capability, explained

Search by name, formula, input or topic. Each capability opens to say what it does, what it needs, what it gives back and why, with its worked example, how to run it (on the command line, from Python, in your browser) and its figures.

94 capabilities

Cell growth 14

Batch culture time under Monod kinetics1 fig.cmb_monod_batch_time

The time for a batch culture (constant yield Y, Monod growth) to grow from biomass X0 to X, and the substrate left then.

t = \frac{1}{\mu_{max}}\left[\left(1 + \frac{K_sY}{B}\right)\ln\frac{X}{X_0} – \frac{K_sY}{B}\ln\frac{B – X}{B – X_0}\right]

You give

MeaningUnitExample
\text{X0}
Initial biomass concentrationkg/m^30.1 g/L
\text{S0}
Initial substrate concentrationkg/m^310 g/L
Y
Biomass yield (g biomass per g substrate)—0.5
\mu_{\mathrm{max}}
Maximum specific growth rate1/s0.72 1/h
\text{Ks}
Half-saturation constantkg/m^30.2 g/L
X
Target biomass concentrationkg/m^34 g/L

You get

MeaningUnitExample
t
Time to reach Xs18954.49601 s
t_{h}
Time in hours—5.265137782
S
Substrate remainingkg/m^32.2 kg/m^3
S_{g,L}
Substrate remaining in g/L—2.2

Values with a unit may be written in any unit of the right kind.

Applies when

  • all inputs > 0
  • X0 < X < X0 + Y S0
  • no maintenance or death

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Monod batch growth time: X0 = 0.1 g/L, S0 = 10 g/L, Y = 0.5, mu_max = 0.72 1/h, Ks = 0.2 g/L, X = 4 g/L
t = 18954.49601 s
t_h = 5.265137782
S = 2.2 kg/m^3
S_g_L = 2.2

Run it

Terminal
$ cell-molecular-biology solve cmb_monod_batch_time "X0=0.1 g/L" "S0=10 g/L" Y=0.5 "mu_max=0.72 1/h" "Ks=0.2 g/L" "X=4 g/L"
t = 18954.49601 s
t_h = 5.265137782
S = 2.2 kg/m^3
S_g_L = 2.2
  by: Batch culture time under Monod kinetics  (S = S0 - (X - X0)/Y; integrate dX/dt = mu_max S X/(Ks + S): t = [ln(X/X0) + (Ks Y/B)(ln(X/X0) - ln((B - X)/(B - X0)))]/mu_max, B = X0 + Y S0)
  X0 = 0.1 kg/m^3
  S0 = 10 kg/m^3
  Y = 0.5
  mu_max = 0.0002 1/s
  Ks = 0.2 kg/m^3
  X = 4 kg/m^3
  assumes: all inputs > 0; X0 < X < X0 + Y S0; no maintenance or death

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Cell concentration from a hemocytometer count1 fig.cmb_hemocytometer_count

The cell concentration from counts in the large (1 mm x 1 mm x 0.1 mm) squares of a hemocytometer, the dilution factor and, optionally, the total cells in a suspension volume.

c = \bar n \times d \times 10^4\ \mathrm{mL^{-1}}

You give

MeaningUnitExample
\text{counts}
Cells counted in each large square vector—[52, 48, 55, 45]
\text{dilution}
Dilution factor of the counted sample (1 for undiluted, 2 for 1:1 trypan blue)—2
V
Volume of the cell suspension (optional) optionalm^3

You get

MeaningUnitExample
\text{mean\_count}
Mean count per large square—50
\text{cells\_per\_mL}
Cells per mL—1000000
\text{total\_cells}
Total cells in V (when V is given)—

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • counts >= 0
  • dilution >= 1
  • large squares of 0.1 uL

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Hemocytometer cell count: counts = [52, 48, 55, 45], dilution = 2
mean_count = 50
cells_per_mL = 1000000

Run it

Terminal
$ cell-molecular-biology solve cmb_hemocytometer_count "counts=[52, 48, 55, 45]" dilution=2
mean_count = 50
cells_per_mL = 1000000
  by: Cell concentration from a hemocytometer count  (cells/mL = mean count x dilution x 10^4)
  dilution = 2
  assumes: counts >= 0; dilution >= 1; large squares of 0.1 uL

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Cell-cycle phase durations corrected for the exponential age distribution1 fig.cmb_cell_cycle_age_corrected

The durations of G1, S, G2 and M from phase fractions of an exponentially growing asynchronous population, using the age distribution n(a) = 2 ln2/T 2^(-a/T) (young cells are over-represented).

F(a) = 2\left(1 – 2^{-a/T}\right),\quad a_k = -T\log_2\!\left(1 – \frac{F_k}{2}\right)

You give

MeaningUnitExample
\text{Tc}
Total cell-cycle (doubling) times24 h
\text{fractions}
Fractions of cells in G1, S, G2 and M (in this order, summing to 1) vector—[0.45, 0.35, 0.15, 0.05]

You get

MeaningUnitExample
\text{G1\_h}
G1 duration in hours—8.825562828
S_{h}
S duration in hours—8.861611432
\text{G2\_h}
G2 duration in hours—4.623481871
M_{h}
M duration in hours—1.689343869

Values with a unit may be written in any unit of the right kind.

Applies when

  • Tc > 0
  • four positive fractions summing to 1
  • balanced exponential growth

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Age-corrected cell-cycle phase durations: Tc = 24 h, fractions = [0.45, 0.35, 0.15, 0.05]
G1_h = 8.825562828
S_h = 8.861611432
G2_h = 4.623481871
M_h = 1.689343869

Run it

Terminal
$ cell-molecular-biology solve cmb_cell_cycle_age_corrected "Tc=24 h" "fractions=[0.45, 0.35, 0.15, 0.05]"
G1_h = 8.825562828
S_h = 8.861611432
G2_h = 4.623481871
M_h = 1.689343869
  by: Cell-cycle phase durations corrected for the exponential age distribution  (fraction younger than age a: F(a) = 2(1 - 2^(-a/T)); phase end ages a_k = -T log2(1 - F_k/2) from cumulative fractions)
  Tc = 86400 s
  assumes: Tc > 0; four positive fractions summing to 1; balanced exponential growth

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Cell-cycle phase durations from phase fractions1 fig.cmb_cell_cycle_phase_durations

The durations of G1, S, G2 and M from the fraction of an asynchronous population in each phase (simple proportion to the cycle time).

t_{phase} = f_{phase}\,T_c

You give

MeaningUnitExample
\text{Tc}
Total cell-cycle times24 h
\text{fractions}
Fractions of cells in G1, S, G2 and M (in this order, summing to 1) vector—[0.45, 0.35, 0.15, 0.05]

You get

MeaningUnitExample
\text{G1\_h}
G1 duration in hours—10.8
S_{h}
S duration in hours—8.4
\text{G2\_h}
G2 duration in hours—3.6
M_{h}
M duration in hours—1.2

Values with a unit may be written in any unit of the right kind.

Applies when

  • Tc > 0
  • four positive fractions summing to 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Cell-cycle phase durations: Tc = 24 h, fractions = [0.45, 0.35, 0.15, 0.05]
G1_h = 10.8
S_h = 8.4
G2_h = 3.6
M_h = 1.2

Run it

Terminal
$ cell-molecular-biology solve cmb_cell_cycle_phase_durations "Tc=24 h" "fractions=[0.45, 0.35, 0.15, 0.05]"
G1_h = 10.8
S_h = 8.4
G2_h = 3.6
M_h = 1.2
  by: Cell-cycle phase durations from phase fractions  (duration of a phase = fraction x Tc)
  Tc = 86400 s
  assumes: Tc > 0; four positive fractions summing to 1

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Colony-forming units per mL from a plate count1 fig.cmb_plate_count

The viable count (CFU per mL) of the original culture from the colonies on a plate, the dilution factor of the plated sample and the plated volume.

\mathrm{CFU/mL} = \frac{n \times DF}{V_{plated}}

You give

MeaningUnitExample
\text{colonies}
Colonies counted on the plate—150
\text{dilution}
Dilution factor of the plated sample (1e6 for a 10^-6 dilution)—1000000
V
Volume platedm^30.1 mL

You get

MeaningUnitExample
\text{cfu\_per\_mL}
Colony-forming units per mL of the original culture—1500000000
\text{log10\_cfu\_per\_mL}
log10 of CFU per mL (0 when no colonies)—9.176091259

Values with a unit may be written in any unit of the right kind.

Applies when

  • colonies a whole number
  • dilution >= 1
  • V > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Plate count: colonies = 150, dilution = 1000000, V = 0.1 mL
cfu_per_mL = 1500000000
log10_cfu_per_mL = 9.176091259

Run it

Terminal
$ cell-molecular-biology solve cmb_plate_count colonies=150 dilution=1000000 "V=0.1 mL"
cfu_per_mL = 1500000000
log10_cfu_per_mL = 9.176091259
  by: Colony-forming units per mL from a plate count  (CFU/mL = colonies x dilution factor / volume plated (mL))
  dilution = 1000000
  V = 1e-07 m^3
  assumes: colonies a whole number; dilution >= 1; V > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Doubling time and number of generations from two counts2 fig.cmb_doubling_time_from_counts

The doubling (generation) time, the number of generations and the specific growth rate from the cell counts at the start and end of an interval of exponential growth.

n = \log_2\frac{N}{N_0},\quad t_d = \frac{t}{n},\quad \mu = \frac{\ln(N/N_0)}{t}

You give

MeaningUnitExample
\text{N0}
Initial cell count (or concentration)—10000
N
Final cell count (same unit)—160000
t
Elapsed times8 h

You get

MeaningUnitExample
\text{td}
Doubling times7200 s
\text{td\_h}
Doubling time in hours—2
\text{generations}
Number of generations log2(N/N0)—4
\mu
Specific growth rate1/s9.627044174e-05 1/s
\mu_{\mathrm{per},h}
Specific growth rate per hour—0.3465735903

Values with a unit may be written in any unit of the right kind.

Applies when

  • N > N0 > 0
  • t > 0
  • exponential growth over the interval

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Doubling time from cell counts: N0 = 10000, N = 160000, t = 8 h
td = 7200 s
td_h = 2
generations = 4
mu = 9.627044174e-05 1/s
mu_per_h = 0.3465735903

Run it

Terminal
$ cell-molecular-biology solve cmb_doubling_time_from_counts N0=10000 N=160000 "t=8 h"
td = 7200 s
td_h = 2
generations = 4
mu = 9.627044174e-05 1/s
mu_per_h = 0.3465735903
  by: Doubling time and number of generations from two counts  (n = log2(N/N0) = 3.32 log10(N/N0); td = t/n; mu = ln 2 / td)
  N0 = 10000
  N = 160000
  t = 28800 s
  assumes: N > N0 > 0; t > 0; exponential growth over the interval

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Exponential growth of a cell population1 fig.cmb_exponential_growth

The number of cells after a time t of exponential growth from N0 with doubling time td, the number of generations and the specific growth rate.

N = N_0\,2^{t/t_d} = N_0 e^{\mu t},\quad \mu = \frac{\ln 2}{t_d}

You give

MeaningUnitExample
\text{N0}
Initial number (or concentration) of cells—1000
\text{td}
Doubling (generation) times0.3333333333 h
t
Elapsed times2 h

You get

MeaningUnitExample
N
Number of cells at time t—64000.00003
\text{generations}
Number of generations t/td—6.000000001
\text{fold}
Fold increase N/N0—64.00000003
\mu
Specific growth rate ln2/td1/s0.0005776226505 1/s
\mu_{\mathrm{per},h}
Specific growth rate per hour—2.079441542

Values with a unit may be written in any unit of the right kind.

Applies when

  • N0, td > 0
  • t >= 0
  • balanced exponential growth (no lag, no limitation)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Exponential cell growth: N0 = 1000, td = 0.3333333333 h, t = 2 h
N = 64000.00003
generations = 6.000000001
fold = 64.00000003
mu = 0.0005776226505 1/s
mu_per_h = 2.079441542

Run it

Terminal
$ cell-molecular-biology solve cmb_exponential_growth N0=1000 "td=0.3333333333 h" "t=2 h"
N = 64000.00003
generations = 6.000000001
fold = 64.00000003
mu = 0.0005776226505 1/s
mu_per_h = 2.079441542
  by: Exponential growth of a cell population  (N = N0 2^(t/td); mu = ln 2 / td)
  N0 = 1000
  td = 1200 s
  t = 7200 s
  assumes: N0, td > 0; t >= 0; balanced exponential growth (no lag, no limitation)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Logistic growth of a population1 fig.cmb_logistic_growth

The population at time t under logistic growth with carrying capacity K and intrinsic rate r, the growth rate dN/dt there and the time of the inflection point (N = K/2).

N(t) = \frac{K}{1 + \frac{K – N_0}{N_0}e^{-rt}},\quad \frac{dN}{dt} = rN\left(1 – \frac{N}{K}\right)

You give

MeaningUnitExample
\text{N0}
Initial population—10000
K
Carrying capacity (same unit)—100000000
r
Intrinsic growth rate1/s0.72 1/h
t
Elapsed times10 h

You get

MeaningUnitExample
N
Population at time t—11813193.49
\text{dNdt}
Growth rate at time t in cells per second—2083.535616
\text{dNdt\_per\_h}
Growth rate at time t in cells per hour—7500728.219
t_{\mathrm{inflection}}
Time when N = K/2 (negative if already past)s46051.20183 s
t_{\mathrm{inflection},h}
Time of the inflection point in hours—12.79200051

Values with a unit may be written in any unit of the right kind.

Applies when

  • 0 < N0 < K
  • r > 0
  • t >= 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Logistic growth: N0 = 10000, K = 100000000, r = 0.72 1/h, t = 10 h
N = 11813193.49
dNdt = 2083.535616
dNdt_per_h = 7500728.219
t_inflection = 46051.20183 s
t_inflection_h = 12.79200051

Run it

Terminal
$ cell-molecular-biology solve cmb_logistic_growth N0=10000 K=100000000 "r=0.72 1/h" "t=10 h"
N = 11813193.49
dNdt = 2083.535616
dNdt_per_h = 7500728.219
t_inflection = 46051.20183 s
t_inflection_h = 12.79200051
  by: Logistic growth of a population  (N = K / (1 + ((K - N0)/N0) e^(-r t)); dN/dt = r N (1 - N/K); t_infl = ln((K - N0)/N0)/r)
  N0 = 10000
  K = 100000000
  r = 0.0002 1/s
  t = 36000 s
  assumes: 0 < N0 < K; r > 0; t >= 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Monod specific growth rate1 fig.cmb_monod_growth_rate

The specific growth rate of a microbial culture limited by one substrate (Monod), its fraction of the maximum and the corresponding doubling time.

\mu = \mu_{max}\frac{S}{K_s + S}

You give

MeaningUnitExample
\mu_{\mathrm{max}}
Maximum specific growth rate1/s0.72 1/h
S
Limiting substrate concentrationkg/m^350 mg/L
\text{Ks}
Half-saturation constantkg/m^310 mg/L

You get

MeaningUnitExample
\mu
Specific growth rate1/s0.0001666666667 1/s
\mu_{\mathrm{per},h}
Growth rate per hour—0.6
\text{fraction}
mu / mu_max—0.8333333333
\text{td\_h}
Doubling time ln2/mu in hours (0 when mu = 0)—1.155245301

Values with a unit may be written in any unit of the right kind.

Applies when

  • mu_max, Ks > 0
  • S >= 0
  • a single limiting substrate

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Monod growth rate: mu_max = 0.72 1/h, S = 50 mg/L, Ks = 10 mg/L
mu = 0.0001666666667 1/s
mu_per_h = 0.6
fraction = 0.8333333333
td_h = 1.155245301

Run it

Terminal
$ cell-molecular-biology solve cmb_monod_growth_rate "mu_max=0.72 1/h" "S=50 mg/L" "Ks=10 mg/L"
mu = 0.0001666666667 1/s
mu_per_h = 0.6
fraction = 0.8333333333
td_h = 1.155245301
  by: Monod specific growth rate  (mu = mu_max S / (Ks + S))
  mu_max = 0.0002 1/s
  S = 0.05 kg/m^3
  Ks = 0.01 kg/m^3
  assumes: mu_max, Ks > 0; S >= 0; a single limiting substrate

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Number of molecules in a cell from a concentration2 fig.cmb_molecules_per_cell

The number of molecules of a species at concentration c in a compartment of volume V, and the concentration that one molecule per compartment represents.

N = c\,V\,N_A

You give

MeaningUnitExample
c
Concentrationmol/m^31 (nmol/L)
V
Cell (compartment) volumem^31 fL

You get

MeaningUnitExample
N
Number of molecules—0.602214076
\text{one\_molecule}
Concentration of one molecule in Vmol/m^31.660539067e-06 mol/m^3
\text{one\_molecule\_nM}
One molecule per compartment in nM—1.660539067

Values with a unit may be written in any unit of the right kind.

Applies when

  • c, V > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Molecules per cell: c = 1 nM, V = 1 fL
N = 0.602214076
one_molecule = 1.660539067e-06 mol/m^3
one_molecule_nM = 1.660539067

Run it

Terminal
$ cell-molecular-biology solve cmb_molecules_per_cell "c=1 (nmol/L)" "V=1 fL"
N = 0.602214076
one_molecule = 1.660539067e-06 mol/m^3
one_molecule_nM = 1.660539067
  by: Number of molecules in a cell from a concentration  (N = c V N_A)
  c = 1e-06 mol/m^3
  V = 1e-18 m^3
  assumes: c, V > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Specific growth rate fitted to growth-curve data1 fig.cmb_growth_rate_fit

The specific growth rate, doubling time and back-extrapolated initial count from counts (or OD) measured during exponential growth, by a least-squares line through ln N against time.

\ln N = \ln N_0 + \mu t,\quad t_d = \frac{\ln 2}{\mu}

You give

MeaningUnitExample
t
Sampling times in hours vector—[0, 1, 2, 3, 4]
N
Cell counts or optical densities (positive) vector—[1000, 1980, 4100, 7900, 16200]

You get

MeaningUnitExample
\mu_{\mathrm{per},h}
Specific growth rate per hour—0.6953788399
\text{td\_h}
Doubling time in hours—0.9967907287
\text{N0\_fit}
Fitted count at t = 0—998.4351099
\text{r2}
Coefficient of determination of the log-linear fit—0.9998073985

Applies when

  • at least 3 points
  • counts > 0, increasing
  • exponential phase only

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Growth rate fit: t = [0, 1, 2, 3, 4], N = [1000, 1980, 4100, 7900, 16200]
mu_per_h = 0.6953788399
td_h = 0.9967907287
N0_fit = 998.4351099
r2 = 0.9998073985

Run it

Terminal
$ cell-molecular-biology solve cmb_growth_rate_fit "t=[0, 1, 2, 3, 4]" "N=[1000, 1980, 4100, 7900, 16200]"
mu_per_h = 0.6953788399
td_h = 0.9967907287
N0_fit = 998.4351099
r2 = 0.9998073985
  by: Specific growth rate fitted to growth-curve data  (least-squares line ln N = ln N0 + mu t; td = ln 2 / mu)
  assumes: at least 3 points; counts > 0, increasing; exponential phase only

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Time for a logistic population to reach a size1 fig.cmb_logistic_time_to_reach

The time for a population growing logistically from N0 (carrying capacity K, rate r) to reach N.

t = \frac{1}{r}\ln\frac{N (K – N_0)}{N_0 (K – N)}

You give

MeaningUnitExample
\text{N0}
Initial population—10000
K
Carrying capacity—100000000
r
Intrinsic growth rate1/s0.72 1/h
N
Target population—50000000

You get

MeaningUnitExample
t
Time to reach Ns46051.20183 s
t_{h}
Time in hours—12.79200051

Values with a unit may be written in any unit of the right kind.

Applies when

  • 0 < N0 < N < K
  • r > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Logistic time to reach: N0 = 10000, K = 100000000, r = 0.72 1/h, N = 50000000
t = 46051.20183 s
t_h = 12.79200051

Run it

Terminal
$ cell-molecular-biology solve cmb_logistic_time_to_reach N0=10000 K=100000000 "r=0.72 1/h" N=50000000
t = 46051.20183 s
t_h = 12.79200051
  by: Time for a logistic population to reach a size  (t = (1/r) ln[ N (K - N0) / (N0 (K - N)) ])
  N0 = 10000
  K = 100000000
  r = 0.0002 1/s
  N = 50000000
  assumes: 0 < N0 < N < K; r > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Transformation efficiency1 fig.cmb_transformation_efficiency

Transformants per microgram of DNA from the colonies on a plate, the DNA mass used and the fraction of the transformation plated.

\eta = \frac{n}{m_{DNA}\,(V_{plated}/V_{total})}

You give

MeaningUnitExample
\text{colonies}
Transformant colonies counted—200
m_{\mathrm{DNA}}
DNA mass used in the transformationkg1 ng
V_{\mathrm{plated}}
Volume platedm^3100 uL
V_{\mathrm{total}}
Total volume after recoverym^31000 uL

You get

MeaningUnitExample
\text{efficiency}
Transformants per microgram of DNA—2000000
\text{log10\_efficiency}
log10 of the efficiency—6.301029996
\text{DNA\_plated\_ug}
Micrograms of DNA plated—0.0001

Values with a unit may be written in any unit of the right kind.

Applies when

  • colonies a whole number
  • m_DNA, volumes > 0
  • V_plated <= V_total

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Transformation efficiency: colonies = 200, m_DNA = 1 ng, V_plated = 100 uL, V_total = 1000 uL
efficiency = 2000000
log10_efficiency = 6.301029996
DNA_plated_ug = 0.0001

Run it

Terminal
$ cell-molecular-biology solve cmb_transformation_efficiency colonies=200 "m_DNA=1 ng" "V_plated=100 uL" "V_total=1000 uL"
efficiency = 2000000
log10_efficiency = 6.301029996
DNA_plated_ug = 0.0001
  by: Transformation efficiency  (efficiency = colonies / (ug DNA x V_plated / V_total))
  m_DNA = 1e-12 kg
  V_plated = 1e-07 m^3
  V_total = 1e-06 m^3
  assumes: colonies a whole number; m_DNA, volumes > 0; V_plated <= V_total

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Volume, surface area and surface-to-volume ratio of a spherical cell1 fig.cmb_cell_geometry

The volume (fL), surface area and surface-to-volume ratio of a spherical cell of a given diameter.

V = \tfrac{4}{3}\pi r^3,\quad A = 4\pi r^2,\quad \frac{A}{V} = \frac{3}{r}

You give

MeaningUnitExample
d
Cell diameterm10 um

You get

MeaningUnitExample
V
Cell volumem^35.235987756e-16 m^3
V_{\mathrm{fL}}
Volume in femtolitres (um³)—523.5987756
A
Surface aream^23.141592654e-10 m^2
A_{\mathrm{um2}}
Surface area in um²—314.1592654
\text{SA\_V\_per\_um}
Surface-to-volume ratio in 1/um—0.6

Values with a unit may be written in any unit of the right kind.

Applies when

  • d > 0
  • a sphere

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Spherical cell volume and surface area: d = 10 um
V = 5.235987756e-16 m^3
V_fL = 523.5987756
A = 3.141592654e-10 m^2
A_um2 = 314.1592654
SA_V_per_um = 0.6

Run it

Terminal
$ cell-molecular-biology solve cmb_cell_geometry "d=10 um"
V = 5.235987756e-16 m^3
V_fL = 523.5987756
A = 3.141592654e-10 m^2
A_um2 = 314.1592654
SA_V_per_um = 0.6
  by: Volume, surface area and surface-to-volume ratio of a spherical cell  (V = (4/3) pi r^3, A = 4 pi r^2, A/V = 3/r)
  d = 1e-05 m
  assumes: d > 0; a sphere

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

DNA and RNA 20

A260/A280 and A260/A230 purity ratios1 fig.cmb_absorbance_ratios

The A260/A280 and A260/A230 ratios of a nucleic acid sample after subtracting the A320 background (about 1.8 for pure DNA, 2.0 for pure RNA; lower values suggest protein or organic contaminants).

\frac{A_{260} – A_{320}}{A_{280} – A_{320}}

You give

MeaningUnitExample
\text{A260}
Absorbance at 260 nm—0.9
\text{A280}
Absorbance at 280 nm—0.5
\text{A230}
Absorbance at 230 nm (optional) optional—0.42
\text{A320}
Background absorbance at 320 nm (default 0) optional—

You get

MeaningUnitExample
\text{ratio\_260\_280}
A260/A280 after background subtraction—1.8
\text{ratio\_260\_230}
A260/A230 after background subtraction (when A230 is given)—2.142857143

An optional input can be left out: a stated default is used.

Applies when

  • absorbances > 0
  • A320 below the other readings

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Absorbance ratios: A260 = 0.9, A280 = 0.5, A230 = 0.42
ratio_260_280 = 1.8
ratio_260_230 = 2.142857143

Run it

Terminal
$ cell-molecular-biology solve cmb_absorbance_ratios A260=0.9 A280=0.5 A230=0.42
ratio_260_280 = 1.8
ratio_260_230 = 2.142857143
  by: A260/A280 and A260/A230 purity ratios  (ratio = (A260 - A320)/(A280 - A320); (A260 - A320)/(A230 - A320))
  A260 = 0.9
  A280 = 0.5
  A230 = 0.42
  assumes: absorbances > 0; A320 below the other readings

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Basic GC melting temperature of an oligonucleotide1 fig.cmb_tm_basic

The basic melting temperature of a DNA oligonucleotide of 14 nt or more, Tm = 64.9 + 41 (G + C – 16.4) / N (50 mM Na+ assumed, no salt term).

T_m = 64.9 + 41\,\frac{n_G + n_C – 16.4}{N}

You give

MeaningUnitExample
\text{seq}
DNA sequence (A, C, G, T), at least 14 nt text—AGCGGATAACAATTTCACACAGGA

You get

MeaningUnitExample
\text{Tm}
Melting temperature in degC—53.96666667
\text{gc\_percent}
GC content in per cent—41.66666667
\text{length}
Length in nt—24

Applies when

  • DNA letters only
  • N >= 14

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Basic melting temperature: seq = AGCGGATAACAATTTCACACAGGA
Tm = 53.96666667
gc_percent = 41.66666667
length = 24

Run it

Terminal
$ cell-molecular-biology solve cmb_tm_basic seq=AGCGGATAACAATTTCACACAGGA
Tm = 53.96666667
gc_percent = 41.66666667
length = 24
  by: Basic GC melting temperature of an oligonucleotide  (Tm = 64.9 + 41 (nG + nC - 16.4) / N)
  seq = AGCGGATAACAATTTCACACAGGA
  assumes: DNA letters only; N >= 14

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Copy number and moles of a DNA or RNA molecule from its mass2 fig.cmb_dna_copy_number

The molecular weight, picomoles and number of copies in a mass of dsDNA, ssDNA or RNA of a given length (NEB average-mass formulas).

N = \frac{m}{M}\,N_A

You give

MeaningUnitExample
m
Mass of nucleic acidkg1 ng
n
Length in base pairs (dsDNA) or bases (ssDNA, RNA)—3000
\text{molecule}
DsDNA, ssDNA or RNA choice—dsDNA

You get

MeaningUnitExample
\text{MW}
Molecular weightkg/mol1853.91604 kg/mol
\text{MW\_g\_mol}
Molecular weight in g/mol—1853916.04
\text{pmol}
Picomoles—0.0005393987529
\text{copies}
Number of molecules—324833521.6

Values with a unit may be written in any unit of the right kind.

Applies when

  • m > 0
  • n a whole number >= 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

DNA copy number: m = 1 ng, n = 3000 bp, molecule = dsDNA
MW = 1853.91604 kg/mol
MW_g_mol = 1853916.04
pmol = 0.0005393987529
copies = 324833521.6

Run it

Terminal
$ cell-molecular-biology solve cmb_dna_copy_number "m=1 ng" n=3000 molecule=dsDNA
MW = 1853.91604 kg/mol
MW_g_mol = 1853916.04
pmol = 0.0005393987529
copies = 324833521.6
  by: Copy number and moles of a DNA or RNA molecule from its mass  (MW = 617.96 n + 36.04 (dsDNA), 308.97 n + 18.02 (ssDNA), 320.5 n + 159.0 (RNA) g/mol; copies = m / MW x N_A)
  m = 1e-12 kg
  molecule = dsDNA
  assumes: m > 0; n a whole number >= 1

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Extinction coefficient of a DNA oligonucleotide at 260 nm (nearest neighbour)1 fig.cmb_oligo_extinction_coefficient

The molar extinction coefficient at 260 nm of a single-stranded DNA oligonucleotide by the nearest-neighbour method, with micrograms and nanomoles per A260 unit (5'-hydroxyl oligo, 1 mL, 1 cm).

\varepsilon_{260} = \sum_{i=1}^{N-1}\varepsilon_{i,i+1} – \sum_{i=2}^{N-1}\varepsilon_i

You give

MeaningUnitExample
\text{seq}
DNA oligonucleotide 5'->3' (A, C, G, T) text—ATGCATGCAT

You get

MeaningUnitExample
\text{eps}
Molar extinction coefficient at 260 nmm^2/mol9800 m^2/mol
\text{eps\_L\_mol\_cm}
Extinction coefficient in L/(mol cm)—98000
\text{ug\_per\_A260}
Micrograms per A260 unit (per mL at 1 cm)—30.8878561
\text{nmol\_per\_A260}
Nanomoles per A260 unit (per mL at 1 cm)—10.20408163

Applies when

  • DNA letters only
  • single strand

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Oligonucleotide extinction coefficient: seq = ATGCATGCAT
eps = 9800 m^2/mol
eps_L_mol_cm = 98000
ug_per_A260 = 30.8878561
nmol_per_A260 = 10.20408163

Run it

Terminal
$ cell-molecular-biology solve cmb_oligo_extinction_coefficient seq=ATGCATGCAT
eps = 9800 m^2/mol
eps_L_mol_cm = 98000
ug_per_A260 = 30.8878561
nmol_per_A260 = 10.20408163
  by: Extinction coefficient of a DNA oligonucleotide at 260 nm (nearest neighbour)  (eps = sum of nearest-neighbour pair values - sum of internal single-base values (Cantor-Warshaw-Shapiro table))
  seq = ATGCATGCAT
  assumes: DNA letters only; single strand

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

GC content of a DNA or RNA sequence1 fig.cmb_gc_content

The fraction and percentage of G + C in a DNA or RNA sequence, with the base counts and the length.

\mathrm{GC} = \frac{n_G + n_C}{N}

You give

MeaningUnitExample
\text{seq}
DNA or RNA sequence (A, C, G, T or U) text—ATGCGCGATTACGC

You get

MeaningUnitExample
\text{gc\_fraction}
Fraction of G + C—0.5714285714
\text{gc\_percent}
GC content in per cent—57.14285714
\text{length}
Length in bases—14
G
Number of G—4
C
Number of C—4
A
Number of A—3
T_{\mathrm{or},U}
Number of T (DNA) or U (RNA)—3

Applies when

  • only A, C, G, T or U

Outside these conditions it says what is wrong instead of returning a number.

Worked example

GC content: seq = ATGCGCGATTACGC
gc_fraction = 0.5714285714
gc_percent = 57.14285714
length = 14
G = 4
C = 4
A = 3

Run it

Terminal
$ cell-molecular-biology solve cmb_gc_content seq=ATGCGCGATTACGC
gc_fraction = 0.5714285714
gc_percent = 57.14285714
length = 14
G = 4
C = 4
A = 3
T_or_U = 3
  by: GC content of a DNA or RNA sequence  (GC = (n_G + n_C) / N)
  seq = ATGCGCGATTACGC
  assumes: only A, C, G, T or U

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Insert mass for a ligation at an insert:vector molar ratio1 fig.cmb_ligation_insert_mass

The mass of insert DNA needed for a ligation at a chosen insert:vector molar ratio, and the femtomoles of vector and insert (660 g/mol per bp).

m_{ins} = r\,m_{vec}\,\frac{L_{ins}}{L_{vec}}

You give

MeaningUnitExample
m_{\mathrm{vector}}
Mass of vector DNAkg50 ng
L_{\mathrm{vector}}
Vector length in bp—3000
L_{\mathrm{insert}}
Insert length in bp—1000
\text{ratio}
Insert:vector molar ratio (e.g. 3 for 3:1)—3

You get

MeaningUnitExample
m_{\mathrm{insert}}
Mass of insertkg5e-11 kg
m_{\mathrm{insert},\mathrm{ng}}
Mass of insert in ng—50
\text{vector\_fmol}
Vector in fmol—25.25252525
\text{insert\_fmol}
Insert in fmol—75.75757576

Values with a unit may be written in any unit of the right kind.

Applies when

  • masses, ratio > 0
  • lengths whole numbers >= 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Ligation insert mass: m_vector = 50 ng, L_vector = 3000 bp, L_insert = 1000 bp, ratio = 3
m_insert = 5e-11 kg
m_insert_ng = 50
vector_fmol = 25.25252525
insert_fmol = 75.75757576

Run it

Terminal
$ cell-molecular-biology solve cmb_ligation_insert_mass "m_vector=50 ng" L_vector=3000 L_insert=1000 ratio=3
m_insert = 5e-11 kg
m_insert_ng = 50
vector_fmol = 25.25252525
insert_fmol = 75.75757576
  by: Insert mass for a ligation at an insert:vector molar ratio  (m_insert = ratio x m_vector x L_insert / L_vector)
  m_vector = 5e-11 kg
  ratio = 3
  assumes: masses, ratio > 0; lengths whole numbers >= 1

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Longest open reading frame on both strands1 fig.cmb_orf_finder

The longest open reading frame (ATG to the first in-frame stop) in all six frames of a DNA sequence with at least min_aa codons, its strand, coordinates on that strand, protein and the number of such ORFs.

\mathrm{ORF} = \mathrm{ATG}\,(\mathrm{NNN})^{n}\,\{\mathrm{TAA,TAG,TGA}\}

You give

MeaningUnitExample
\text{seq}
DNA sequence 5'->3' text—CCATGAAACGCATTAGCACCACCATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGAGG
\text{min\_aa}
Minimum ORF length in codons (amino acids, stop excluded)—10

You get

MeaningUnitExample
\text{strand}
+ (given strand) or – (reverse complement)—+
\text{start}
1-based start of the ATG on that strand (read 5'->3')—3
\text{end}
1-based end of the stop codon on that strand—68
\text{length\_nt}
ORF length in nt including the stop—66
\text{length\_aa}
Protein length in amino acids—21
\text{protein}
Encoded protein (one-letter code)—MKRISTTITTTITITTGNGAG
n_{\mathrm{orfs}}
Number of ORFs of at least min_aa codons—1

Applies when

  • DNA letters only
  • min_aa >= 1
  • at least one ORF

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Find the longest ORF: seq = CCATGAAACGCATTAGCACCACCATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGAGG, min_aa = 10
strand = +
start = 3
end = 68
length_nt = 66
length_aa = 21
protein = MKRISTTITTTITITTGNGAG

Run it

Terminal
$ cell-molecular-biology solve cmb_orf_finder seq=CCATGAAACGCATTAGCACCACCATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGAGG min_aa=10
strand = +
start = 3
end = 68
length_nt = 66
length_aa = 21
protein = MKRISTTITTTITITTGNGAG
n_orfs = 1
  by: Longest open reading frame on both strands  (scan the three frames of each strand; an ORF starts at the first ATG after the previous stop and ends at the next stop; keep the longest (ties: + strand, then the lowest start))
  seq = CCATGAAACGCATTAGCACCACCATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGAGG
  assumes: DNA letters only; min_aa >= 1; at least one ORF

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Molecular weight of a DNA or RNA oligonucleotide1 fig.cmb_oligo_molecular_weight

The average molecular weight of a single- or double-stranded DNA or RNA oligonucleotide, with a 5'-phosphate (sum of nucleotide monophosphates minus waters) and as the 5'-hydroxyl form of synthetic oligos.

M = \sum_i m_i – (n – 1)\,M_{H_2O}

You give

MeaningUnitExample
\text{seq}
DNA or RNA sequence 5'->3' text—ATGCATGCAT
\text{strands}
Single strand or the duplex with its complement choice—single

You get

MeaningUnitExample
\text{MW}
Molecular weight (5'-phosphate)kg/mol3.1069898 kg/mol
\text{MW\_g\_mol}
Molecular weight in g/mol (5'-phosphate)—3106.9898
\text{MW\_hydroxyl\_g\_mol}
Molecular weight in g/mol with 5'-hydroxyl ends—3027.009898

Applies when

  • only A, C, G, T (DNA) or A, C, G, U (RNA)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Oligonucleotide molecular weight: seq = ATGCATGCAT, strands = single
MW = 3.1069898 kg/mol
MW_g_mol = 3106.9898
MW_hydroxyl_g_mol = 3027.009898

Run it

Terminal
$ cell-molecular-biology solve cmb_oligo_molecular_weight seq=ATGCATGCAT strands=single
MW = 3.1069898 kg/mol
MW_g_mol = 3106.9898
MW_hydroxyl_g_mol = 3027.009898
  by: Molecular weight of a DNA or RNA oligonucleotide  (MW = sum of nucleotide monophosphate weights - (n - 1) x 18.0153; 5'-OH form minus HPO3 (79.98) per strand)
  seq = ATGCATGCAT
  strands = single
  assumes: only A, C, G, T (DNA) or A, C, G, U (RNA)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Mutation rate by the fluctuation-test p0 method1 fig.cmb_mutation_rate_p0

The expected number of mutations per culture m = -ln p0 from the fraction of parallel cultures without mutants (Luria-Delbruck p0 method) and the mutation rate m / Nt.

p_0 = e^{-m},\quad \mu = \frac{-\ln p_0}{N_t}

You give

MeaningUnitExample
\text{n0}
Number of cultures with no mutants—11
n
Total number of cultures—20
\text{Nt}
Final number of cells per culture—200000000

You get

MeaningUnitExample
\text{p0}
Fraction of cultures without mutants—0.55
m
Mean mutations per culture—0.5978370008
\text{mutation\_rate}
Mutations per cell per generation (m / Nt)—2.989185004e-09

Applies when

  • 1 <= n0 < n
  • Nt > 0
  • Poisson number of mutational events per culture

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Mutation rate by the p0 method: n0 = 11, n = 20, Nt = 200000000
p0 = 0.55
m = 0.5978370008
mutation_rate = 2.989185004e-09

Run it

Terminal
$ cell-molecular-biology solve cmb_mutation_rate_p0 n0=11 n=20 Nt=200000000
p0 = 0.55
m = 0.5978370008
mutation_rate = 2.989185004e-09
  by: Mutation rate by the fluctuation-test p0 method  (p0 = e^-m, so m = -ln(n0/n); mu = m / Nt)
  Nt = 200000000
  assumes: 1 <= n0 < n; Nt > 0; Poisson number of mutational events per culture

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Nearest-neighbour melting temperature of a DNA duplex1 fig.cmb_tm_nearest_neighbor

The melting temperature of a perfectly matched DNA duplex by nearest-neighbour thermodynamics (SantaLucia-Hicks 2004 unified parameters) with the SantaLucia (1998) sodium correction, and the duplex dH, dS and dG at 37 degC.

T_m = \frac{1000\,\Delta H^\circ}{\Delta S^\circ + 0.368(N-1)\ln[\mathrm{Na^+}] + R\ln k} – 273.15

You give

MeaningUnitExample
\text{seq}
DNA sequence 5'->3' (A, C, G, T) text—CGTTCCAAAGATGTGGGCATGAGCTTAC
\text{Na}
Monovalent cation (Na+) concentrationmol/m^350 (mmol/L)
\text{c1}
Concentration of the more concentrated strandmol/m^3250 (nmol/L)
\text{c2}
Concentration of the less concentrated strand (0 if in large excess)mol/m^3250 (nmol/L)

You get

MeaningUnitExample
\text{Tm}
Melting temperature in degC—62.58162841
\text{dH}
Duplex enthalpy in kcal/mol—-221.7
\text{dS}
Salt-corrected duplex entropy in cal/(mol K)—-628.7655959
\text{dG37}
Free energy at 37 degC in kcal/mol—-26.68835044

Values with a unit may be written in any unit of the right kind.

Applies when

  • DNA letters, length >= 2
  • Na+ > 0
  • c1 > c2/2 (self-complementary: k = c1)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Nearest-neighbour melting temperature: seq = CGTTCCAAAGATGTGGGCATGAGCTTAC, Na = 50 mM, c1 = 250 nM, c2 = 250 nM
Tm = 62.58162841
dH = -221.7
dS = -628.7655959
dG37 = -26.68835044

Run it

Terminal
$ cell-molecular-biology solve cmb_tm_nearest_neighbor seq=CGTTCCAAAGATGTGGGCATGAGCTTAC "Na=50 (mmol/L)" "c1=250 (nmol/L)" "c2=250 (nmol/L)"
Tm = 62.58162841
dH = -221.7
dS = -628.7655959
dG37 = -26.68835044
  by: Nearest-neighbour melting temperature of a DNA duplex  (sum nearest-neighbour dH and dS with initiation and terminal A/T terms (+ symmetry); dS += 0.368 (N-1) ln[Na+]; Tm = 1000 dH / (dS + R ln k) - 273.15, k = c1 - c2/2)
  Na = 50 mol/m^3
  c1 = 0.00025 mol/m^3
  c2 = 0.00025 mol/m^3
  seq = CGTTCCAAAGATGTGGGCATGAGCTTAC
  assumes: DNA letters, length >= 2; Na+ > 0; c1 > c2/2 (self-complementary: k = c1)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Nucleic acid concentration from A2602 fig.cmb_nucleic_acid_a260

The concentration of dsDNA, ssDNA or RNA from its absorbance at 260 nm (50, 33 and 40 ug/mL per unit at 1 cm), with the dilution and path length, and the mass in a volume.

c = A_{260}\times F \times DF / \ell

You give

MeaningUnitExample
\text{A260}
Absorbance at 260 nm (blank-corrected)—0.5
\text{molecule}
DsDNA, ssDNA or RNA choice—dsDNA
\text{dilution}
Dilution factor of the measured sample (default 1) optional—10
l
Path length (default 1 cm) optionalm
V
Volume of the stock (optional, for the total mass) optionalm^3

You get

MeaningUnitExample
c
Concentration of the stockkg/m^30.25 kg/m^3
c_{\mathrm{ug},\mathrm{mL}}
Concentration in ug/mL (= ng/uL)—250
\text{mass\_ug}
Micrograms in V (when V is given)—

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • A260 >= 0 (best within 0.1-1.0)
  • dilution >= 1
  • l > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Nucleic acid concentration from A260: A260 = 0.5, molecule = dsDNA, dilution = 10
c = 0.25 kg/m^3
c_ug_mL = 250

Run it

Terminal
$ cell-molecular-biology solve cmb_nucleic_acid_a260 A260=0.5 molecule=dsDNA dilution=10
c = 0.25 kg/m^3
c_ug_mL = 250
  by: Nucleic acid concentration from A260  (c (ug/mL) = A260 x factor x dilution / l(cm); factor 50 (dsDNA), 33 (ssDNA), 40 (RNA))
  A260 = 0.5
  dilution = 10
  molecule = dsDNA
  assumes: A260 >= 0 (best within 0.1-1.0); dilution >= 1; l > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Number of clones for a genomic library (Clarke-Carbon)1 fig.cmb_library_size

The number of random clones needed so that any given sequence is present with probability P, for a genome of size G and inserts of size I.

N = \frac{\ln(1 – P)}{\ln(1 – I/G)}

You give

MeaningUnitExample
G
Genome size in bp—3000000000
I
Insert size in bp—40000
P
Desired probability (e.g. 99%)—0.99

You get

MeaningUnitExample
\text{clones\_exact}
Number of clones (real value)—345385.4614
\text{clones}
Number of clones rounded up—345386

Applies when

  • 0 < I < G
  • 0 < P < 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Genomic library size: G = 3000000000 bp, I = 40000 bp, P = 99%
clones_exact = 345385.4614
clones = 345386

Run it

Terminal
$ cell-molecular-biology solve cmb_library_size G=3000000000 I=40000 P=0.99
clones_exact = 345385.4614
clones = 345386
  by: Number of clones for a genomic library (Clarke-Carbon)  (N = ln(1 - P) / ln(1 - I/G))
  G = 3000000000
  I = 40000
  P = 0.99
  assumes: 0 < I < G; 0 < P < 1

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Primer melting temperature by the Wallace rule1 fig.cmb_tm_wallace

The approximate melting temperature (degC) of a short DNA primer (about 14-20 nt) by the Wallace rule, 2 degC per A/T and 4 degC per G/C.

T_m = 2(n_A + n_T) + 4(n_G + n_C)\ ^\circ\mathrm{C}

You give

MeaningUnitExample
\text{seq}
DNA primer sequence (A, C, G, T) text—ACGTTGCAATGCCGTA

You get

MeaningUnitExample
\text{Tm}
Melting temperature in degC—48
\text{AT}
Number of A and T—8
\text{GC}
Number of G and C—8

Applies when

  • DNA letters only
  • at least 2 bases (meant for 14-20 nt)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Wallace melting temperature: seq = ACGTTGCAATGCCGTA
Tm = 48
AT = 8
GC = 8

Run it

Terminal
$ cell-molecular-biology solve cmb_tm_wallace seq=ACGTTGCAATGCCGTA
Tm = 48
AT = 8
GC = 8
  by: Primer melting temperature by the Wallace rule  (Tm = 2 (A + T) + 4 (G + C) degC)
  seq = ACGTTGCAATGCCGTA
  assumes: DNA letters only; at least 2 bases (meant for 14-20 nt)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Protein concentration by Warburg-Christian (A280 and A260)2 fig.cmb_warburg_christian

The protein concentration (mg/mL) of a sample containing nucleic acid from its absorbances at 280 and 260 nm, protein = 1.55 A280 – 0.76 A260 (1 cm).

c_{prot} = 1.55A_{280} – 0.76A_{260}\ \mathrm{mg/mL}

You give

MeaningUnitExample
\text{A280}
Absorbance at 280 nm—0.8
\text{A260}
Absorbance at 260 nm—0.5

You get

MeaningUnitExample
\text{protein}
Protein concentrationkg/m^30.86 kg/m^3
\text{protein\_mg\_mL}
Protein in mg/mL—0.86
\text{ratio\_280\_260}
A280/A260—1.6

Applies when

  • absorbances >= 0, 1 cm path
  • a positive estimate

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Warburg-Christian protein: A280 = 0.8, A260 = 0.5
protein = 0.86 kg/m^3
protein_mg_mL = 0.86
ratio_280_260 = 1.6

Run it

Terminal
$ cell-molecular-biology solve cmb_warburg_christian A280=0.8 A260=0.5
protein = 0.86 kg/m^3
protein_mg_mL = 0.86
ratio_280_260 = 1.6
  by: Protein concentration by Warburg-Christian (A280 and A260)  (protein (mg/mL) = 1.55 A280 - 0.76 A260)
  A280 = 0.8
  A260 = 0.5
  assumes: absorbances >= 0, 1 cm path; a positive estimate

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Protein concentration from A280 and the extinction coefficient1 fig.cmb_protein_concentration_a280

The molar (and, with the molar mass, mass) concentration of a protein from its absorbance at 280 nm and molar extinction coefficient (Beer-Lambert).

c = \frac{A_{280}}{\varepsilon\,\ell}

You give

MeaningUnitExample
\text{A280}
Absorbance at 280 nm—0.75
\text{eps}
Molar extinction coefficient at 280 nmm^2/mol43570 L/(mol*cm)
\text{MW}
Molar mass of the protein (optional) optionalkg/mol66430 g/mol
l
Path length (default 1 cm) optionalm

You get

MeaningUnitExample
c
Protein concentrationmol/m^30.01721367914 mol/m^3
c_{\mathrm{uM}}
Concentration in uM—17.21367914
c_{\mathrm{mg},\mathrm{mL}}
Concentration in mg/mL (when MW is given)—1.143504705

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • A280 >= 0
  • eps, l > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Protein concentration from A280: A280 = 0.75, eps = 43570 L/(mol*cm), MW = 66430 g/mol
c = 0.01721367914 mol/m^3
c_uM = 17.21367914
c_mg_mL = 1.143504705

Run it

Terminal
$ cell-molecular-biology solve cmb_protein_concentration_a280 A280=0.75 "eps=43570 L/(mol*cm)" "MW=66430 g/mol"
c = 0.01721367914 mol/m^3
c_uM = 17.21367914
c_mg_mL = 1.143504705
  by: Protein concentration from A280 and the extinction coefficient  (c = A / (eps l); mass concentration = c x MW)
  A280 = 0.75
  eps = 4357 m^2/mol
  MW = 66.43 kg/mol
  assumes: A280 >= 0; eps, l > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Reverse complement of a DNA or RNA sequence1 fig.cmb_reverse_complement

The reverse complement (the other strand read 5'->3'), the complement and the reverse of a DNA or RNA sequence.

\mathrm{rc}(s) = \overline{s_N}\cdots\overline{s_1}

You give

MeaningUnitExample
\text{seq}
DNA or RNA sequence 5'->3' text—ATGCGTACCTGA

You get

MeaningUnitExample
\text{reverse\_complement}
Reverse complement 5'->3'—TCAGGTACGCAT
\text{complement}
Complement 3'->5'—TACGCATGGACT
\text{reverse}
The sequence reversed—AGTCCATGCGTA

Applies when

  • only A, C, G, T or U

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Reverse complement: seq = ATGCGTACCTGA
reverse_complement = TCAGGTACGCAT
complement = TACGCATGGACT
reverse = AGTCCATGCGTA

Run it

Terminal
$ cell-molecular-biology solve cmb_reverse_complement seq=ATGCGTACCTGA
reverse_complement = TCAGGTACGCAT
complement = TACGCATGGACT
reverse = AGTCCATGCGTA
  by: Reverse complement of a DNA or RNA sequence  (complement A-T (A-U), G-C, then reverse)
  seq = ATGCGTACCTGA
  assumes: only A, C, G, T or U

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Salt-adjusted melting temperature of an oligonucleotide1 fig.cmb_tm_salt_adjusted

The melting temperature of a DNA oligonucleotide of 14 nt or more with a sodium correction: Tm = 81.5 + 16.6 log10[Na+] + 0.41 %GC – 600/N.

T_m = 81.5 + 16.6\log_{10}[\mathrm{Na^+}] + 0.41\,\%GC – \frac{600}{N}

You give

MeaningUnitExample
\text{seq}
DNA sequence (A, C, G, T), at least 14 nt text—AGCGGATAACAATTTCACACAGGA
\text{Na}
Monovalent cation (Na+) concentrationmol/m^350 (mmol/L)

You get

MeaningUnitExample
\text{Tm}
Melting temperature in degC—51.98623541
\text{gc\_percent}
GC content in per cent—41.66666667
\text{salt\_term}
Salt term 16.6 log10[Na+] in degC—-21.59709793

Values with a unit may be written in any unit of the right kind.

Applies when

  • DNA letters only
  • N >= 14
  • Na+ > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Salt-adjusted melting temperature: seq = AGCGGATAACAATTTCACACAGGA, Na = 50 mM
Tm = 51.98623541
gc_percent = 41.66666667
salt_term = -21.59709793

Run it

Terminal
$ cell-molecular-biology solve cmb_tm_salt_adjusted seq=AGCGGATAACAATTTCACACAGGA "Na=50 (mmol/L)"
Tm = 51.98623541
gc_percent = 41.66666667
salt_term = -21.59709793
  by: Salt-adjusted melting temperature of an oligonucleotide  (Tm = 81.5 + 16.6 log10([Na+]/M) + 0.41 %GC - 600/N)
  Na = 50 mol/m^3
  seq = AGCGGATAACAATTTCACACAGGA
  assumes: DNA letters only; N >= 14; Na+ > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Sequencing coverage and uncovered fraction (Lander-Waterman)1 fig.cmb_genome_coverage

The mean sequencing depth C = L N / G, the expected fraction and number of bases not covered (e^-C) and the expected number of contigs (N e^-C).

C = \frac{LN}{G},\quad P_0 = e^{-C}

You give

MeaningUnitExample
L
Read length in bp—150
N
Number of reads—2000000
G
Genome size in bp—5000000

You get

MeaningUnitExample
\text{coverage}
Mean coverage (depth)—60
\text{fraction\_uncovered}
Fraction of bases not covered e^-C—8.756510763e-27
\text{bases\_uncovered}
Expected bases not covered—4.378255381e-20
\text{contigs}
Expected number of contigs N e^-C—1.751302153e-20

Applies when

  • L, N whole numbers >= 1
  • G > 0
  • reads placed uniformly at random

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Genome coverage: L = 150 bp, N = 2000000, G = 5000000 bp
coverage = 60
fraction_uncovered = 8.756510763e-27
bases_uncovered = 4.378255381e-20
contigs = 1.751302153e-20

Run it

Terminal
$ cell-molecular-biology solve cmb_genome_coverage L=150 N=2000000 G=5000000
coverage = 60
fraction_uncovered = 8.756510763e-27
bases_uncovered = 4.378255381e-20
contigs = 1.751302153e-20
  by: Sequencing coverage and uncovered fraction (Lander-Waterman)  (C = L N / G; P(0 reads) = e^-C (Poisson))
  G = 5000000
  assumes: L, N whole numbers >= 1; G > 0; reads placed uniformly at random

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Transcription of a DNA strand into mRNA1 fig.cmb_transcribe

The mRNA (5'->3') transcribed from a DNA sequence given 5'->3' as either the coding (sense) strand or the template (antisense) strand.

\mathrm{mRNA} = \mathrm{coding}(T\to U) = \mathrm{rc}(\mathrm{template})(T\to U)

You give

MeaningUnitExample
\text{seq}
DNA sequence 5'->3' text—ATGGCCTTTAAG
\text{strand}
Whether the given strand is the coding or the template strand choice—coding

You get

MeaningUnitExample
\text{mRNA}
MRNA sequence 5'->3'—AUGGCCUUUAAG
\text{length}
Length in nt—12

Applies when

  • DNA letters only

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Transcribe DNA: seq = ATGGCCTTTAAG, strand = coding
mRNA = AUGGCCUUUAAG
length = 12

Run it

Terminal
$ cell-molecular-biology solve cmb_transcribe seq=ATGGCCTTTAAG strand=coding
mRNA = AUGGCCUUUAAG
length = 12
  by: Transcription of a DNA strand into mRNA  (coding strand: T -> U; template strand: reverse complement, then T -> U)
  strand = coding
  seq = ATGGCCTTTAAG
  assumes: DNA letters only

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Translation of an mRNA or DNA sequence into protein1 fig.cmb_translate

The protein encoded from the first base (frame 1) by the standard genetic code: up to the first stop codon, and the full translation with stops as *. A trailing incomplete codon is ignored.

\text{codon} \mapsto \text{amino acid (table 1)}

You give

MeaningUnitExample
\text{seq}
MRNA or coding-strand DNA 5'->3' text—AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG

You get

MeaningUnitExample
\text{protein}
Amino acids up to the first stop (one-letter code)—MAIVMGR
\text{full\_translation}
Full translation with * for stops—MAIVMGR*KGAR*
\text{length\_aa}
Length of the protein up to the first stop—7
\text{stops}
Number of stop codons—2

Applies when

  • only A, C, G, T or U
  • at least one codon

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Translate: seq = AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG
protein = MAIVMGR
full_translation = MAIVMGR*KGAR*
length_aa = 7
stops = 2

Run it

Terminal
$ cell-molecular-biology solve cmb_translate seq=AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG
protein = MAIVMGR
full_translation = MAIVMGR*KGAR*
length_aa = 7
stops = 2
  by: Translation of an mRNA or DNA sequence into protein  (read codons from base 1 with the standard code (NCBI table 1))
  seq = AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG
  assumes: only A, C, G, T or U; at least one codon

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Enzyme kinetics 12

Competitive inhibition rate1 fig.cmb_competitive_inhibition

The rate of an enzyme with a competitive inhibitor (binding free enzyme only): Km rises by (1 + I/Ki), Vmax unchanged.

v = \frac{V_{max}[S]}{K_m(1 + [I]/K_i) + [S]}

You give

MeaningUnitExample
\text{Vmax}
Maximum rate without inhibitormol/(m^3*s)6 (umol/L)/min
\text{Km}
Michaelis constantmol/m^350 (umol/L)
S
Substrate concentrationmol/m^3100 (umol/L)
I
Inhibitor concentrationmol/m^320 (umol/L)
\text{Ki}
Inhibition (dissociation) constantmol/m^310 (umol/L)

You get

MeaningUnitExample
v
Rate with the inhibitormol/(m^3*s)4e-05 mol/(m^3*s)
\text{Km\_app}
Apparent Kmmol/m^30.15 mol/m^3
\text{Vmax\_app}
Apparent Vmaxmol/(m^3*s)0.0001 mol/(m^3*s)
\text{percent\_inhibition}
Per cent inhibition at this S—40

Values with a unit may be written in any unit of the right kind.

Applies when

  • Vmax, Km, Ki > 0
  • S, I >= 0
  • rapid-equilibrium inhibitor binding

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Competitive inhibition rate: Vmax = 6 uM/min, Km = 50 uM, S = 100 uM, I = 20 uM, Ki = 10 uM
v = 4e-05 mol/(m^3*s)
Km_app = 0.15 mol/m^3
Vmax_app = 0.0001 mol/(m^3*s)
percent_inhibition = 40

Run it

Terminal
$ cell-molecular-biology solve cmb_competitive_inhibition "Vmax=6 (umol/L)/min" "Km=50 (umol/L)" "S=100 (umol/L)" "I=20 (umol/L)" "Ki=10 (umol/L)"
v = 4e-05 mol/(m^3*s)
Km_app = 0.15 mol/m^3
Vmax_app = 0.0001 mol/(m^3*s)
percent_inhibition = 40
  by: Competitive inhibition rate  (v = Vmax S / (Km (1 + I/Ki) + S))
  Vmax = 0.0001 mol/(m^3*s)
  Km = 0.05 mol/m^3
  S = 0.1 mol/m^3
  I = 0.02 mol/m^3
  Ki = 0.01 mol/m^3
  assumes: Vmax, Km, Ki > 0; S, I >= 0; rapid-equilibrium inhibitor binding

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Enzyme activity and specific activity from a spectrophotometric assay1 fig.cmb_enzyme_assay_activity

The enzyme activity (units = umol/min) in a cuvette from the absorbance change over a time (Beer-Lambert), the activity per mL of the enzyme sample and, with its protein concentration, the specific activity (U/mg).

\text{U/mL} = \frac{(\Delta A/\Delta t)\,V_{assay}}{\varepsilon\,\ell\,V_{enz}}

You give

MeaningUnitExample
\text{dA}
Absorbance change over dt—0.12
\text{dt}
Time of the absorbance changes1 min
\text{eps}
Molar absorptivity of the measured product or substrate (NADH 6220 L/(mol cm))m^2/mol6220 L/(mol*cm)
l
Path lengthm1 cm
V_{\mathrm{assay}}
Total assay volumem^31 mL
V_{\mathrm{enzyme}}
Volume of enzyme sample addedm^320 uL
\text{protein}
Protein concentration of the enzyme sample (optional) optionalkg/m^30.5 mg/mL

You get

MeaningUnitExample
\text{rate}
Rate of concentration change in the cuvettemol/(m^3*s)0.0003215434084 mol/(m^3*s)
\text{units}
Activity in the cuvette in umol/min (U)—0.0192926045
\text{units\_per\_mL}
Activity of the enzyme sample in U/mL—0.9646302251
\text{specific\_activity}
Specific activity in U/mg (when protein is given)—1.92926045

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • dA != 0
  • dt, eps, l, volumes > 0
  • V_enzyme <= V_assay
  • linear initial rate

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Enzyme assay activity: dA = 0.12, dt = 1 min, eps = 6220 L/(mol*cm), l = 1 cm, V_assay = 1 mL, V_enzyme = 20 uL, protein = 0.5 mg/mL
rate = 0.0003215434084 mol/(m^3*s)
units = 0.0192926045
units_per_mL = 0.9646302251
specific_activity = 1.92926045

Run it

Terminal
$ cell-molecular-biology solve cmb_enzyme_assay_activity dA=0.12 "dt=1 min" "eps=6220 L/(mol*cm)" "l=1 cm" "V_assay=1 mL" "V_enzyme=20 uL" "protein=0.5 mg/mL"
rate = 0.0003215434084 mol/(m^3*s)
units = 0.0192926045
units_per_mL = 0.9646302251
specific_activity = 1.92926045
  by: Enzyme activity and specific activity from a spectrophotometric assay  (rate = |dA|/dt / (eps l); U = rate x V_assay (umol/min); U/mL = U / V_enzyme; U/mg = (U/mL) / (mg/mL))
  dA = 0.12
  dt = 60 s
  eps = 622 m^2/mol
  l = 0.01 m
  V_assay = 1e-06 m^3
  V_enzyme = 2e-08 m^3
  protein = 0.5 kg/m^3
  assumes: dA != 0; dt, eps, l, volumes > 0; V_enzyme <= V_assay; linear initial rate

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Inhibition constant from IC50 (Cheng-Prusoff)1 fig.cmb_ic50_to_ki

The inhibition constant Ki from a measured IC50 at substrate concentration S for a competitive, uncompetitive or noncompetitive inhibitor (Cheng-Prusoff relations).

K_i = \frac{IC_{50}}{1 + [S]/K_m}\ \text{(competitive)}

You give

MeaningUnitExample
\text{mode}
Mechanism of inhibition choice—competitive
\text{IC50}
Inhibitor concentration giving 50 % inhibitionmol/m^310 (umol/L)
S
Substrate concentration of the assaymol/m^3100 (umol/L)
\text{Km}
Michaelis constantmol/m^350 (umol/L)

You get

MeaningUnitExample
\text{Ki}
Inhibition constantmol/m^30.003333333333 mol/m^3
\text{Ki\_uM}
Ki in uM—3.333333333

Values with a unit may be written in any unit of the right kind.

Applies when

  • IC50, S, Km > 0
  • inhibitor not depleted (I >> E)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Ki from IC50: mode = competitive, IC50 = 10 uM, S = 100 uM, Km = 50 uM
Ki = 0.003333333333 mol/m^3
Ki_uM = 3.333333333

Run it

Terminal
$ cell-molecular-biology solve cmb_ic50_to_ki mode=competitive "IC50=10 (umol/L)" "S=100 (umol/L)" "Km=50 (umol/L)"
Ki = 0.003333333333 mol/m^3
Ki_uM = 3.333333333
  by: Inhibition constant from IC50 (Cheng-Prusoff)  (competitive Ki = IC50/(1 + S/Km); uncompetitive Ki = IC50/(1 + Km/S); noncompetitive Ki = IC50)
  IC50 = 0.01 mol/m^3
  S = 0.1 mol/m^3
  Km = 0.05 mol/m^3
  mode = competitive
  assumes: IC50, S, Km > 0; inhibitor not depleted (I >> E)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Km and Vmax by nonlinear least squares1 fig.cmb_michaelis_menten_nonlinear_fit

Km and Vmax fitted directly to initial-rate data by nonlinear least squares on v = Vmax S/(Km + S) (no linearizing transform), with the residual sum of squares and r^2.

\min_{V,K}\sum_i\left(v_i – \frac{V S_i}{K + S_i}\right)^2

You give

MeaningUnitExample
S
Substrate concentrations (any one unit) vector—[1, 2, 5, 10, 20, 50]
v
Initial rates (any one unit) vector—[16, 29.5, 49, 68, 79, 92]

You get

MeaningUnitExample
\text{Km}
Michaelis constant (unit of S)—5.079276612
\text{Vmax}
Maximum rate (unit of v)—100.7136844
\text{rss}
Residual sum of squares—5.867526413
\text{r2}
Coefficient of determination—0.9986415273

Applies when

  • at least 3 points
  • S, v > 0
  • an interior least-squares minimum

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Nonlinear Michaelis-Menten fit: S = [1, 2, 5, 10, 20, 50], v = [16, 29.5, 49, 68, 79, 92]
Km = 5.079276612
Vmax = 100.7136844
rss = 5.867526413
r2 = 0.9986415273

Run it

Terminal
$ cell-molecular-biology solve cmb_michaelis_menten_nonlinear_fit "S=[1, 2, 5, 10, 20, 50]" "v=[16, 29.5, 49, 68, 79, 92]"
Km = 5.079276612
Vmax = 100.7136844
rss = 5.867526413
r2 = 0.9986415273
  by: Km and Vmax by nonlinear least squares  (Vmax profiled out (Vmax = sum v g / sum g^2, g = S/(Km + S)); the stationary point in Km found by bisection)
  assumes: at least 3 points; S, v > 0; an interior least-squares minimum

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Km and Vmax from a Lineweaver-Burk plot1 fig.cmb_lineweaver_burk_fit

Km and Vmax from initial-rate data by the double-reciprocal (Lineweaver-Burk) least-squares line 1/v = (Km/Vmax)(1/S) + 1/Vmax.

\frac{1}{v} = \frac{K_m}{V_{max}}\frac{1}{[S]} + \frac{1}{V_{max}}

You give

MeaningUnitExample
S
Substrate concentrations (any one unit, e.g. uM) vector—[1, 2, 5, 10, 20, 50]
v
Initial rates (any one unit) vector—[16.7, 28.6, 50, 66.7, 80, 90.9]

You get

MeaningUnitExample
\text{Km}
Michaelis constant (unit of S)—4.982268904
\text{Vmax}
Maximum rate (unit of v)—99.88884109
\text{slope}
Slope Km/Vmax—0.04987813304
\text{intercept}
Intercept 1/Vmax—0.01001112826
\text{r2}
r^2 of the double-reciprocal line—0.9999996643

Applies when

  • at least 3 points
  • S, v > 0
  • positive slope and intercept

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Lineweaver-Burk fit: S = [1, 2, 5, 10, 20, 50], v = [16.7, 28.6, 50, 66.7, 80, 90.9]
Km = 4.982268904
Vmax = 99.88884109
slope = 0.04987813304
intercept = 0.01001112826
r2 = 0.9999996643

Run it

Terminal
$ cell-molecular-biology solve cmb_lineweaver_burk_fit "S=[1, 2, 5, 10, 20, 50]" "v=[16.7, 28.6, 50, 66.7, 80, 90.9]"
Km = 4.982268904
Vmax = 99.88884109
slope = 0.04987813304
intercept = 0.01001112826
r2 = 0.9999996643
  by: Km and Vmax from a Lineweaver-Burk plot  (least squares 1/v = a + b/S; Vmax = 1/a; Km = b/a)
  assumes: at least 3 points; S, v > 0; positive slope and intercept

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Michaelis-Menten reaction rate1 fig.cmb_michaelis_menten_rate

The initial rate of an enzyme-catalysed reaction at substrate concentration S from Vmax and Km, and the fraction of Vmax.

v = \frac{V_{max}[S]}{K_m + [S]}

You give

MeaningUnitExample
\text{Vmax}
Maximum ratemol/(m^3*s)100 (umol/L)/min
\text{Km}
Michaelis constantmol/m^350 (umol/L)
S
Substrate concentrationmol/m^3100 (umol/L)

You get

MeaningUnitExample
v
Initial ratemol/(m^3*s)0.001111111111 mol/(m^3*s)
v_{\mathrm{uM},\mathrm{min}}
Rate in uM/min—66.66666667
\text{fraction}
v / Vmax—0.6666666667

Values with a unit may be written in any unit of the right kind.

Applies when

  • Vmax, Km > 0
  • S >= 0
  • initial-rate conditions, S >> E

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Michaelis-Menten rate: Vmax = 100 uM/min, Km = 50 uM, S = 100 uM
v = 0.001111111111 mol/(m^3*s)
v_uM_min = 66.66666667
fraction = 0.6666666667

Run it

Terminal
$ cell-molecular-biology solve cmb_michaelis_menten_rate "Vmax=100 (umol/L)/min" "Km=50 (umol/L)" "S=100 (umol/L)"
v = 0.001111111111 mol/(m^3*s)
v_uM_min = 66.66666667
fraction = 0.6666666667
  by: Michaelis-Menten reaction rate  (v = Vmax S / (Km + S))
  Vmax = 0.001666666667 mol/(m^3*s)
  Km = 0.05 mol/m^3
  S = 0.1 mol/m^3
  assumes: Vmax, Km > 0; S >= 0; initial-rate conditions, S >> E

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Mixed inhibition rate1 fig.cmb_mixed_inhibition

The rate, apparent Km and apparent Vmax of an enzyme with a mixed inhibitor that binds free enzyme (Ki) and the enzyme-substrate complex (Kii) with different affinities.

v = \frac{V_{max}[S]}{K_m\left(1 + \frac{[I]}{K_i}\right) + [S]\left(1 + \frac{[I]}{K_i'}\right)}

You give

MeaningUnitExample
\text{Vmax}
Maximum rate without inhibitormol/(m^3*s)6 (umol/L)/min
\text{Km}
Michaelis constantmol/m^350 (umol/L)
S
Substrate concentrationmol/m^3100 (umol/L)
I
Inhibitor concentrationmol/m^320 (umol/L)
\text{Ki}
Dissociation constant of EImol/m^310 (umol/L)
\text{Kii}
Dissociation constant of ESImol/m^340 (umol/L)

You get

MeaningUnitExample
v
Rate with the inhibitormol/(m^3*s)3.333333333e-05 mol/(m^3*s)
\text{Km\_app}
Apparent Kmmol/m^30.1 mol/m^3
\text{Vmax\_app}
Apparent Vmaxmol/(m^3*s)6.666666667e-05 mol/(m^3*s)
\alpha
Kii / Ki—4

Values with a unit may be written in any unit of the right kind.

Applies when

  • Vmax, Km, Ki, Kii > 0
  • S, I >= 0
  • rapid equilibrium

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Mixed inhibition rate: Vmax = 6 uM/min, Km = 50 uM, S = 100 uM, I = 20 uM, Ki = 10 uM, Kii = 40 uM
v = 3.333333333e-05 mol/(m^3*s)
Km_app = 0.1 mol/m^3
Vmax_app = 6.666666667e-05 mol/(m^3*s)
alpha = 4

Run it

Terminal
$ cell-molecular-biology solve cmb_mixed_inhibition "Vmax=6 (umol/L)/min" "Km=50 (umol/L)" "S=100 (umol/L)" "I=20 (umol/L)" "Ki=10 (umol/L)" "Kii=40 (umol/L)"
v = 3.333333333e-05 mol/(m^3*s)
Km_app = 0.1 mol/m^3
Vmax_app = 6.666666667e-05 mol/(m^3*s)
alpha = 4
  by: Mixed inhibition rate  (v = Vmax S / (Km (1 + I/Ki) + S (1 + I/Kii)); Km_app = Km (1 + I/Ki)/(1 + I/Kii); Vmax_app = Vmax/(1 + I/Kii))
  Vmax = 0.0001 mol/(m^3*s)
  Km = 0.05 mol/m^3
  S = 0.1 mol/m^3
  I = 0.02 mol/m^3
  Ki = 0.01 mol/m^3
  Kii = 0.04 mol/m^3
  assumes: Vmax, Km, Ki, Kii > 0; S, I >= 0; rapid equilibrium

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Noncompetitive inhibition rate1 fig.cmb_noncompetitive_inhibition

The rate of an enzyme with a pure noncompetitive inhibitor (equal affinity for E and ES): Vmax falls by (1 + I/Ki), Km unchanged.

v = \frac{V_{max}[S]}{(K_m + [S])(1 + [I]/K_i)}

You give

MeaningUnitExample
\text{Vmax}
Maximum rate without inhibitormol/(m^3*s)6 (umol/L)/min
\text{Km}
Michaelis constantmol/m^350 (umol/L)
S
Substrate concentrationmol/m^3100 (umol/L)
I
Inhibitor concentrationmol/m^320 (umol/L)
\text{Ki}
Inhibition (dissociation) constantmol/m^310 (umol/L)

You get

MeaningUnitExample
v
Rate with the inhibitormol/(m^3*s)2.222222222e-05 mol/(m^3*s)
\text{Km\_app}
Apparent Kmmol/m^30.05 mol/m^3
\text{Vmax\_app}
Apparent Vmaxmol/(m^3*s)3.333333333e-05 mol/(m^3*s)
\text{percent\_inhibition}
Per cent inhibition at this S—66.66666667

Values with a unit may be written in any unit of the right kind.

Applies when

  • Vmax, Km, Ki > 0
  • S, I >= 0
  • rapid-equilibrium inhibitor binding

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Noncompetitive inhibition rate: Vmax = 6 uM/min, Km = 50 uM, S = 100 uM, I = 20 uM, Ki = 10 uM
v = 2.222222222e-05 mol/(m^3*s)
Km_app = 0.05 mol/m^3
Vmax_app = 3.333333333e-05 mol/(m^3*s)
percent_inhibition = 66.66666667

Run it

Terminal
$ cell-molecular-biology solve cmb_noncompetitive_inhibition "Vmax=6 (umol/L)/min" "Km=50 (umol/L)" "S=100 (umol/L)" "I=20 (umol/L)" "Ki=10 (umol/L)"
v = 2.222222222e-05 mol/(m^3*s)
Km_app = 0.05 mol/m^3
Vmax_app = 3.333333333e-05 mol/(m^3*s)
percent_inhibition = 66.66666667
  by: Noncompetitive inhibition rate  (v = Vmax S / ((Km + S)(1 + I/Ki)))
  Vmax = 0.0001 mol/(m^3*s)
  Km = 0.05 mol/m^3
  S = 0.1 mol/m^3
  I = 0.02 mol/m^3
  Ki = 0.01 mol/m^3
  assumes: Vmax, Km, Ki > 0; S, I >= 0; rapid-equilibrium inhibitor binding

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Rate at another temperature from Q101 fig.cmb_q10_temperature

A biological rate at temperature T2 from its value at T1 and the temperature coefficient Q10, and the equivalent Arrhenius activation energy over that interval.

k_2 = k_1 Q_{10}^{(T_2 – T_1)/10},\quad E_a = \frac{R\ln(k_2/k_1)}{1/T_1 – 1/T_2}

You give

MeaningUnitExample
\text{k1}
Rate at T1 (any unit)—10
\text{T1}
First temperature (degC is converted)K298.15 K
\text{T2}
Second temperature (degC is converted)K308.15 K
\text{Q10}
Temperature coefficient Q10—2

You get

MeaningUnitExample
\text{k2}
Rate at T2 (unit of k1)—20
\text{ratio}
k2 / k1—2
\text{Ea}
Equivalent activation energyJ/mol52948.86217 J/mol
\text{Ea\_kJ\_mol}
Activation energy in kJ/mol—52.94886217

Values with a unit may be written in any unit of the right kind.

Applies when

  • k1, Q10 > 0
  • T1 != T2, both > 0 K

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Q10 temperature coefficient: k1 = 10, T1 = 298.15 K, T2 = 308.15 K, Q10 = 2
k2 = 20
ratio = 2
Ea = 52948.86217 J/mol
Ea_kJ_mol = 52.94886217

Run it

Terminal
$ cell-molecular-biology solve cmb_q10_temperature k1=10 "T1=298.15 K" "T2=308.15 K" Q10=2
k2 = 20
ratio = 2
Ea = 52948.86217 J/mol
Ea_kJ_mol = 52.94886217
  by: Rate at another temperature from Q10  (k2 = k1 Q10^((T2 - T1)/10); Ea = R ln(k2/k1) / (1/T1 - 1/T2))
  k1 = 10
  T1 = 298.15 K
  T2 = 308.15 K
  Q10 = 2
  assumes: k1, Q10 > 0; T1 != T2, both > 0 K

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Substrate concentration for a fraction of Vmax2 fig.cmb_substrate_for_fraction_of_vmax

The substrate concentration at which a Michaelis-Menten enzyme runs at a fraction f of Vmax (e.g. 90 % needs 9 Km).

[S] = K_m\frac{f}{1 – f}

You give

MeaningUnitExample
\text{Km}
Michaelis constantmol/m^350 (umol/L)
f
Fraction of Vmax (0 to 1)—0.9

You get

MeaningUnitExample
S
Required substrate concentrationmol/m^30.45 mol/m^3
S_{\mathrm{uM}}
S in uM—450
S_{\mathrm{over},\mathrm{Km}}
S as a multiple of Km—9

Values with a unit may be written in any unit of the right kind.

Applies when

  • Km > 0
  • 0 < f < 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Substrate for a fraction of Vmax: Km = 50 uM, f = 90%
S = 0.45 mol/m^3
S_uM = 450
S_over_Km = 9

Run it

Terminal
$ cell-molecular-biology solve cmb_substrate_for_fraction_of_vmax "Km=50 (umol/L)" f=0.9
S = 0.45 mol/m^3
S_uM = 450
S_over_Km = 9
  by: Substrate concentration for a fraction of Vmax  (S = Km f / (1 - f))
  Km = 0.05 mol/m^3
  f = 0.9
  assumes: Km > 0; 0 < f < 1

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Turnover number kcat and catalytic efficiency kcat/Km1 fig.cmb_kcat_catalytic_efficiency

The turnover number kcat = Vmax/[E]t, the catalytic efficiency kcat/Km (compare with the diffusion limit of about 1e8-1e9 per M per s) and the time per turnover.

k_{cat} = \frac{V_{max}}{[E]_t},\quad \eta = \frac{k_{cat}}{K_m}

You give

MeaningUnitExample
\text{Vmax}
Maximum ratemol/(m^3*s)60 (umol/L)/min
\text{Et}
Total enzyme concentrationmol/m^310 (nmol/L)
\text{Km}
Michaelis constantmol/m^325 (umol/L)

You get

MeaningUnitExample
\text{kcat}
Turnover number1/s100 1/s
\text{kcat\_per\_s}
Kcat in 1/s—100
\text{efficiency}
Catalytic efficiency kcat/Kmm^3/(mol*s)4000 m^3/(mol*s)
\text{efficiency\_per\_M\_s}
kcat/Km in 1/(M s)—4000000
\text{turnover\_time}
Time per catalytic event 1/kcats0.01 s

Values with a unit may be written in any unit of the right kind.

Applies when

  • Vmax, Et, Km > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

kcat and catalytic efficiency: Vmax = 60 uM/min, Et = 10 nM, Km = 25 uM
kcat = 100 1/s
kcat_per_s = 100
efficiency = 4000 m^3/(mol*s)
efficiency_per_M_s = 4000000
turnover_time = 0.01 s

Run it

Terminal
$ cell-molecular-biology solve cmb_kcat_catalytic_efficiency "Vmax=60 (umol/L)/min" "Et=10 (nmol/L)" "Km=25 (umol/L)"
kcat = 100 1/s
kcat_per_s = 100
efficiency = 4000 m^3/(mol*s)
efficiency_per_M_s = 4000000
turnover_time = 0.01 s
  by: Turnover number kcat and catalytic efficiency kcat/Km  (kcat = Vmax / [E]t; efficiency = kcat / Km)
  Vmax = 0.001 mol/(m^3*s)
  Et = 1e-05 mol/m^3
  Km = 0.025 mol/m^3
  assumes: Vmax, Et, Km > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Uncompetitive inhibition rate1 fig.cmb_uncompetitive_inhibition

The rate of an enzyme with an uncompetitive inhibitor (binding the enzyme-substrate complex only): Km and Vmax both fall by (1 + I/Ki).

v = \frac{V_{max}[S]}{K_m + [S](1 + [I]/K_i)}

You give

MeaningUnitExample
\text{Vmax}
Maximum rate without inhibitormol/(m^3*s)6 (umol/L)/min
\text{Km}
Michaelis constantmol/m^350 (umol/L)
S
Substrate concentrationmol/m^3100 (umol/L)
I
Inhibitor concentrationmol/m^320 (umol/L)
\text{Ki}
Inhibition (dissociation) constantmol/m^310 (umol/L)

You get

MeaningUnitExample
v
Rate with the inhibitormol/(m^3*s)2.857142857e-05 mol/(m^3*s)
\text{Km\_app}
Apparent Kmmol/m^30.01666666667 mol/m^3
\text{Vmax\_app}
Apparent Vmaxmol/(m^3*s)3.333333333e-05 mol/(m^3*s)
\text{percent\_inhibition}
Per cent inhibition at this S—57.14285714

Values with a unit may be written in any unit of the right kind.

Applies when

  • Vmax, Km, Ki > 0
  • S, I >= 0
  • rapid-equilibrium inhibitor binding

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Uncompetitive inhibition rate: Vmax = 6 uM/min, Km = 50 uM, S = 100 uM, I = 20 uM, Ki = 10 uM
v = 2.857142857e-05 mol/(m^3*s)
Km_app = 0.01666666667 mol/m^3
Vmax_app = 3.333333333e-05 mol/(m^3*s)
percent_inhibition = 57.14285714

Run it

Terminal
$ cell-molecular-biology solve cmb_uncompetitive_inhibition "Vmax=6 (umol/L)/min" "Km=50 (umol/L)" "S=100 (umol/L)" "I=20 (umol/L)" "Ki=10 (umol/L)"
v = 2.857142857e-05 mol/(m^3*s)
Km_app = 0.01666666667 mol/m^3
Vmax_app = 3.333333333e-05 mol/(m^3*s)
percent_inhibition = 57.14285714
  by: Uncompetitive inhibition rate  (v = Vmax S / (Km + S (1 + I/Ki)))
  Vmax = 0.0001 mol/(m^3*s)
  Km = 0.05 mol/m^3
  S = 0.1 mol/m^3
  I = 0.02 mol/m^3
  Ki = 0.01 mol/m^3
  assumes: Vmax, Km, Ki > 0; S, I >= 0; rapid-equilibrium inhibitor binding

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Enzyme kinetics and binding 10

Complex concentration with ligand depletion (quadratic binding)1 fig.cmb_ligand_depletion_binding

The concentration of receptor-ligand complex when neither component is in excess (exact quadratic solution), with the fractions bound and the free ligand.

[RL] = \frac{(R_t + L_t + K_d) – \sqrt{(R_t + L_t + K_d)^2 – 4R_tL_t}}{2}

You give

MeaningUnitExample
\text{Rt}
Total receptor concentrationmol/m^310 (nmol/L)
\text{Lt}
Total ligand concentrationmol/m^320 (nmol/L)
\text{Kd}
Dissociation constantmol/m^310 (nmol/L)

You get

MeaningUnitExample
\text{RL}
Complex concentrationmol/m^35.857864376e-06 mol/m^3
\text{fraction\_receptor\_bound}
RL / Rt—0.5857864376
\text{free\_ligand}
Free ligand Lt – RLmol/m^31.414213562e-05 mol/m^3
\text{fraction\_ligand\_bound}
RL / Lt—0.2928932188

Values with a unit may be written in any unit of the right kind.

Applies when

  • Rt, Lt, Kd > 0
  • single site, 1:1 binding at equilibrium

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Quadratic binding with ligand depletion: Rt = 10 nM, Lt = 20 nM, Kd = 10 nM
RL = 5.857864376e-06 mol/m^3
fraction_receptor_bound = 0.5857864376
free_ligand = 1.414213562e-05 mol/m^3
fraction_ligand_bound = 0.2928932188

Run it

Terminal
$ cell-molecular-biology solve cmb_ligand_depletion_binding "Rt=10 (nmol/L)" "Lt=20 (nmol/L)" "Kd=10 (nmol/L)"
RL = 5.857864376e-06 mol/m^3
fraction_receptor_bound = 0.5857864376
free_ligand = 1.414213562e-05 mol/m^3
fraction_ligand_bound = 0.2928932188
  by: Complex concentration with ligand depletion (quadratic binding)  (RL = [(Rt + Lt + Kd) - sqrt((Rt + Lt + Kd)^2 - 4 Rt Lt)] / 2)
  Rt = 1e-05 mol/m^3
  Lt = 2e-05 mol/m^3
  Kd = 1e-05 mol/m^3
  assumes: Rt, Lt, Kd > 0; single site, 1:1 binding at equilibrium

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Dissociation constant from association and dissociation rates2 fig.cmb_kd_from_rates

The equilibrium dissociation constant Kd = koff/kon, the association constant, the complex half-life and the residence time.

K_d = \frac{k_{off}}{k_{on}},\quad t_{1/2} = \frac{\ln 2}{k_{off}}

You give

MeaningUnitExample
\text{kon}
Association rate constantm^3/(mol*s)1000000 1/((mol/L)*s)
\text{koff}
Dissociation rate constant1/s0.001 1/s

You get

MeaningUnitExample
\text{Kd}
Dissociation constantmol/m^31e-06 mol/m^3
\text{Kd\_nM}
Kd in nM—1
\text{Ka\_per\_M}
Association constant in 1/M—1000
\text{half\_life}
Complex half-life ln2/koffs693.1471806 s
\text{residence\_time}
Mean residence time 1/koffs1000 s

Values with a unit may be written in any unit of the right kind.

Applies when

  • kon, koff > 0
  • simple 1:1 binding

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Kd from rate constants: kon = 1000000 1/(M*s), koff = 0.001 1/s
Kd = 1e-06 mol/m^3
Kd_nM = 1
Ka_per_M = 1000
half_life = 693.1471806 s
residence_time = 1000 s

Run it

Terminal
$ cell-molecular-biology solve cmb_kd_from_rates "kon=1000000 1/((mol/L)*s)" "koff=0.001 1/s"
Kd = 1e-06 mol/m^3
Kd_nM = 1
Ka_per_M = 1000
half_life = 693.1471806 s
residence_time = 1000 s
  by: Dissociation constant from association and dissociation rates  (Kd = koff/kon; t1/2 = ln 2/koff; tau = 1/koff)
  kon = 1000 m^3/(mol*s)
  koff = 0.001 1/s
  assumes: kon, koff > 0; simple 1:1 binding

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Fraction of receptor bound at a free ligand concentration2 fig.cmb_fraction_bound

The fractional occupancy L/(Kd + L) of a single-site receptor at free ligand concentration L, and the bound concentration for a receptor total Rt (ligand not depleted).

\theta = \frac{[L]}{K_d + [L]}

You give

MeaningUnitExample
L
Free ligand concentrationmol/m^310 (nmol/L)
\text{Kd}
Dissociation constantmol/m^35 (nmol/L)
\text{Rt}
Total receptor concentration (optional) optionalmol/m^3

You get

MeaningUnitExample
\theta
Fraction bound—0.6666666667
\theta_{\mathrm{percent}}
Per cent bound—66.66666667
\text{bound}
Bound complex concentration (when Rt is given)mol/m^3

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • L, Kd > 0
  • single independent site
  • ligand in excess (free = total)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Fraction bound: L = 10 nM, Kd = 5 nM
theta = 0.6666666667
theta_percent = 66.66666667

Run it

Terminal
$ cell-molecular-biology solve cmb_fraction_bound "L=10 (nmol/L)" "Kd=5 (nmol/L)"
theta = 0.6666666667
theta_percent = 66.66666667
  by: Fraction of receptor bound at a free ligand concentration  (theta = L / (Kd + L))
  L = 1e-05 mol/m^3
  Kd = 5e-06 mol/m^3
  assumes: L, Kd > 0; single independent site; ligand in excess (free = total)

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Fractional saturation by the Hill equation2 fig.cmb_hill_equation

The fractional saturation (or response) of a cooperative binding protein at ligand concentration L, with half-saturation K and Hill coefficient n.

\theta = \frac{[L]^n}{K_{0.5}^n + [L]^n}

You give

MeaningUnitExample
L
Free ligand concentrationmol/m^326 (umol/L)
K
Ligand concentration for half saturation (K0.5)mol/m^326 (umol/L)
n
Hill coefficient—2.8

You get

MeaningUnitExample
\theta
Fractional saturation—0.5
\theta_{\mathrm{percent}}
Saturation in per cent—50

Values with a unit may be written in any unit of the right kind.

Applies when

  • L, K, n > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Hill equation: L = 26 uM, K = 26 uM, n = 2.8
theta = 0.5
theta_percent = 50

Run it

Terminal
$ cell-molecular-biology solve cmb_hill_equation "L=26 (umol/L)" "K=26 (umol/L)" n=2.8
theta = 0.5
theta_percent = 50
  by: Fractional saturation by the Hill equation  (theta = L^n / (K^n + L^n))
  L = 0.026 mol/m^3
  K = 0.026 mol/m^3
  n = 2.8
  assumes: L, K, n > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Fractional saturation in the MWC (concerted) model1 fig.cmb_mwc_saturation

The fractional saturation and the fraction of molecules in the R state of an allosteric protein with n sites in the Monod-Wyman-Changeux model (L0 = [T]/[R] without ligand, c = KR/KT).

Y = \frac{\alpha(1+\alpha)^{n-1} + L_0 c\alpha(1+c\alpha)^{n-1}}{(1+\alpha)^n + L_0(1+c\alpha)^n}

You give

MeaningUnitExample
S
Ligand concentrationmol/m^310 (umol/L)
\text{KR}
Dissociation constant of a site in the R statemol/m^32 (umol/L)
c
Ratio KR/KT (0 < c < 1)—0.01
\text{L0}
Allosteric constant [T0]/[R0]—9000
n
Number of binding sites—4

You get

MeaningUnitExample
Y
Fractional saturation—0.1308425393
R_{\mathrm{fraction}}
Fraction of molecules in the R state—0.1059208076

Values with a unit may be written in any unit of the right kind.

Applies when

  • S, KR, c, L0 > 0
  • 1 <= n <= 12
  • concerted R/T transition

Outside these conditions it says what is wrong instead of returning a number.

Worked example

MWC fractional saturation: S = 10 uM, KR = 2 uM, c = 0.01, L0 = 9000, n = 4
Y = 0.1308425393
R_fraction = 0.1059208076

Run it

Terminal
$ cell-molecular-biology solve cmb_mwc_saturation "S=10 (umol/L)" "KR=2 (umol/L)" c=0.01 L0=9000 n=4
Y = 0.1308425393
R_fraction = 0.1059208076
  by: Fractional saturation in the MWC (concerted) model  (alpha = S/KR; Y = [alpha (1 + alpha)^(n-1) + L0 c alpha (1 + c alpha)^(n-1)] / [(1 + alpha)^n + L0 (1 + c alpha)^n])
  S = 0.01 mol/m^3
  KR = 0.002 mol/m^3
  c = 0.01
  L0 = 9000
  assumes: S, KR, c, L0 > 0; 1 <= n <= 12; concerted R/T transition

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Hill coefficient from EC10 and EC901 fig.cmb_hill_coefficient_from_ec

The Hill coefficient n = ln 81 / ln(EC90/EC10) and the EC50 (their geometric mean) of a Hill dose-response curve (81-fold range for n = 1).

n_H = \frac{\ln 81}{\ln(EC_{90}/EC_{10})}

You give

MeaningUnitExample
\text{EC10}
Concentration giving 10 % of the maximummol/m^31 (umol/L)
\text{EC90}
Concentration giving 90 % of the maximummol/m^381 (umol/L)

You get

MeaningUnitExample
n
Hill coefficient—1
\text{EC50}
Half-maximal concentrationmol/m^30.009 mol/m^3
\text{ratio}
EC90 / EC10—81

Values with a unit may be written in any unit of the right kind.

Applies when

  • 0 < EC10 < EC90
  • a Hill curve

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Hill coefficient from EC10 and EC90: EC10 = 1 uM, EC90 = 81 uM
n = 1
EC50 = 0.009 mol/m^3
ratio = 81

Run it

Terminal
$ cell-molecular-biology solve cmb_hill_coefficient_from_ec "EC10=1 (umol/L)" "EC90=81 (umol/L)"
n = 1
EC50 = 0.009 mol/m^3
ratio = 81
  by: Hill coefficient from EC10 and EC90  (n = ln 81 / ln(EC90/EC10); EC50 = sqrt(EC10 EC90))
  EC10 = 0.001 mol/m^3
  EC90 = 0.081 mol/m^3
  assumes: 0 < EC10 < EC90; a Hill curve

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Kd and Bmax from a Scatchard plot1 fig.cmb_scatchard_fit

The dissociation constant and the total binding sites from saturation-binding data by the Scatchard least-squares line B/F = Bmax/Kd – B/Kd.

\frac{B}{F} = \frac{B_{max}}{K_d} – \frac{B}{K_d}

You give

MeaningUnitExample
B
Bound ligand concentrations (any one unit, e.g. nM or fmol/mg) vector—[16.7, 28.6, 50, 66.7, 80]
F
Free ligand concentrations (e.g. nM) vector—[1, 2, 5, 10, 20]

You get

MeaningUnitExample
\text{Kd}
Dissociation constant (unit of F)—4.986488927
\text{Bmax}
Total binding sites (unit of B)—99.93037658
\text{slope}
Slope -1/Kd—-0.2005419073
\text{intercept}
Intercept Bmax/Kd—20.04022831
\text{r2}
r^2 of the Scatchard line—0.9999971119

Applies when

  • at least 3 points
  • B, F > 0
  • negative slope (one class of sites)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Scatchard fit: B = [16.7, 28.6, 50, 66.7, 80], F = [1, 2, 5, 10, 20]
Kd = 4.986488927
Bmax = 99.93037658
slope = -0.2005419073
intercept = 20.04022831
r2 = 0.9999971119

Run it

Terminal
$ cell-molecular-biology solve cmb_scatchard_fit "B=[16.7, 28.6, 50, 66.7, 80]" "F=[1, 2, 5, 10, 20]"
Kd = 4.986488927
Bmax = 99.93037658
slope = -0.2005419073
intercept = 20.04022831
r2 = 0.9999971119
  by: Kd and Bmax from a Scatchard plot  (least squares B/F = a + m B; Kd = -1/m; Bmax = -a/m)
  assumes: at least 3 points; B, F > 0; negative slope (one class of sites)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Ligand concentration for a given saturation (Hill)1 fig.cmb_hill_ligand_for_fraction

The ligand concentration that gives a fractional saturation theta for a cooperative protein with half-saturation K and Hill coefficient n.

[L] = K_{0.5}\left(\frac{\theta}{1 – \theta}\right)^{1/n}

You give

MeaningUnitExample
K
Half-saturation concentration K0.5mol/m^326 (umol/L)
n
Hill coefficient—2.8
\theta
Fractional saturation (0 to 1)—0.9

You get

MeaningUnitExample
L
Required ligand concentrationmol/m^30.05698679654 mol/m^3
L_{\mathrm{uM}}
L in uM—56.98679654

Values with a unit may be written in any unit of the right kind.

Applies when

  • K, n > 0
  • 0 < theta < 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Hill ligand concentration for a saturation: K = 26 uM, n = 2.8, theta = 90%
L = 0.05698679654 mol/m^3
L_uM = 56.98679654

Run it

Terminal
$ cell-molecular-biology solve cmb_hill_ligand_for_fraction "K=26 (umol/L)" n=2.8 theta=0.9
L = 0.05698679654 mol/m^3
L_uM = 56.98679654
  by: Ligand concentration for a given saturation (Hill)  (L = K (theta/(1 - theta))^(1/n))
  K = 0.026 mol/m^3
  n = 2.8
  theta = 0.9
  assumes: K, n > 0; 0 < theta < 1

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Receptor occupancy with a competing ligand1 fig.cmb_competitive_occupancy

The fractions of a receptor occupied by a ligand and by a competitor binding the same site, the free fraction and the apparent Kd of the ligand in the competitor's presence (no depletion).

\theta_L = \frac{[L]/K_d}{1 + [L]/K_d + [I]/K_i}

You give

MeaningUnitExample
L
Free ligand concentrationmol/m^310 (nmol/L)
\text{Kd}
Ligand dissociation constantmol/m^35 (nmol/L)
I
Free competitor concentrationmol/m^320 (nmol/L)
\text{Ki}
Competitor dissociation constantmol/m^310 (nmol/L)

You get

MeaningUnitExample
\text{occupancy\_L}
Fraction occupied by the ligand—0.4
\text{occupancy\_I}
Fraction occupied by the competitor—0.4
\text{free\_fraction}
Fraction of free receptor—0.2
\text{Kd\_app}
Apparent Kd of the ligand Kd (1 + I/Ki)mol/m^31.5e-05 mol/m^3

Values with a unit may be written in any unit of the right kind.

Applies when

  • Kd, Ki > 0
  • L, I >= 0
  • one site, mutually exclusive binding, no depletion

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Competitive receptor occupancy: L = 10 nM, Kd = 5 nM, I = 20 nM, Ki = 10 nM
occupancy_L = 0.4
occupancy_I = 0.4
free_fraction = 0.2
Kd_app = 1.5e-05 mol/m^3

Run it

Terminal
$ cell-molecular-biology solve cmb_competitive_occupancy "L=10 (nmol/L)" "Kd=5 (nmol/L)" "I=20 (nmol/L)" "Ki=10 (nmol/L)"
occupancy_L = 0.4
occupancy_I = 0.4
free_fraction = 0.2
Kd_app = 1.5e-05 mol/m^3
  by: Receptor occupancy with a competing ligand  (occupancy_L = (L/Kd) / (1 + L/Kd + I/Ki))
  L = 1e-05 mol/m^3
  Kd = 5e-06 mol/m^3
  I = 2e-05 mol/m^3
  Ki = 1e-05 mol/m^3
  assumes: Kd, Ki > 0; L, I >= 0; one site, mutually exclusive binding, no depletion

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Standard binding free energy from Kd2 fig.cmb_binding_free_energy

The standard free energy of binding dG = RT ln(Kd / 1 M) (negative for favourable binding) at temperature T.

\Delta G^\circ = RT\ln\frac{K_d}{1\ \mathrm{M}}

You give

MeaningUnitExample
\text{Kd}
Dissociation constantmol/m^310 (nmol/L)
T
Absolute temperature (degC is converted)K298.15 K

You get

MeaningUnitExample
\text{dG}
Standard binding free energyJ/mol-45664.07602 J/mol
\text{dG\_kJ\_mol}
DG in kJ/mol—-45.66407602
\text{dG\_kcal\_mol}
DG in kcal/mol—-10.9139761

Values with a unit may be written in any unit of the right kind.

Applies when

  • Kd, T > 0
  • standard state 1 M

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Binding free energy: Kd = 10 nM, T = 298.15 K
dG = -45664.07602 J/mol
dG_kJ_mol = -45.66407602
dG_kcal_mol = -10.9139761

Run it

Terminal
$ cell-molecular-biology solve cmb_binding_free_energy "Kd=10 (nmol/L)" "T=298.15 K"
dG = -45664.07602 J/mol
dG_kJ_mol = -45.66407602
dG_kcal_mol = -10.9139761
  by: Standard binding free energy from Kd  (dG = R T ln(Kd/1 M) = -R T ln Ka)
  Kd = 1e-05 mol/m^3
  T = 298.15 K
  assumes: Kd, T > 0; standard state 1 M

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Membranes and diffusion 14

Cell volume after an osmotic change (Boyle-van 't Hoff)1 fig.cmb_cell_volume_osmotic

The equilibrium volume of a cell moved from osmolarity osm0 to osm1, with an osmotically inactive volume fraction b (an ideal osmometer).

V = V_b + (V_0 – V_b)\,\frac{\mathrm{osm}_0}{\mathrm{osm}_1}

You give

MeaningUnitExample
\text{V0}
Initial cell volumem^390 fL
b
Osmotically inactive fraction of the initial volume (0 to 1)—0.4
\text{osm0}
Initial (isotonic) osmolaritymol/m^3300 mmol/L
\text{osm1}
New outside osmolaritymol/m^3600 mmol/L

You get

MeaningUnitExample
V
New equilibrium cell volumem^36.3e-17 m^3
V_{\mathrm{fL}}
New volume in femtolitres—63
\text{ratio}
New volume relative to the initial volume—0.7

Values with a unit may be written in any unit of the right kind.

Applies when

  • V0, osm0, osm1 > 0
  • 0 <= b < 1
  • impermeant solutes, water in equilibrium

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Cell volume after an osmotic change: V0 = 90 fL, b = 40%, osm0 = 300 mOsm/L, osm1 = 600 mOsm/L
V = 6.3e-17 m^3
V_fL = 63
ratio = 0.7

Run it

Terminal
$ cell-molecular-biology solve cmb_cell_volume_osmotic "V0=90 fL" b=0.4 "osm0=300 mmol/L" "osm1=600 mmol/L"
V = 6.3e-17 m^3
V_fL = 63
ratio = 0.7
  by: Cell volume after an osmotic change (Boyle-van 't Hoff)  (V = Vb + (V0 - Vb) osm0 / osm1 with Vb = b V0)
  V0 = 9e-17 m^3
  b = 0.4
  osm0 = 300 mol/m^3
  osm1 = 600 mol/m^3
  assumes: V0, osm0, osm1 > 0; 0 <= b < 1; impermeant solutes, water in equilibrium

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Diffusion coefficient from a FRAP half-time (Soumpasis)2 fig.cmb_frap_diffusion

The two-dimensional diffusion coefficient from the half-time of fluorescence recovery after photobleaching a uniform circular spot of radius w (Soumpasis' exact solution, D = 0.224 w^2 / t_half).

f(t) = e^{-2\tau_D/t}\left[I_0\!\left(\tfrac{2\tau_D}{t}\right) + I_1\!\left(\tfrac{2\tau_D}{t}\right)\right],\quad D = \frac{w^2}{4\tau_D}

You give

MeaningUnitExample
w
Radius of the bleached spotm1 um
t_{\mathrm{half}}
Half-time of recoverys0.5 s

You get

MeaningUnitExample
D
Diffusion coefficientm^2/s4.472955755e-13 m^2/s
D_{\mathrm{um2},s}
D in um²/s—0.4472955755
\text{tauD}
Characteristic diffusion time w^2/(4D)s0.5589145382 s
\gamma
TauD / t_half (about 1.12)—1.117829076

Values with a unit may be written in any unit of the right kind.

Applies when

  • w, t_half > 0
  • 2-D free diffusion, uniform circular bleach, full mobile fraction

Outside these conditions it says what is wrong instead of returning a number.

Worked example

FRAP diffusion coefficient: w = 1 um, t_half = 0.5 s
D = 4.472955755e-13 m^2/s
D_um2_s = 0.4472955755
tauD = 0.5589145382 s
gamma = 1.117829076

Run it

Terminal
$ cell-molecular-biology solve cmb_frap_diffusion "w=1 um" "t_half=0.5 s"
D = 4.472955755e-13 m^2/s
D_um2_s = 0.4472955755
tauD = 0.5589145382 s
gamma = 1.117829076
  by: Diffusion coefficient from a FRAP half-time (Soumpasis)  (f(t) = exp(-2 tauD/t)[I0(2 tauD/t) + I1(2 tauD/t)]; solve f(t_half) = 1/2 for tauD; D = w^2/(4 tauD))
  w = 1e-06 m
  t_half = 0.5 s
  assumes: w, t_half > 0; 2-D free diffusion, uniform circular bleach, full mobile fraction

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Diffusion-limited association rate constant (Smoluchowski)1 fig.cmb_diffusion_limited_rate

The maximum (diffusion-limited) bimolecular association rate constant of two spheres that react on contact.

k_D = 4\pi (D_A + D_B)(r_A + r_B) N_A

You give

MeaningUnitExample
\text{DA}
Diffusion coefficient of molecule Am^2/s100 um^2/s
\text{DB}
Diffusion coefficient of molecule Bm^2/s1000 um^2/s
\text{rA}
Radius of molecule Am2 nm
\text{rB}
Radius of molecule Bm0.5 nm

You get

MeaningUnitExample
k
Diffusion-limited rate constantm^3/(mol*s)20811024.49 m^3/(mol*s)
k_{\mathrm{per},M,s}
Rate constant in 1/(M s)—2.081102449e+10

Values with a unit may be written in any unit of the right kind.

Applies when

  • all inputs > 0
  • reaction on every contact, no interaction forces

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Diffusion-limited rate constant: DA = 100 um^2/s, DB = 1000 um^2/s, rA = 2 nm, rB = 0.5 nm
k = 20811024.49 m^3/(mol*s)
k_per_M_s = 2.081102449e+10

Run it

Terminal
$ cell-molecular-biology solve cmb_diffusion_limited_rate "DA=100 um^2/s" "DB=1000 um^2/s" "rA=2 nm" "rB=0.5 nm"
k = 20811024.49 m^3/(mol*s)
k_per_M_s = 2.081102449e+10
  by: Diffusion-limited association rate constant (Smoluchowski)  (k = 4 pi (DA + DB)(rA + rB) N_A)
  DA = 1e-10 m^2/s
  DB = 1e-09 m^2/s
  rA = 2e-09 m
  rB = 5e-10 m
  assumes: all inputs > 0; reaction on every contact, no interaction forces

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Donnan equilibrium with an impermeant anion1 fig.cmb_donnan_equilibrium

The inside cation and anion concentrations, the Donnan ratio, the Donnan potential and the osmotic excess when a cell holds impermeant anions (charge -zA) bathed in a monovalent salt (KCl) of concentration c.

[\mathrm{Cl}]_i = \frac{-z_A A + \sqrt{z_A^2A^2 + 4c^2}}{2},\quad E = \frac{RT}{F}\ln\frac{c}{[\mathrm{K}]_i}

You give

MeaningUnitExample
A
Concentration of impermeant anions insidemol/m^3100 (mmol/L)
\text{zA}
Magnitude of the impermeant anion's charge (1, 2 or 3)—1
c
Outside concentration of the monovalent saltmol/m^3100 (mmol/L)
T
Absolute temperature (degC is converted)K298.15 K

You get

MeaningUnitExample
K_{\mathrm{in}}
Inside cation concentrationmol/m^3161.8033989 mol/m^3
\text{Cl\_in}
Inside permeant anion concentrationmol/m^361.80339887 mol/m^3
\text{ratio}
Donnan ratio K_in / K_out = Cl_out / Cl_in—1.618033989
E
Donnan potential (inside minus outside)V-0.01236357289 V
E_{\mathrm{mV}}
Donnan potential in mV—-12.36357289
\text{excess\_mOsm}
Inside minus outside osmolarity in mOsm/L—123.6067977

Values with a unit may be written in any unit of the right kind.

Applies when

  • A, c, T > 0
  • zA = 1, 2 or 3
  • ideal solutions, electroneutral compartments

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Donnan equilibrium: A = 100 mM, zA = 1, c = 100 mM, T = 298.15 K
K_in = 161.8033989 mol/m^3
Cl_in = 61.80339887 mol/m^3
ratio = 1.618033989
E = -0.01236357289 V
E_mV = -12.36357289
excess_mOsm = 123.6067977

Run it

Terminal
$ cell-molecular-biology solve cmb_donnan_equilibrium "A=100 (mmol/L)" zA=1 "c=100 (mmol/L)" "T=298.15 K"
K_in = 161.8033989 mol/m^3
Cl_in = 61.80339887 mol/m^3
ratio = 1.618033989
E = -0.01236357289 V
E_mV = -12.36357289
excess_mOsm = 123.6067977
  by: Donnan equilibrium with an impermeant anion  (K_in Cl_in = c^2 and K_in = Cl_in + zA A: Cl_in = (-zA A + sqrt(zA^2 A^2 + 4c^2))/2; E = (RT/F) ln(c/K_in))
  A = 100 mol/m^3
  c = 100 mol/m^3
  T = 298.15 K
  assumes: A, c, T > 0; zA = 1, 2 or 3; ideal solutions, electroneutral compartments

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Equilibration of a solute across a spherical cell's membrane1 fig.cmb_cell_equilibration

The internal concentration of a permeant solute at time t for a spherical cell (A/V = 3/r) bathed at a constant outside concentration, with the time constant and half-time.

C(t) = C_{out} + (C_0 – C_{out})\,e^{-3Pt/r}

You give

MeaningUnitExample
r
Cell radiusm10 um
P
Membrane permeability coefficientm/s1e-05 cm/s
C_{\mathrm{out}}
Constant outside concentrationmol/m^310 (mmol/L)
\text{C0}
Initial inside concentrationmol/m^30 (mmol/L)
t
Elapsed times30 s

You get

MeaningUnitExample
C
Inside concentration at time tmol/m^35.934303403 mol/m^3
\tau
Time constant r/(3P)s33.33333333 s
t_{\mathrm{half}}
Half-time of equilibrations23.10490602 s

Values with a unit may be written in any unit of the right kind.

Applies when

  • r, P > 0
  • C_out, C0, t >= 0
  • well-mixed cell of constant volume, outside unchanged

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Cell equilibration across the membrane: r = 10 um, P = 1e-05 cm/s, C_out = 10 mM, C0 = 0 mM, t = 30 s
C = 5.934303403 mol/m^3
tau = 33.33333333 s
t_half = 23.10490602 s

Run it

Terminal
$ cell-molecular-biology solve cmb_cell_equilibration "r=10 um" "P=1e-05 cm/s" "C_out=10 (mmol/L)" "C0=0 (mmol/L)" "t=30 s"
C = 5.934303403 mol/m^3
tau = 33.33333333 s
t_half = 23.10490602 s
  by: Equilibration of a solute across a spherical cell's membrane  (dC/dt = P (A/V) (C_out - C), A/V = 3/r: C = C_out + (C0 - C_out) exp(-3Pt/r))
  r = 1e-05 m
  P = 1e-07 m/s
  C_out = 10 mol/m^3
  C0 = 0 mol/m^3
  t = 30 s
  assumes: r, P > 0; C_out, C0, t >= 0; well-mixed cell of constant volume, outside unchanged

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Fick's first law: steady diffusion flux1 fig.cmb_fick_flux

The steady one-dimensional diffusive flux between two concentrations a distance apart (positive from side 1 to side 2).

J = -D\frac{dC}{dx} = D\,\frac{C_1 – C_2}{\Delta x}

You give

MeaningUnitExample
D
Diffusion coefficient of the solutem^2/s1000 um^2/s
\text{C1}
Concentration on side 1mol/m^310 (mmol/L)
\text{C2}
Concentration on side 2mol/m^32 (mmol/L)
\text{dx}
Distance between the two sidesm10 um

You get

MeaningUnitExample
J
Molar flux from side 1 to side 2mol/(m^2*s)0.0008 mol/(m^2*s)
J_{\mathrm{nmol},\mathrm{cm2},s}
Flux in nmol per cm² per second—80

Values with a unit may be written in any unit of the right kind.

Applies when

  • D > 0, dx > 0
  • C1, C2 >= 0
  • steady state, linear profile

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Fick diffusion flux: D = 1000 um^2/s, C1 = 10 mM, C2 = 2 mM, dx = 10 um
J = 0.0008 mol/(m^2*s)
J_nmol_cm2_s = 80

Run it

Terminal
$ cell-molecular-biology solve cmb_fick_flux "D=1000 um^2/s" "C1=10 (mmol/L)" "C2=2 (mmol/L)" "dx=10 um"
J = 0.0008 mol/(m^2*s)
J_nmol_cm2_s = 80
  by: Fick's first law: steady diffusion flux  (J = D (C1 - C2) / dx (Fick's first law with a linear steady profile))
  D = 1e-09 m^2/s
  C1 = 10 mol/m^3
  C2 = 2 mol/m^3
  dx = 1e-05 m
  assumes: D > 0, dx > 0; C1, C2 >= 0; steady state, linear profile

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Macroscopic current through ion channels1 fig.cmb_channel_current

The whole-cell current I = N Po gamma (V – E) through N channels of single-channel conductance gamma and open probability Po, and the single-channel current.

I = N P_o \gamma\,(V – E_{rev})

You give

MeaningUnitExample
N
Number of channels—1000
\text{Po}
Open probability (0 to 1)—0.3
\gamma
Single-channel conductanceS20 pS
V
Membrane potentialV-40 mV
E
Reversal potential of the channelV-90 mV

You get

MeaningUnitExample
I
Macroscopic current (positive outward)A3e-10 A
I_{\mathrm{pA}}
Current in pA—300
G
Total open conductance N Po gammaS6e-09 S
i_{\mathrm{single}}
Single open-channel current gamma (V – E)A1e-12 A

Values with a unit may be written in any unit of the right kind.

Applies when

  • N >= 1
  • 0 <= Po <= 1
  • gamma > 0
  • ohmic open channels

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Ion channel current: N = 1000, Po = 30%, gamma = 20 pS, V = -40 mV, E = -90 mV
I = 3e-10 A
I_pA = 300
G = 6e-09 S
i_single = 1e-12 A

Run it

Terminal
$ cell-molecular-biology solve cmb_channel_current N=1000 Po=0.3 "gamma=20 pS" "V=-40 mV" "E=-90 mV"
I = 3e-10 A
I_pA = 300
G = 6e-09 S
i_single = 1e-12 A
  by: Macroscopic current through ion channels  (I = N Po gamma (V - E))
  Po = 0.3
  gamma = 2e-11 S
  V = -0.04 V
  E = -0.09 V
  assumes: N >= 1; 0 <= Po <= 1; gamma > 0; ohmic open channels

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Membrane permeability coefficient and flux1 fig.cmb_membrane_permeability

The permeability coefficient P = K D / L of a lipid membrane for a solute with partition coefficient K, and the inward flux P (C_out – C_in).

P = \frac{K D}{L},\quad J = P\,(C_{out} – C_{in})

You give

MeaningUnitExample
D
Diffusion coefficient of the solute inside the membranem^2/s100 um^2/s
K
Membrane/water partition coefficient—0.01
L
Membrane thicknessm5 nm
C_{\mathrm{out}}
Concentration outside the cellmol/m^310 (mmol/L)
C_{\mathrm{in}}
Concentration inside the cellmol/m^31 (mmol/L)

You get

MeaningUnitExample
P
Permeability coefficientm/s0.0002 m/s
P_{\mathrm{cm},s}
Permeability coefficient in cm/s—0.02
J
Inward flux (positive into the cell)mol/(m^2*s)0.0018 mol/(m^2*s)

Values with a unit may be written in any unit of the right kind.

Applies when

  • D, K, L > 0
  • concentrations >= 0
  • steady state, linear profile in the membrane

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Membrane permeability: D = 100 um^2/s, K = 0.01, L = 5 nm, C_out = 10 mM, C_in = 1 mM
P = 0.0002 m/s
P_cm_s = 0.02
J = 0.0018 mol/(m^2*s)

Run it

Terminal
$ cell-molecular-biology solve cmb_membrane_permeability "D=100 um^2/s" K=0.01 "L=5 nm" "C_out=10 (mmol/L)" "C_in=1 (mmol/L)"
P = 0.0002 m/s
P_cm_s = 0.02
J = 0.0018 mol/(m^2*s)
  by: Membrane permeability coefficient and flux  (P = K D / L; J = P (C_out - C_in))
  D = 1e-10 m^2/s
  K = 0.01
  L = 5e-09 m
  C_out = 10 mol/m^3
  C_in = 1 mol/m^3
  assumes: D, K, L > 0; concentrations >= 0; steady state, linear profile in the membrane

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Nernst equilibrium potential of an ion across a cell membrane2 fig.cmb_nernst_potential

The equilibrium (reversal) potential inside relative to outside for an ion of charge z from its outside and inside concentrations.

E = \frac{RT}{zF}\ln\frac{C_{out}}{C_{in}}

You give

MeaningUnitExample
z
Charge number of the ion (e.g. 1 for K+, 2 for Ca2+, -1 for Cl-)—1
C_{\mathrm{out}}
Outside concentrationmol/m^35 (mmol/L)
C_{\mathrm{in}}
Inside concentrationmol/m^3140 (mmol/L)
T
Absolute temperature (degC is converted)K310.15 K

You get

MeaningUnitExample
E
Equilibrium potential (inside minus outside)V-0.08905869404 V
E_{\mathrm{mV}}
Equilibrium potential in mV—-89.05869404

Values with a unit may be written in any unit of the right kind.

Applies when

  • z a non-zero whole number
  • concentrations > 0
  • T > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Nernst potential: z = 1, C_out = 5 mM, C_in = 140 mM, T = 310.15 K
E = -0.08905869404 V
E_mV = -89.05869404

Run it

Terminal
$ cell-molecular-biology solve cmb_nernst_potential z=1 "C_out=5 (mmol/L)" "C_in=140 (mmol/L)" "T=310.15 K"
E = -0.08905869404 V
E_mV = -89.05869404
  by: Nernst equilibrium potential of an ion across a cell membrane  (E = (R T / z F) ln(C_out / C_in))
  C_out = 5 mol/m^3
  C_in = 140 mol/m^3
  T = 310.15 K
  assumes: z a non-zero whole number; concentrations > 0; T > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Osmolarity of a solution and its tonicity for a cell1 fig.cmb_osmolarity_tonicity

The total osmolarity of a solution of several solutes (sum of i c) and whether it is hypertonic, hypotonic or isotonic (within 1 %) relative to the cell's osmolarity, assuming impermeant solutes.

\mathrm{osm} = \sum_k i_k c_k

You give

MeaningUnitExample
c
Solute concentrations in mM (one per solute) vector—[150]
i
Van 't Hoff factor of each solute vector—[2]
\text{osm\_cell}
Osmolarity of the cell interiormol/m^3300 mmol/L

You get

MeaningUnitExample
\text{osmolarity\_mOsm}
Osmolarity of the solution in mOsm/L—300
\text{difference\_mOsm}
Solution minus cell osmolarity in mOsm/L—0
\text{tonicity}
Hypertonic, hypotonic or isotonic (within 1 %)—isotonic

Values with a unit may be written in any unit of the right kind.

Applies when

  • one factor per concentration
  • solutes impermeant (tonicity = osmolarity)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Osmolarity and tonicity: c = [150], i = [2], osm_cell = 300 mOsm/L
osmolarity_mOsm = 300
difference_mOsm = 0
tonicity = isotonic

Run it

Terminal
$ cell-molecular-biology solve cmb_osmolarity_tonicity "c=[150]" "i=[2]" "osm_cell=300 mmol/L"
osmolarity_mOsm = 300
difference_mOsm = 0
tonicity = isotonic
  by: Osmolarity of a solution and its tonicity for a cell  (osmolarity = sum i_k c_k; compared with the cell's osmolarity (isotonic within 1 %))
  osm_cell = 300 mol/m^3
  assumes: one factor per concentration; solutes impermeant (tonicity = osmolarity)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Osmotic pressure (van 't Hoff)1 fig.cmb_osmotic_pressure

The osmotic pressure of a dilute solution from the solute concentration, the van 't Hoff factor and the temperature.

\Pi = i\,c\,R\,T

You give

MeaningUnitExample
i
Van 't Hoff factor (particles per formula unit, e.g. 2 for NaCl)—2
c
Solute concentrationmol/m^3150 (mmol/L)
T
Absolute temperature (degC is converted)K310.15 K

You get

MeaningUnitExample
\pi
Osmotic pressurePa773619.1743 Pa
\pi_{\mathrm{atm}}
Osmotic pressure in atm—7.635027627
\pi_{\mathrm{kPa}}
Osmotic pressure in kPa—773.6191743

Values with a unit may be written in any unit of the right kind.

Applies when

  • i, c, T > 0
  • ideal dilute solution

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Osmotic pressure: i = 2, c = 150 mM, T = 310.15 K
pi = 773619.1743 Pa
pi_atm = 7.635027627
pi_kPa = 773.6191743

Run it

Terminal
$ cell-molecular-biology solve cmb_osmotic_pressure i=2 "c=150 (mmol/L)" "T=310.15 K"
pi = 773619.1743 Pa
pi_atm = 7.635027627
pi_kPa = 773.6191743
  by: Osmotic pressure (van 't Hoff)  (Pi = i c R T)
  i = 2
  c = 150 mol/m^3
  T = 310.15 K
  assumes: i, c, T > 0; ideal dilute solution

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Root-mean-square displacement of a diffusing particle1 fig.cmb_rms_displacement

The mean-square and root-mean-square displacement of a particle diffusing freely for a time t in 1, 2 or 3 dimensions.

\langle r^2\rangle = 2dDt,\quad r_{\mathrm{rms}} = \sqrt{2dDt}

You give

MeaningUnitExample
D
Diffusion coefficientm^2/s1000 um^2/s
t
Elapsed times1 s
\text{dims}
Number of dimensions (1, 2 or 3)—3

You get

MeaningUnitExample
\text{rms}
Root-mean-square displacementm7.745966692e-05 m
\text{rms\_um}
Root-mean-square displacement in micrometres—77.45966692
\text{msd}
Mean-square displacementm^26e-09 m^2

Values with a unit may be written in any unit of the right kind.

Applies when

  • D > 0, t > 0
  • dims = 1, 2 or 3

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Root-mean-square displacement: D = 1000 um^2/s, t = 1 s, dims = 3
rms = 7.745966692e-05 m
rms_um = 77.45966692
msd = 6e-09 m^2

Run it

Terminal
$ cell-molecular-biology solve cmb_rms_displacement "D=1000 um^2/s" "t=1 s" dims=3
rms = 7.745966692e-05 m
rms_um = 77.45966692
msd = 6e-09 m^2
  by: Root-mean-square displacement of a diffusing particle  (<r^2> = 2 d D t; rms = sqrt(2 d D t))
  D = 1e-09 m^2/s
  t = 1 s
  assumes: D > 0, t > 0; dims = 1, 2 or 3

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Stokes-Einstein diffusion coefficient1 fig.cmb_stokes_einstein

The diffusion coefficient of a sphere of hydrodynamic radius r in a fluid of viscosity eta at temperature T.

D = \frac{k_B T}{6\pi\eta r}

You give

MeaningUnitExample
T
Absolute temperature (degC is converted)K298.15 K
\eta
Viscosity of the mediumPa*s0.89 mPa*s
r
Hydrodynamic radiusm2.5 nm

You get

MeaningUnitExample
D
Diffusion coefficientm^2/s9.814924382e-11 m^2/s
D_{\mathrm{um2},s}
Diffusion coefficient in um²/s—98.14924382
\text{friction}
Friction coefficient 6 pi eta r in kg/s—4.194026193e-11

Values with a unit may be written in any unit of the right kind.

Applies when

  • T, eta, r > 0
  • a sphere at low Reynolds number

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Stokes-Einstein diffusion coefficient: T = 298.15 K, eta = 0.89 mPa*s, r = 2.5 nm
D = 9.814924382e-11 m^2/s
D_um2_s = 98.14924382
friction = 4.194026193e-11

Run it

Terminal
$ cell-molecular-biology solve cmb_stokes_einstein "T=298.15 K" "eta=0.89 mPa*s" "r=2.5 nm"
D = 9.814924382e-11 m^2/s
D_um2_s = 98.14924382
friction = 4.194026193e-11
  by: Stokes-Einstein diffusion coefficient  (D = k T / (6 pi eta r))
  T = 298.15 K
  eta = 0.00089 Pa*s
  r = 2.5e-09 m
  assumes: T, eta, r > 0; a sphere at low Reynolds number

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Time to diffuse a distance1 fig.cmb_diffusion_time

The time for the root-mean-square displacement of a diffusing molecule to reach a distance x in 1, 2 or 3 dimensions.

t = \frac{x^2}{2dD}

You give

MeaningUnitExample
x
Distance (root-mean-square displacement to reach)m10 um
D
Diffusion coefficientm^2/s1000 um^2/s
\text{dims}
Number of dimensions (1, 2 or 3)—3

You get

MeaningUnitExample
t
Diffusion times0.01666666667 s
t_{\mathrm{min}}
Diffusion time in minutes—0.0002777777778

Values with a unit may be written in any unit of the right kind.

Applies when

  • x > 0, D > 0
  • dims = 1, 2 or 3

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Diffusion time: x = 10 um, D = 1000 um^2/s, dims = 3
t = 0.01666666667 s
t_min = 0.0002777777778

Run it

Terminal
$ cell-molecular-biology solve cmb_diffusion_time "x=10 um" "D=1000 um^2/s" dims=3
t = 0.01666666667 s
t_min = 0.0002777777778
  by: Time to diffuse a distance  (t = x^2 / (2 d D))
  x = 1e-05 m
  D = 1e-09 m^2/s
  assumes: x > 0, D > 0; dims = 1, 2 or 3

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

PCR and gene expression 11

mRNA and protein after switching a gene on1 fig.cmb_induction_dynamics

The mRNA and protein numbers a time t after a gene is switched on from zero (constant transcription and translation, first-order decay), and the protein's fraction of its steady state.

p(t) = \frac{k_{tl}k_{tx}}{\delta_m}\left[\frac{1 – e^{-\delta_p t}}{\delta_p} – \frac{e^{-\delta_m t} – e^{-\delta_p t}}{\delta_p – \delta_m}\right]

You give

MeaningUnitExample
k_{\mathrm{tx}}
Transcription rateHz36 1/h
\delta_{m}
MRNA decay rate constant1/s7.2 1/h
k_{\mathrm{tl}}
Translation rate per mRNAHz180 1/h
\delta_{p}
Protein decay (plus dilution) rate constant1/s0.36 1/h
t
Time since inductions2 h

You get

MeaningUnitExample
m
MRNA per cell at time t—4.999997213
p
Protein per cell at time t—1219.073084
\text{fraction\_of\_steady\_state}
p / p_ss—0.4876292336

Values with a unit may be written in any unit of the right kind.

Applies when

  • all rates > 0
  • t >= 0
  • m(0) = p(0) = 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Gene induction dynamics: k_tx = 36 1/h, delta_m = 7.2 1/h, k_tl = 180 1/h, delta_p = 0.36 1/h, t = 2 h
m = 4.999997213
p = 1219.073084
fraction_of_steady_state = 0.4876292336

Run it

Terminal
$ cell-molecular-biology solve cmb_induction_dynamics "k_tx=36 1/h" "delta_m=7.2 1/h" "k_tl=180 1/h" "delta_p=0.36 1/h" "t=2 h"
m = 4.999997213
p = 1219.073084
fraction_of_steady_state = 0.4876292336
  by: mRNA and protein after switching a gene on  (m = (k_tx/delta_m)(1 - e^(-delta_m t)); p = (k_tl k_tx/delta_m)[(1 - e^(-delta_p t))/delta_p - (e^(-delta_m t) - e^(-delta_p t))/(delta_p - delta_m)] (t e^(-delta t) when equal))
  k_tx = 0.01 Hz
  delta_m = 0.002 1/s
  k_tl = 0.05 Hz
  delta_p = 0.0001 1/s
  t = 7200 s
  assumes: all rates > 0; t >= 0; m(0) = p(0) = 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

mRNA half-life fitted to a decay time course1 fig.cmb_mrna_half_life_fit

The decay rate constant and half-life of an mRNA (or protein) from levels measured after transcription is stopped, by a least-squares line through ln(level) against time.

\ln L = \ln L_0 – kt,\quad t_{1/2} = \frac{\ln 2}{k}

You give

MeaningUnitExample
t
Times after the shut-off in minutes vector—[0, 30, 60, 90, 120]
\text{level}
Measured levels (relative units, positive) vector—[100, 70, 50.5, 35.2, 24.8]

You get

MeaningUnitExample
k_{\mathrm{per},\mathrm{min}}
Decay rate constant per minute—0.01158700742
\text{half\_life\_min}
Half-life in minutes—59.82106989
\text{initial\_fit}
Fitted level at t = 0—99.95560576
\text{r2}
Coefficient of determination of the log-linear fit—0.9997993322

Applies when

  • at least 3 points
  • levels > 0 and decaying
  • first-order decay

Outside these conditions it says what is wrong instead of returning a number.

Worked example

mRNA half-life fit: t = [0, 30, 60, 90, 120], level = [100, 70, 50.5, 35.2, 24.8]
k_per_min = 0.01158700742
half_life_min = 59.82106989
initial_fit = 99.95560576
r2 = 0.9997993322

Run it

Terminal
$ cell-molecular-biology solve cmb_mrna_half_life_fit "t=[0, 30, 60, 90, 120]" "level=[100, 70, 50.5, 35.2, 24.8]"
k_per_min = 0.01158700742
half_life_min = 59.82106989
initial_fit = 99.95560576
r2 = 0.9997993322
  by: mRNA half-life fitted to a decay time course  (least squares ln(level) = ln(L0) - k t; t1/2 = ln 2 / k)
  assumes: at least 3 points; levels > 0 and decaying; first-order decay

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

PCR amplification after n cycles1 fig.cmb_pcr_amplification

The number of copies after n PCR cycles from N0 template copies at an amplification efficiency E (1 = perfect doubling).

N = N_0(1 + E)^n

You give

MeaningUnitExample
\text{N0}
Initial template copies—100
E
Amplification efficiency per cycle (0 to 1, e.g. 95%)—1
n
Number of cycles—30

You get

MeaningUnitExample
N
Copies after n cycles—1.073741824e+11
\text{fold}
Fold amplification (1 + E)^n—1073741824
\text{log10\_fold}
log10 of the fold amplification—9.03089987

Applies when

  • N0 > 0
  • 0 < E <= 1
  • 0 <= n <= 60
  • exponential phase (no plateau)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

PCR amplification: N0 = 100, E = 100%, n = 30 cycles
N = 1.073741824e+11
fold = 1073741824
log10_fold = 9.03089987

Run it

Terminal
$ cell-molecular-biology solve cmb_pcr_amplification N0=100 E=1 n=30
N = 1.073741824e+11
fold = 1073741824
log10_fold = 9.03089987
  by: PCR amplification after n cycles  (N = N0 (1 + E)^n)
  N0 = 100
  E = 1
  assumes: N0 > 0; 0 < E <= 1; 0 <= n <= 60; exponential phase (no plateau)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

PCR cycles needed to reach a number of copies1 fig.cmb_pcr_cycles_needed

The number of PCR cycles needed to amplify N0 copies to N at efficiency E (exact value and whole cycles, rounded up).

n = \frac{\ln(N/N_0)}{\ln(1 + E)}

You give

MeaningUnitExample
\text{N0}
Initial template copies—100
N
Target number of copies—1e+10
E
Amplification efficiency per cycle (0 to 1)—0.95

You get

MeaningUnitExample
\text{cycles\_exact}
Cycles needed (real value)—27.58291489
\text{cycles}
Whole cycles needed—28

Applies when

  • N > N0 > 0
  • 0 < E <= 1

Outside these conditions it says what is wrong instead of returning a number.

Worked example

PCR cycles needed: N0 = 100, N = 1e+10, E = 95%
cycles_exact = 27.58291489
cycles = 28

Run it

Terminal
$ cell-molecular-biology solve cmb_pcr_cycles_needed N0=100 N=1e+10 E=0.95
cycles_exact = 27.58291489
cycles = 28
  by: PCR cycles needed to reach a number of copies  (n = ln(N/N0) / ln(1 + E))
  N0 = 100
  N = 1e+10
  E = 0.95
  assumes: N > N0 > 0; 0 < E <= 1

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

qPCR relative expression by the delta-delta Ct method2 fig.cmb_qpcr_delta_delta_ct

The fold change in a target gene's expression between treated and control samples, normalized to a reference gene, by 2^-ddCt (100 % efficiency assumed).

\Delta\Delta C_t = \Delta C_{t,treated} – \Delta C_{t,control},\quad \text{fold} = 2^{-\Delta\Delta C_t}

You give

MeaningUnitExample
\text{Ct\_target\_treated}
Ct of the target gene in the treated sample—24.5
\text{Ct\_ref\_treated}
Ct of the reference gene in the treated sample—18
\text{Ct\_target\_control}
Ct of the target gene in the control sample—27
\text{Ct\_ref\_control}
Ct of the reference gene in the control sample—18.2

You get

MeaningUnitExample
\text{dCt\_treated}
Ct target – Ct reference, treated—6.5
\text{dCt\_control}
Ct target – Ct reference, control—8.8
\text{ddCt}
DCt treated – dCt control—-2.3
\text{fold\_change}
Relative expression 2^-ddCt—4.924577653
\text{log2\_fold\_change}
log2 fold change (-ddCt)—2.3

Applies when

  • 0 < Ct <= 60
  • efficiencies of target and reference near 100 %

Outside these conditions it says what is wrong instead of returning a number.

Worked example

qPCR delta-delta Ct: Ct_target_treated = 24.5, Ct_ref_treated = 18, Ct_target_control = 27, Ct_ref_control = 18.2
dCt_treated = 6.5
dCt_control = 8.8
ddCt = -2.3
fold_change = 4.924577653
log2_fold_change = 2.3

Run it

Terminal
$ cell-molecular-biology solve cmb_qpcr_delta_delta_ct Ct_target_treated=24.5 Ct_ref_treated=18 Ct_target_control=27 Ct_ref_control=18.2
dCt_treated = 6.5
dCt_control = 8.8
ddCt = -2.3
fold_change = 4.924577653
log2_fold_change = 2.3
  by: qPCR relative expression by the delta-delta Ct method  (ddCt = (Ct_t - Ct_r)_treated - (Ct_t - Ct_r)_control; fold = 2^-ddCt)
  Ct_target_treated = 24.5
  Ct_ref_treated = 18
  Ct_target_control = 27
  Ct_ref_control = 18.2
  assumes: 0 < Ct <= 60; efficiencies of target and reference near 100 %

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

qPCR relative expression with efficiency correction (Pfaffl)1 fig.cmb_qpcr_pfaffl_ratio

The efficiency-corrected expression ratio of a target gene in a sample versus a control, normalized to a reference gene (Pfaffl 2001).

\text{ratio} = \frac{(1 + E_t)^{\Delta C_{t,target}}}{(1 + E_r)^{\Delta C_{t,ref}}}

You give

MeaningUnitExample
E_{\mathrm{target}}
Amplification efficiency of the target assay (0 to 1)—0.95
E_{\mathrm{ref}}
Amplification efficiency of the reference assay (0 to 1)—0.9
\text{Ct\_target\_control}
Target Ct in the control—26
\text{Ct\_target\_sample}
Target Ct in the sample—23.5
\text{Ct\_ref\_control}
Reference Ct in the control—18
\text{Ct\_ref\_sample}
Reference Ct in the sample—18.3

You get

MeaningUnitExample
\text{ratio}
Expression ratio sample/control—6.437431321
\text{log2\_ratio}
log2 of the ratio—2.686485135
\text{dCt\_target}
Ct control – Ct sample for the target—2.5
\text{dCt\_ref}
Ct control – Ct sample for the reference—-0.3

Applies when

  • 0 < E <= 1
  • 0 < Ct <= 60

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Pfaffl expression ratio: E_target = 95%, E_ref = 90%, Ct_target_control = 26, Ct_target_sample = 23.5, Ct_ref_control = 18, Ct_ref_sample = 18.3
ratio = 6.437431321
log2_ratio = 2.686485135
dCt_target = 2.5
dCt_ref = -0.3

Run it

Terminal
$ cell-molecular-biology solve cmb_qpcr_pfaffl_ratio E_target=0.95 E_ref=0.9 Ct_target_control=26 Ct_target_sample=23.5 Ct_ref_control=18 Ct_ref_sample=18.3
ratio = 6.437431321
log2_ratio = 2.686485135
dCt_target = 2.5
dCt_ref = -0.3
  by: qPCR relative expression with efficiency correction (Pfaffl)  (ratio = (1 + E_t)^(Ct_t,control - Ct_t,sample) / (1 + E_r)^(Ct_r,control - Ct_r,sample))
  E_target = 0.95
  E_ref = 0.9
  Ct_target_control = 26
  Ct_target_sample = 23.5
  Ct_ref_control = 18
  Ct_ref_sample = 18.3
  assumes: 0 < E <= 1; 0 < Ct <= 60

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

qPCR standard curve: slope, intercept and efficiency1 fig.cmb_qpcr_standard_curve

The least-squares standard curve Ct = m log10(quantity) + b from a dilution series, its r^2 and the amplification efficiency 10^(-1/m) – 1.

C_t = m\log_{10}q + b,\quad E = 10^{-1/m} – 1

You give

MeaningUnitExample
\text{quantity}
Starting quantities of the standards (copies or ng) vector—[1e+06, 100000, 10000, 1000, 100]
\text{Ct}
Measured Ct of each standard vector—[15.1, 18.5, 21.8, 25.2, 28.5]

You get

MeaningUnitExample
\text{slope}
Slope m (about -3.32 at 100 %)—-3.35
\text{intercept}
Intercept b (Ct of one unit)—35.22
\text{r2}
Coefficient of determination—0.9999732687
\text{efficiency}
Efficiency 10^(-1/m) – 1—0.988416978
\text{amplification\_factor}
Amplification per cycle 10^(-1/m)—1.988416978

Applies when

  • at least 3 standards
  • quantities > 0
  • negative slope

Outside these conditions it says what is wrong instead of returning a number.

Worked example

qPCR standard curve: quantity = [1000000, 100000, 10000, 1000, 100], Ct = [15.1, 18.5, 21.8, 25.2, 28.5]
slope = -3.35
intercept = 35.22
r2 = 0.9999732687
efficiency = 0.988416978
amplification_factor = 1.988416978

Run it

Terminal
$ cell-molecular-biology solve cmb_qpcr_standard_curve "quantity=[1000000.0, 100000, 10000, 1000, 100]" "Ct=[15.1, 18.5, 21.8, 25.2, 28.5]"
slope = -3.35
intercept = 35.22
r2 = 0.9999732687
efficiency = 0.988416978
amplification_factor = 1.988416978
  by: qPCR standard curve: slope, intercept and efficiency  (least squares Ct = m log10 q + b; E = 10^(-1/m) - 1)
  assumes: at least 3 standards; quantities > 0; negative slope

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Quantity from a Ct and a standard curve1 fig.cmb_qpcr_quantify

The starting quantity of an unknown from its Ct and the standard curve Ct = m log10 q + b.

q = 10^{(C_t – b)/m}

You give

MeaningUnitExample
\text{slope}
Standard-curve slope m (negative)—-3.32
\text{intercept}
Standard-curve intercept b—38
\text{Ct}
Ct of the unknown—24.7

You get

MeaningUnitExample
\text{quantity}
Starting quantity (unit of the standards)—10139.67643
\text{log10\_quantity}
log10 of the quantity—4.006024096

Applies when

  • slope < 0
  • Ct inside the range of the standards

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Quantity from a standard curve: slope = -3.32, intercept = 38, Ct = 24.7
quantity = 10139.67643
log10_quantity = 4.006024096

Run it

Terminal
$ cell-molecular-biology solve cmb_qpcr_quantify slope=-3.32 intercept=38 Ct=24.7
quantity = 10139.67643
log10_quantity = 4.006024096
  by: Quantity from a Ct and a standard curve  (q = 10^((Ct - b)/m))
  slope = -3.32
  intercept = 38
  Ct = 24.7
  assumes: slope < 0; Ct inside the range of the standards

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Steady-state mRNA and protein numbers1 fig.cmb_expression_steady_state

The steady-state numbers of mRNA (k_tx/delta_m) and protein (k_tl m/delta_p) per cell for constant transcription, translation and first-order decay (dilution included), with the half-lives.

m^* = \frac{k_{tx}}{\delta_m},\quad p^* = \frac{k_{tl}\,k_{tx}}{\delta_m\,\delta_p}

You give

MeaningUnitExample
k_{\mathrm{tx}}
Transcription rate (mRNA made per cell per unit time)Hz36 1/h
\delta_{m}
MRNA decay rate constant1/s7.2 1/h
k_{\mathrm{tl}}
Translation rate (proteins per mRNA per unit time)Hz180 1/h
\delta_{p}
Protein decay (plus dilution) rate constant1/s0.36 1/h

You get

MeaningUnitExample
m_{\mathrm{ss}}
Steady-state mRNA per cell—5
p_{\mathrm{ss}}
Steady-state protein per cell—2500
\text{mRNA\_half\_life}
MRNA half-lifes346.5735903 s
\text{protein\_half\_life}
Protein half-lifes6931.471806 s
\text{mRNA\_half\_life\_min}
MRNA half-life in minutes—5.776226505
\text{protein\_half\_life\_h}
Protein half-life in hours—1.925408835

Values with a unit may be written in any unit of the right kind.

Applies when

  • all rates > 0
  • constant rates, first-order decay

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Gene expression steady state: k_tx = 36 1/h, delta_m = 7.2 1/h, k_tl = 180 1/h, delta_p = 0.36 1/h
m_ss = 5
p_ss = 2500
mRNA_half_life = 346.5735903 s
protein_half_life = 6931.471806 s
mRNA_half_life_min = 5.776226505
protein_half_life_h = 1.925408835

Run it

Terminal
$ cell-molecular-biology solve cmb_expression_steady_state "k_tx=36 1/h" "delta_m=7.2 1/h" "k_tl=180 1/h" "delta_p=0.36 1/h"
m_ss = 5
p_ss = 2500
mRNA_half_life = 346.5735903 s
protein_half_life = 6931.471806 s
mRNA_half_life_min = 5.776226505
protein_half_life_h = 1.925408835
  by: Steady-state mRNA and protein numbers  (dm/dt = k_tx - delta_m m, dp/dt = k_tl m - delta_p p; at steady state m = k_tx/delta_m, p = k_tl k_tx/(delta_m delta_p))
  k_tx = 0.01 Hz
  delta_m = 0.002 1/s
  k_tl = 0.05 Hz
  delta_p = 0.0001 1/s
  assumes: all rates > 0; constant rates, first-order decay

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Time to transcribe a gene2 fig.cmb_transcription_time

The time for RNA polymerase to transcribe a gene of n nucleotides at an elongation rate, and, with an initiation rate, the number of polymerases on the gene and their spacing.

t = \frac{n}{v},\quad N_{pol} = k_{init}\,t

You give

MeaningUnitExample
n
Gene (transcript) length in nucleotides—20000
\text{rate}
Elongation rate in nucleotides per second—40
k_{\mathrm{init}}
Initiation rate (optional) optionalHz

You get

MeaningUnitExample
t
Transcription times500 s
t_{\mathrm{min}}
Time in minutes—8.333333333
\text{polymerases}
Polymerases on the gene at steady state (when k_init is given)—
\text{spacing\_nt}
Mean spacing between polymerases in nt (when k_init is given)—

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • n >= 1
  • rate > 0
  • constant elongation rate

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Transcription time: n = 20000 nt, rate = 40 nt/s
t = 500 s
t_min = 8.333333333

Run it

Terminal
$ cell-molecular-biology solve cmb_transcription_time n=20000 rate=40
t = 500 s
t_min = 8.333333333
  by: Time to transcribe a gene  (t = n / rate; polymerases = k_init t; spacing = rate / k_init)
  rate = 40
  assumes: n >= 1; rate > 0; constant elongation rate

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Time to translate a protein2 fig.cmb_translation_time

The time for a ribosome to synthesise a protein of n_aa amino acids at an elongation rate, the coding length with the stop codon, and, with an initiation rate, the ribosomes per mRNA and their spacing.

t = \frac{n_{aa}}{v},\quad N_{rib} = k_{init}\,t

You give

MeaningUnitExample
n_{\mathrm{aa}}
Protein length in amino acids—300
\text{rate}
Elongation rate in amino acids per second—6
k_{\mathrm{init}}
Initiation rate per mRNA (optional) optionalHz

You get

MeaningUnitExample
t
Translation times50 s
t_{\mathrm{min}}
Time in minutes—0.8333333333
\text{coding\_nt}
Coding sequence length in nt including the stop codon—903
\text{ribosomes}
Ribosomes per mRNA at steady state (when k_init is given)—
\text{spacing\_codons}
Mean spacing between ribosomes in codons (when k_init is given)—

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • n_aa >= 1
  • rate > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Translation time: n_aa = 300 aa, rate = 6 aa/s
t = 50 s
t_min = 0.8333333333
coding_nt = 903

Run it

Terminal
$ cell-molecular-biology solve cmb_translation_time n_aa=300 rate=6
t = 50 s
t_min = 0.8333333333
coding_nt = 903
  by: Time to translate a protein  (t = n_aa / rate; coding length = 3 (n_aa + 1); ribosomes = k_init t)
  rate = 6
  assumes: n_aa >= 1; rate > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Solution biochemistry 13

Buffer capacity of a weak-acid buffer1 fig.cmb_buffer_capacity

The buffer capacity beta = dCb/dpH (strong base per unit pH change) of a monoprotic buffer of total concentration C at a pH, including water, and the buffer's own contribution (25 degC, Kw = 1e-14).

\beta = 2.303\left([\mathrm{H^+}] + \frac{K_w}{[\mathrm{H^+}]} + \frac{C K_a[\mathrm{H^+}]}{(K_a + [\mathrm{H^+}])^2}\right)

You give

MeaningUnitExample
C
Total buffer concentrationmol/m^3100 (mmol/L)
\text{pKa}
PKa of the buffer acid—7.21
\text{pH}
PH—7.21

You get

MeaningUnitExample
\beta
Buffer capacity per pH unitmol/m^357.56514274 mol/m^3
\beta_{\mathrm{mM}}
Buffer capacity in mM per pH unit—57.56514274
\beta_{\mathrm{buffer},\mathrm{mM}}
Contribution of the buffer alone in mM per pH unit—57.56462732

Values with a unit may be written in any unit of the right kind.

Applies when

  • C > 0
  • monoprotic acid
  • Kw = 1e-14 (25 degC), ideal solution

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Buffer capacity: C = 100 mM, pKa = 7.21, pH = 7.21
beta = 57.56514274 mol/m^3
beta_mM = 57.56514274
beta_buffer_mM = 57.56462732

Run it

Terminal
$ cell-molecular-biology solve cmb_buffer_capacity "C=100 (mmol/L)" pKa=7.21 pH=7.21
beta = 57.56514274 mol/m^3
beta_mM = 57.56514274
beta_buffer_mM = 57.56462732
  by: Buffer capacity of a weak-acid buffer  (beta = 2.303 ([H+] + Kw/[H+] + C Ka [H+] / (Ka + [H+])^2))
  C = 100 mol/m^3
  pKa = 7.21
  pH = 7.21
  assumes: C > 0; monoprotic acid; Kw = 1e-14 (25 degC), ideal solution

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Buffer pH after adding strong acid or base1 fig.cmb_buffer_after_addition

The pH of a buffer (total concentration C, volume V, initial pH0) after adding an amount of strong acid or strong base, by Henderson-Hasselbalch on the new amounts.

\mathrm{pH} = \mathrm{p}K_a + \log_{10}\frac{n_{A^-} \pm n}{n_{HA} \mp n}

You give

MeaningUnitExample
C
Total buffer concentrationmol/m^3100 (mmol/L)
V
Buffer volumem^3100 mL
\text{pH0}
Initial pH—7.21
\text{pKa}
PKa of the buffer acid—7.21
n_{\mathrm{add}}
Amount of strong acid or base addedmol1 mmol
\text{added}
Strong acid or strong base choice—base

You get

MeaningUnitExample
\text{pH}
New pH—7.386091259
\delta_{\mathrm{pH}}
Change in pH—0.1760912591
n_{\mathrm{base}}
Base form after the additionmol0.006 mol
n_{\mathrm{acid}}
Acid form after the additionmol0.004 mol

Values with a unit may be written in any unit of the right kind.

Applies when

  • C, V, n_add > 0
  • the addition smaller than the form it consumes
  • Henderson-Hasselbalch valid

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Buffer pH after adding acid or base: C = 100 mM, V = 100 mL, pH0 = 7.21, pKa = 7.21, n_add = 1 mmol, added = base
pH = 7.386091259
delta_pH = 0.1760912591
n_base = 0.006 mol
n_acid = 0.004 mol

Run it

Terminal
$ cell-molecular-biology solve cmb_buffer_after_addition "C=100 (mmol/L)" "V=100 mL" pH0=7.21 pKa=7.21 "n_add=1 mmol" added=base
pH = 7.386091259
delta_pH = 0.1760912591
n_base = 0.006 mol
n_acid = 0.004 mol
  by: Buffer pH after adding strong acid or base  (split C V by the initial ratio 10^(pH0 - pKa); base converts HA to A- (acid the reverse); pH = pKa + log10(n_A/n_HA))
  C = 100 mol/m^3
  V = 0.0001 m^3
  pH0 = 7.21
  pKa = 7.21
  n_add = 0.001 mol
  added = base
  assumes: C, V, n_add > 0; the addition smaller than the form it consumes; Henderson-Hasselbalch valid

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Buffer pH by the Henderson-Hasselbalch equation1 fig.cmb_henderson_hasselbalch

The pH of a buffer from the pKa and the concentrations of the conjugate base and the weak acid.

\mathrm{pH} = \mathrm{p}K_a + \log_{10}\frac{[\mathrm{A^-}]}{[\mathrm{HA}]}

You give

MeaningUnitExample
\text{pKa}
PKa of the weak acid—7.21
A
Conjugate base concentrationmol/m^360 (mmol/L)
\text{HA}
Weak acid concentrationmol/m^340 (mmol/L)

You get

MeaningUnitExample
\text{pH}
Buffer pH—7.386091259
\text{ratio}
[A-]/[HA]—1.5
\text{fraction\_base}
Fraction in the base form—0.6

Values with a unit may be written in any unit of the right kind.

Applies when

  • A, HA > 0
  • buffer concentrations well above [H+] and [OH-]

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Henderson-Hasselbalch: pKa = 7.21, A = 60 mM, HA = 40 mM
pH = 7.386091259
ratio = 1.5
fraction_base = 0.6

Run it

Terminal
$ cell-molecular-biology solve cmb_henderson_hasselbalch pKa=7.21 "A=60 (mmol/L)" "HA=40 (mmol/L)"
pH = 7.386091259
ratio = 1.5
fraction_base = 0.6
  by: Buffer pH by the Henderson-Hasselbalch equation  (pH = pKa + log10([A-]/[HA]))
  pKa = 7.21
  A = 60 mol/m^3
  HA = 40 mol/m^3
  assumes: A, HA > 0; buffer concentrations well above [H+] and [OH-]

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Dilution of a stock solution (C1 V1 = C2 V2)1 fig.cmb_c1v1_dilution

The volume of stock and of diluent needed to make a volume V2 at concentration C2 from a stock at C1.

C_1V_1 = C_2V_2

You give

MeaningUnitExample
\text{C1}
Stock concentrationmol/m^31000 (mmol/L)
\text{C2}
Final concentrationmol/m^350 (mmol/L)
\text{V2}
Final volumem^310 mL

You get

MeaningUnitExample
\text{V1}
Volume of stockm^35e-07 m^3
\text{V1\_uL}
Volume of stock in uL—500
V_{\mathrm{diluent}}
Volume of diluentm^39.5e-06 m^3
\text{dilution\_factor}
Dilution factor C1/C2—20

Values with a unit may be written in any unit of the right kind.

Applies when

  • C1, C2, V2 > 0
  • C2 <= C1
  • volumes additive

Outside these conditions it says what is wrong instead of returning a number.

Worked example

C1V1 dilution: C1 = 1000 mM, C2 = 50 mM, V2 = 10 mL
V1 = 5e-07 m^3
V1_uL = 500
V_diluent = 9.5e-06 m^3
dilution_factor = 20

Run it

Terminal
$ cell-molecular-biology solve cmb_c1v1_dilution "C1=1000 (mmol/L)" "C2=50 (mmol/L)" "V2=10 mL"
V1 = 5e-07 m^3
V1_uL = 500
V_diluent = 9.5e-06 m^3
dilution_factor = 20
  by: Dilution of a stock solution (C1 V1 = C2 V2)  (V1 = C2 V2 / C1; diluent = V2 - V1)
  C1 = 1000 mol/m^3
  C2 = 50 mol/m^3
  V2 = 1e-05 m^3
  assumes: C1, C2, V2 > 0; C2 <= C1; volumes additive

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Ionic strength of a solution1 fig.cmb_ionic_strength

The ionic strength I = (1/2) sum c z^2 of a solution from the concentration and charge of each ion.

I = \tfrac{1}{2}\sum_i c_i z_i^2

You give

MeaningUnitExample
c
Ion concentrations in mM (one per ion) vector—[150, 150]
z
Charge of each ion (e.g. 1, -1, 2) vector—[1, -1]

You get

MeaningUnitExample
I
Ionic strengthmol/m^3150 mol/m^3
I_{\mathrm{mM}}
Ionic strength in mM—150
I_{M}
Ionic strength in M—0.15

Applies when

  • one charge per concentration
  • charges non-zero whole numbers

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Ionic strength: c = [150, 150], z = [1, -1]
I = 150 mol/m^3
I_mM = 150
I_M = 0.15

Run it

Terminal
$ cell-molecular-biology solve cmb_ionic_strength "c=[150, 150]" "z=[1, -1]"
I = 150 mol/m^3
I_mM = 150
I_M = 0.15
  by: Ionic strength of a solution  (I = 1/2 sum c_i z_i^2)
  assumes: one charge per concentration; charges non-zero whole numbers

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Mass of solute for a solution of given molarity1 fig.cmb_mass_for_molarity

The mass of a compound to weigh out for a volume V of solution at molar concentration C.

m = C\,V\,M

You give

MeaningUnitExample
C
Desired concentrationmol/m^3150 (mmol/L)
V
Volume of solutionm^3500 mL
\text{MW}
Molar mass of the compoundkg/mol58.44 g/mol

You get

MeaningUnitExample
m
Mass to weighkg0.004383 kg
m_{g}
Mass in grams—4.383
m_{\mathrm{mg}}
Mass in milligrams—4383
n
Amount of substancemol0.075 mol

Values with a unit may be written in any unit of the right kind.

Applies when

  • C, V, MW > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Mass for a molar solution: C = 150 mM, V = 500 mL, MW = 58.44 g/mol
m = 0.004383 kg
m_g = 4.383
m_mg = 4383
n = 0.075 mol

Run it

Terminal
$ cell-molecular-biology solve cmb_mass_for_molarity "C=150 (mmol/L)" "V=500 mL" "MW=58.44 g/mol"
m = 0.004383 kg
m_g = 4.383
m_mg = 4383
n = 0.075 mol
  by: Mass of solute for a solution of given molarity  (m = C V MW)
  C = 150 mol/m^3
  V = 0.0005 m^3
  MW = 0.05844 kg/mol
  assumes: C, V, MW > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Molar concentration from mass and volume1 fig.cmb_molarity_from_mass

The molar concentration of a solution made by dissolving a mass of compound to a final volume V.

C = \frac{m}{M\,V}

You give

MeaningUnitExample
m
Mass of solutekg2920 mg
\text{MW}
Molar masskg/mol58.44 g/mol
V
Final volumem^3500 mL

You get

MeaningUnitExample
C
Molar concentrationmol/m^399.93155373 mol/m^3
C_{\mathrm{mM}}
Concentration in mM—99.93155373
C_{M}
Concentration in M—0.09993155373
n
Amount of substancemol0.04996577687 mol

Values with a unit may be written in any unit of the right kind.

Applies when

  • m, MW, V > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Molarity from mass: m = 2920 mg, MW = 58.44 g/mol, V = 500 mL
C = 99.93155373 mol/m^3
C_mM = 99.93155373
C_M = 0.09993155373
n = 0.04996577687 mol

Run it

Terminal
$ cell-molecular-biology solve cmb_molarity_from_mass "m=2920 mg" "MW=58.44 g/mol" "V=500 mL"
C = 99.93155373 mol/m^3
C_mM = 99.93155373
C_M = 0.09993155373
n = 0.04996577687 mol
  by: Molar concentration from mass and volume  (C = m / (MW V))
  m = 0.00292 kg
  MW = 0.05844 kg/mol
  V = 0.0005 m^3
  assumes: m, MW, V > 0

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Molarity of a per cent (w/v) solution2 fig.cmb_percent_wv_to_molarity

The molar concentration and grams per litre of a solution given in per cent weight per volume (g per 100 mL), e.g. 0.9 % NaCl.

C = \frac{10\times(\%\,w/v)}{M}

You give

MeaningUnitExample
p
Concentration in per cent w/v (written with %, e.g. 0.9%)—0.009
\text{MW}
Molar mass of the solutekg/mol58.44 g/mol

You get

MeaningUnitExample
C
Molar concentrationmol/m^3154.0041068 mol/m^3
C_{\mathrm{mM}}
Concentration in mM—154.0041068
C_{M}
Concentration in M—0.1540041068
\text{mass\_concentration}
Mass concentrationkg/m^39 kg/m^3
g_{\mathrm{per},L}
Grams per litre—9

Values with a unit may be written in any unit of the right kind.

Applies when

  • 0 < p < 100 %
  • MW > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Per cent w/v to molarity: p = 0.9%, MW = 58.44 g/mol
C = 154.0041068 mol/m^3
C_mM = 154.0041068
C_M = 0.1540041068
mass_concentration = 9 kg/m^3
g_per_L = 9

Run it

Terminal
$ cell-molecular-biology solve cmb_percent_wv_to_molarity p=0.009 "MW=58.44 g/mol"
C = 154.0041068 mol/m^3
C_mM = 154.0041068
C_M = 0.1540041068
mass_concentration = 9 kg/m^3
g_per_L = 9
  by: Molarity of a per cent (w/v) solution  (g/L = 10 x (% w/v); C = (g/L) / MW)
  p = 0.009
  MW = 0.05844 kg/mol
  assumes: 0 < p < 100 %; MW > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Recipe for a buffer of given pH and concentration1 fig.cmb_buffer_preparation

The concentrations, amounts and (with molar masses) masses of the weak acid and its conjugate base needed for a volume V of buffer at total concentration C and a target pH.

\frac{[\mathrm{A^-}]}{[\mathrm{HA}]} = 10^{\mathrm{pH} – \mathrm{p}K_a}

You give

MeaningUnitExample
C
Total buffer concentrationmol/m^3100 (mmol/L)
V
Volume of bufferm^31000 mL
\text{pH}
Target pH—7.4
\text{pKa}
PKa of the buffer acid—7.21
\text{MW\_acid}
Molar mass of the acid form (optional) optionalkg/mol137.99 g/mol
\text{MW\_base}
Molar mass of the base form (optional) optionalkg/mol141.96 g/mol

You get

MeaningUnitExample
C_{\mathrm{base}}
Base-form concentrationmol/m^360.76610641 mol/m^3
C_{\mathrm{acid}}
Acid-form concentrationmol/m^339.23389359 mol/m^3
n_{\mathrm{base}}
Amount of base formmol0.06076610641 mol
n_{\mathrm{acid}}
Amount of acid formmol0.03923389359 mol
\text{ratio}
[A-]/[HA]—1.548816619
m_{\mathrm{acid},g}
Grams of the acid form (when MW_acid is given)—5.413884976
m_{\mathrm{base},g}
Grams of the base form (when MW_base is given)—8.626356466

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • C, V > 0
  • Henderson-Hasselbalch valid (pH within about 1 of pKa)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Buffer preparation: C = 100 mM, V = 1000 mL, pH = 7.4, pKa = 7.21, MW_acid = 137.99 g/mol, MW_base = 141.96 g/mol
C_base = 60.76610641 mol/m^3
C_acid = 39.23389359 mol/m^3
n_base = 0.06076610641 mol
n_acid = 0.03923389359 mol
ratio = 1.548816619
m_acid_g = 5.413884976

Run it

Terminal
$ cell-molecular-biology solve cmb_buffer_preparation "C=100 (mmol/L)" "V=1000 mL" pH=7.4 pKa=7.21 "MW_acid=137.99 g/mol" "MW_base=141.96 g/mol"
C_base = 60.76610641 mol/m^3
C_acid = 39.23389359 mol/m^3
n_base = 0.06076610641 mol
n_acid = 0.03923389359 mol
ratio = 1.548816619
m_acid_g = 5.413884976
m_base_g = 8.626356466
  by: Recipe for a buffer of given pH and concentration  (r = 10^(pH - pKa); C_base = C r/(1 + r); C_acid = C - C_base; n = C V; m = n M)
  C = 100 mol/m^3
  V = 0.001 m^3
  pH = 7.4
  pKa = 7.21
  MW_acid = 0.13799 kg/mol
  MW_base = 0.14196 kg/mol
  assumes: C, V > 0; Henderson-Hasselbalch valid (pH within about 1 of pKa)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Relative centrifugal force from rotor speed2 fig.cmb_centrifuge_rcf

The relative centrifugal force (x g) at radius r for a rotor speed in rpm.

\mathrm{RCF} = \frac{\omega^2 r}{g} = 1.118\times10^{-5}\,r_{cm}\,N_{rpm}^2

You give

MeaningUnitExample
\text{rpm}
Rotor speedrad/s3000 rpm
r
Radius from the rotor axism10 cm

You get

MeaningUnitExample
\text{RCF}
Relative centrifugal force in multiples of g—1006.419562
\text{rpm\_value}
Rotor speed in rpm—3000

Values with a unit may be written in any unit of the right kind.

Applies when

  • rpm, r > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Relative centrifugal force: rpm = 3000 rpm, r = 10 cm
RCF = 1006.419562
rpm_value = 3000

Run it

Terminal
$ cell-molecular-biology solve cmb_centrifuge_rcf "rpm=3000 rpm" "r=10 cm"
RCF = 1006.419562
rpm_value = 3000
  by: Relative centrifugal force from rotor speed  (RCF = omega^2 r / g = 1.118e-5 r(cm) rpm^2)
  rpm = 314.1592654 rad/s
  r = 0.1 m
  assumes: rpm, r > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Rotor speed for a required centrifugal force2 fig.cmb_centrifuge_rpm

The rotor speed (rpm) that gives a required relative centrifugal force (x g) at radius r.

N_{rpm} = \frac{60}{2\pi}\sqrt{\frac{\mathrm{RCF}\,g}{r}}

You give

MeaningUnitExample
\text{RCF}
Required relative centrifugal force in multiples of g—1000
r
Radius from the rotor axism10 cm

You get

MeaningUnitExample
\omega
Angular speedrad/s313.1557121 rad/s
\text{rpm\_value}
Rotor speed in rpm—2990.416772

Values with a unit may be written in any unit of the right kind.

Applies when

  • RCF, r > 0

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Centrifuge speed for an RCF: RCF = 1000 g, r = 10 cm
omega = 313.1557121 rad/s
rpm_value = 2990.416772

Run it

Terminal
$ cell-molecular-biology solve cmb_centrifuge_rpm RCF=1000 "r=10 cm"
omega = 313.1557121 rad/s
rpm_value = 2990.416772
  by: Rotor speed for a required centrifugal force  (rpm = sqrt(RCF g / r) x 60 / (2 pi))
  RCF = 1000
  r = 0.1 m
  assumes: RCF, r > 0

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Serial dilution series2 fig.cmb_serial_dilution

The concentrations after each step of a serial dilution with a constant factor, the final concentration and total dilution, and (with the tube volume) the transfer and diluent volumes per step.

C_k = \frac{C_0}{f^k}

You give

MeaningUnitExample
\text{C0}
Starting concentrationmol/m^310 (mmol/L)
f
Dilution factor per step (e.g. 10)—10
n
Number of dilution steps—4
V
Final volume in each tube (optional) optionalm^3

You get

MeaningUnitExample
C_{\mathrm{final}}
Concentration after n stepsmol/m^30.001 mol/m^3
\text{total\_dilution}
Total dilution factor f^n—10000
\text{concentrations\_mM}
Concentration after each step in mM—[1, 0.1, 0.01, 0.001]
\text{transfer}
Volume carried to the next tube (when V is given)m^3
\text{diluent}
Diluent per tube (when V is given)m^3

Values with a unit may be written in any unit of the right kind. An optional input can be left out: a stated default is used.

Applies when

  • C0 > 0
  • f > 1
  • 1 <= n <= 30

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Serial dilution: C0 = 10 mM, f = 10, n = 4 steps
C_final = 0.001 mol/m^3
total_dilution = 10000
concentrations_mM = [1, 0.1, 0.01, 0.001]

Run it

Terminal
$ cell-molecular-biology solve cmb_serial_dilution "C0=10 (mmol/L)" f=10 n=4
C_final = 0.001 mol/m^3
total_dilution = 10000
concentrations_mM = [1.0,0.1,0.01,0.001]
  by: Serial dilution series  (C_k = C0 / f^k; transfer = V/f, diluent = V - V/f)
  C0 = 10 mol/m^3
  f = 10
  assumes: C0 > 0; f > 1; 1 <= n <= 30

Figures

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Time to pellet a particle in a centrifuge (k-factor)1 fig.cmb_sedimentation_time

The time to sediment a particle of sedimentation coefficient s from r_min to r_max at a rotor speed, and the rotor's k-factor (t in hours = k / s).

t = \frac{\ln(r_{max}/r_{min})}{\omega^2 s},\quad k = \frac{\ln(r_{max}/r_{min})}{\omega^2}\cdot\frac{10^{13}}{3600}

You give

MeaningUnitExample
s
Sedimentation coefficient in svedbergs—70
\text{rpm}
Rotor speedrad/s40000 rpm
r_{\mathrm{min}}
Starting (minimum) radiusm5 cm
r_{\mathrm{max}}
Radius of the pellet (maximum radius)m10 cm

You get

MeaningUnitExample
t
Sedimentation times5643.521741 s
t_{h}
Time in hours—1.567644928
k_{\mathrm{factor}}
k-factor (t_h = k / s)—109.735145

Values with a unit may be written in any unit of the right kind.

Applies when

  • s, rpm > 0
  • 0 < r_min < r_max
  • constant s (no diffusion)

Outside these conditions it says what is wrong instead of returning a number.

Worked example

Sedimentation time: s = 70 S, rpm = 40000 rpm, r_min = 5 cm, r_max = 10 cm
t = 5643.521741 s
t_h = 1.567644928
k_factor = 109.735145

Run it

Terminal
$ cell-molecular-biology solve cmb_sedimentation_time s=70 "rpm=40000 rpm" "r_min=5 cm" "r_max=10 cm"
t = 5643.521741 s
t_h = 1.567644928
k_factor = 109.735145
  by: Time to pellet a particle in a centrifuge (k-factor)  (dr/dt = s omega^2 r: t = ln(r_max/r_min) / (omega^2 s); k = ln(r_max/r_min) / omega^2 x 1e13 / 3600)
  s = 70
  rpm = 4188.790205 rad/s
  r_min = 0.05 m
  r_max = 0.1 m
  assumes: s, rpm > 0; 0 < r_min < r_max; constant s (no diffusion)

Figure

Each figure varies one input around the worked example and recomputes the result at every point. Press Compute above and they are redrawn for your own inputs.

Figures

Computed, not drawn by hand

Every point in these figures is an answer of the model: one input is varied, the others are held at the worked example, and the curve shows how the result responds. The marked point is the worked example itself.

Fractional saturation by the Hill equation

\theta = \frac{[L]^n}{K_{0.5}^n + [L]^n}
theta against L: Fractional saturation by the Hill equationtheta (fractional saturation) against L (free ligand concentration), with K = 0.026 mol/m^3, n = 2.8. 31 points computed by cell-molecular-biology-ai999x; marked: L = 0.026, theta = 0.5.0.020.030.20.40.60.80.5 L — free ligand concentration [mol/m^3]theta
theta (fractional saturation) against L (free ligand concentration), with K = 0.026 mol/m^3, n = 2.8. 31 points computed by cell-molecular-biology-ai999x; marked: L = 0.026, theta = 0.5.

Nernst equilibrium potential of an ion across a cell membrane

E = \frac{RT}{zF}\ln\frac{C_{out}}{C_{in}}
E against C_out: Nernst equilibrium potential of an ion across a cell membraneE (equilibrium potential (inside minus outside)) against C_out (outside concentration), with C_in = 140 mol/m^3, T = 310.15 K, z = 1. 31 points computed by cell-molecular-biology-ai999x; marked: C_out = 5, E = -0.0890587 V.46-0.1-0.09-0.08-0.0890587 VC_out — outside concentration [mol/m^3]E [V]
E (equilibrium potential (inside minus outside)) against C_out (outside concentration), with C_in = 140 mol/m^3, T = 310.15 K, z = 1. 31 points computed by cell-molecular-biology-ai999x; marked: C_out = 5, E = -0.0890587 V.

qPCR relative expression by the delta-delta Ct method

\Delta\Delta C_t = \Delta C_{t,treated} – \Delta C_{t,control},\quad \text{fold} = 2^{-\Delta\Delta C_t}
fold_change against Ct_target_treated: qPCR relative expression by the delta-delta Ct methodfold_change (relative expression 2^-ddCt) against Ct_target_treated (Ct of the target gene in the treated sample), with Ct_ref_control = 18.2, Ct_ref_treated = 18, Ct_target_control = 27. 31 points computed by cell-molecular-biology-ai999x; marked: Ct_target_treated = 24.5, fold_change = 4.92458.2030010000200004.92458 Ct_target_treated — Ct of the target gene in the treated samplefold_change
fold_change (relative expression 2^-ddCt) against Ct_target_treated (Ct of the target gene in the treated sample), with Ct_ref_control = 18.2, Ct_ref_treated = 18, Ct_target_control = 27. 31 points computed by cell-molecular-biology-ai999x; marked: Ct_target_treated = 24.5, fold_change = 4.92458.

Doubling time and number of generations from two counts

n = \log_2\frac{N}{N_0},\quad t_d = \frac{t}{n},\quad \mu = \frac{\ln(N/N_0)}{t}
td against N0: Doubling time and number of generations from two countstd (doubling time) against N0 (initial cell count (or concentration)), with N = 1.60e5, t = 28800 s. 31 points computed by cell-molecular-biology-ai999x; marked: N0 = 10000, td = 7200 s.500075001000012500150006000700080007200 sN0 — initial cell count (or concentration)td [s]
td (doubling time) against N0 (initial cell count (or concentration)), with N = 1.60e5, t = 28800 s. 31 points computed by cell-molecular-biology-ai999x; marked: N0 = 10000, td = 7200 s.
Questions

Frequently asked

What does cell-molecular-biology-ai999x do?

Cell and Molecular Biology answers questions in cell and molecular biology: membranes and diffusion, osmosis and membrane potentials, cell growth and the cell cycle, DNA and RNA melting temperatures and quantification, sequences, PCR and qPCR, gene expression, enzyme kinetics, inhibition and binding, buffers and dilutions. Each answer gives the value with its unit, the steps and the formula in LaTeX.

Is there a desktop app or a command-line program?

Yes, both, for Windows and Linux, in their next release: the AI999X desktop app holds all AI999X models in one window, and the command-line bundle one program per model (cell-molecular-biology for this one). Until then this model runs in your browser on this page. Downloads and checksums: https://www.ai999x.com/desktop-cli/

How do I install cell-molecular-biology-ai999x?

With pip: pip install cell-molecular-biology-ai999x. The same files are on Hugging Face (hf download AI999X/cell-molecular-biology-ai999x –local-dir cell-molecular-biology-ai999x) and GitHub.

Does it run offline?

Yes. It is a Python package that runs on an ordinary CPU without a network connection (Python >=3.10); no GPU and no API key are needed.

How many capabilities does cell-molecular-biology-ai999x have?

94 capabilities in 7 topics, including DNA and RNA, Cell growth, Membranes and diffusion, Solution biochemistry, Enzyme kinetics.

Which field and tasks does it cover?

Field: Life Sciences. Tasks: Question Answering, Sentence Similarity, Feature Extraction.

What does an answer look like?

Asked "Nernst potential: z = 1, C_out = 5 mM, C_in = 140 mM, T = 37 degC", it answers: E = -0.0890587 V, E_mV = -89.0587.

What happens when a question cannot be answered?

It says so and names what is missing or out of range, instead of guessing a number.

More from AI999X

Explore every model.