Skip to content
LabCalcPro

How It Works

How LabCalcPro Works

Given a stock solution, a target concentration, and your available pipettes, LabCalcPro produces step-by-step protocols you can execute at the bench — with full mathematical transparency. In Mass ↔ Molarity mode, use concentration, volume, and molecular weight (or saved solutes) for solution prep.

The core problem

You need 5 mL of 10 nM working solution from a 10 mM stock. That's a 1,000,000× dilution. C1V1 = C2V2 says you need 0.005 µL of stock — a volume no pipette can deliver.

So you plan a serial dilution. But which intermediate concentration? Which pipette for each stage? Your P10 can technically do 10 µL, but it's at the edge of its range — accuracy drops. The P20's optimal range starts at 5 µL, with better accuracy at that volume. Do you round to 0.1 µL or 1.0 µL? And after rounding, does the solvent volume still add up?

This is the kind of decision chain LabCalcPro automates. You enter what you want, what you have, and which pipettes are on your bench. The app handles the rest — from unit conversion through pipette selection to a numbered protocol you can follow step by step.

Input model

The engine accepts four pieces of information:

Target — what you want to end up with

  • Concentration (e.g., 2.0 µM)
  • Volume (e.g., 50 mL)

Stock — what you're starting with

  • Concentration (e.g., 10.0 mM)
  • Solvent (optional)

Final solvent

What you're diluting into — water, DMSO, PBS, ethanol, or methanol.

Pipettes — your available instruments

Each pipette is defined by its hard range (absolute min/max), optimal range (where accuracy is highest), and resolution (smallest increment). The default set covers P10, P20, P200, and P1000 — the standard laboratory lineup. You can customize pipettes in Settings and, on the calculator, toggle which ones are in use for each calculation without changing saved settings.

The calculation pipeline

From input to protocol, every calculation passes through seven deterministic stages.

Inputs Calculation Engine Outputs Target (C2, V2) Stock (C1) Final Solvent Available Pipettes Unit normalization C1V1 = C2V2 math Pipette selection Serial dilution solver Numbered steps Pipette + volumes Solvent volumes Warnings UI renders engine output verbatim; results are deterministic for identical inputs
1

Unit normalization

All inputs are converted to SI-canonical units: molar (M) for concentration, liters (L) for volume. The engine does all math in canonical units, then converts back to display units at output.

2

Core formula

C1 × V1 = C2 × V2

Solved for transfer volume:

V1 = (C2 × V2) / C1

Solvent volume:

Vsolvent = V2 − V1

3

Pipette selection

This is where LabCalcPro adds real value. Rather than just finding a pipette that works, the algorithm finds the best pipette using mid-range comfort scoring.

The principle: pipettes are most accurate in the middle of their optimal range, not at the edges. A P20 pipetting 10 µL is more reliable than a P10 pipetting 10 µL (at its maximum).

The algorithm:

  1. Filter to pipettes where the transfer volume falls within hard limits
  2. Score each by distance from the midpoint of its optimal range
  3. Select the lowest score (closest to mid-optimal)
  4. Tie-break by preferring smaller capacity, then list order
Pipette Comfort Ranges Prefer transfer volumes near the midpoint of a pipette's optimal range, not just within hard limits. Transfer Volume (µL) min mid max Optimal Range Hard Range Avoid extremes Prefer mid-range Examples P10 hard: 1–10 µL · optimal: 2–8 µL P20 hard: 2–20 µL · optimal: 5–18 µL
Example: For an 8 µL transfer, P20 (optimal 5–18 µL, midpoint 11.5) scores better than P10 (optimal 2–8 µL, midpoint 5) because 8 µL is closer to P20's sweet spot.
4

Serial dilution solver

When the dilution ratio exceeds 1000×, a single pipetting step may push volumes to uncomfortable extremes. The serial solver finds a two-stage plan that keeps both transfers in comfortable ranges. For extreme ratios (up to 10¹⁰× and beyond), it automatically uses a three-stage plan when two stages aren't enough, choosing the minimum number of stages for accurate pipetting.

Strategy:

  1. Generate candidate intermediate concentrations (geometric mean, 10×/100×/1000× target, stock÷10/100/1000)
  2. Filter to valid range (between target and stock)
  3. Test each against candidate intermediate volumes (1 mL, 10 mL, 50 mL, 100 mL)
  4. Score feasible plans by aggregate comfort score
  5. Select the plan that places all transfers closest to mid-optimal; add a third stage when needed

If no feasible two- or three-stage plan exists, the engine falls back to single-step with appropriate warnings.

Sample Serial Dilution Plan Example: 10.0 mM stock → 10.0 nM final (1,000,000×). Two stages of 1000× each. Stock Solution 10.0 mM Intermediate 10.0 µM Final Solution 10.0 nM Stage 1 (1000×) P20: Transfer 10.0 µL stock Add 9.99 mL solvent; mix Stage 2 (1000×) P10: Transfer 10.0 µL intermediate Add 9.99 mL solvent; mix Goal: keep transfer volumes in comfortable pipette ranges; label intermediates for reproducibility.
5

Rounding

Transfer volumes are rounded to the selected pipette's resolution:

Pipette Resolution
P100.1 µL
P200.1 µL
P2001.0 µL
P100010.0 µL

After rounding, solvent volume is recomputed. If rounding causes negative solvent (transfer > final volume), the engine returns a blocking error.

6

Step generation

The engine produces human-readable, executable protocol steps. Each step names the pipette, quantifies volumes with units, and identifies solvents explicitly.

Single-step example

  1. Using a P20 pipette, transfer 10.0 µL of the 10.0 mM stock solution into a clean container.
  2. Add 49.99 mL water (50.00 mL − 10.0 µL).
  3. Mix thoroughly.

Serial dilution example

  1. Using a P200 pipette, transfer 100 µL of the 10.0 M stock into a clean container.
  2. Add 9.90 mL water to bring volume to 10.0 mL. Mix thoroughly to produce Intermediate 1 (3.16 mM).
  3. Using a P20 pipette, transfer 10.0 µL of Intermediate 1 into a clean container.
  4. Add 9.99 mL water to bring volume to 10.0 mL.
  5. Mix thoroughly.
7

Show Math

Every calculation includes a full derivation: the formula, substituted values, canonical result, rounded result, pipette selection with comfort score, and solvent volume. This serves as an audit trail for verification.

Validation & warnings

Blocking errors

These halt the pipeline immediately:

  • Missing required fields
  • Negative or zero values
  • Target concentration ≥ stock (not a dilution)
  • Computed volume below 0.1 µL minimum
  • No pipette spans the required volume

Non-blocking warnings

These attach to successful results:

  • Large dilution ratio (≥1000×)
  • Volume at pipette limit (reduced accuracy)
  • Solvent mismatch (stock solvent ≠ final solvent)
  • Serial dilution infeasible

Warnings describe constraints only — never safety or technique advice.

Data model

Saved calculations are immutable snapshots stored locally in SQLite. Each snapshot captures the full request, full response, app version, and engine version. This ensures any saved calculation can be replayed bit-exactly.

No cloud sync. No user accounts. No network calls.

Architecture principles

  • Deterministic. Identical inputs always produce identical outputs.
  • Offline-first. All computation is local.
  • Auditable. Full math preserved for every calculation.
  • Separation of concerns. UI renders engine output verbatim; never synthesizes steps or warnings.

Product boundaries

LabCalcPro is a calculation and planning utility. It guarantees deterministic math, transparent formulas, and reproducible results.

It does not provide:

  • Safety or technique guidance
  • Chemical compatibility judgments
  • Regulatory validation
  • Non-ideal mixing corrections

All calculations assume ideal additive volumes. Users are responsible for verifying calculations and all decisions related to laboratory execution.