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.
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.
Core formula
C1 × V1 = C2 × V2
Solved for transfer volume:
V1 = (C2 × V2) / C1
Solvent volume:
Vsolvent = V2 − V1
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:
- Filter to pipettes where the transfer volume falls within hard limits
- Score each by distance from the midpoint of its optimal range
- Select the lowest score (closest to mid-optimal)
- Tie-break by preferring smaller capacity, then list order
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:
- Generate candidate intermediate concentrations (geometric mean, 10×/100×/1000× target, stock÷10/100/1000)
- Filter to valid range (between target and stock)
- Test each against candidate intermediate volumes (1 mL, 10 mL, 50 mL, 100 mL)
- Score feasible plans by aggregate comfort score
- 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.
Rounding
Transfer volumes are rounded to the selected pipette's resolution:
| Pipette | Resolution |
|---|---|
| P10 | 0.1 µL |
| P20 | 0.1 µL |
| P200 | 1.0 µL |
| P1000 | 10.0 µL |
After rounding, solvent volume is recomputed. If rounding causes negative solvent (transfer > final volume), the engine returns a blocking error.
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
- Using a P20 pipette, transfer 10.0 µL of the 10.0 mM stock solution into a clean container.
- Add 49.99 mL water (50.00 mL − 10.0 µL).
- Mix thoroughly.
Serial dilution example
- Using a P200 pipette, transfer 100 µL of the 10.0 M stock into a clean container.
- Add 9.90 mL water to bring volume to 10.0 mL. Mix thoroughly to produce Intermediate 1 (3.16 mM).
- Using a P20 pipette, transfer 10.0 µL of Intermediate 1 into a clean container.
- Add 9.99 mL water to bring volume to 10.0 mL.
- Mix thoroughly.
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.