Calculate precise buffer recipes with accurate mass and volume measurements for molecular biology and biochemistry. Supports PBS, RIPA, and TAE with concentration scaling, stock solution preparation, pH adjustment guidance, and step-by-step protocols.
57
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./scientific-skills/Other/buffer-calculator/SKILL.mdCalculate precise buffer formulations with accurate mass and volume measurements for molecular biology, biochemistry, and cell culture applications. Supports predefined common buffers and customizable calculations with pH adjustment guidance.
Key Capabilities:
This skill accepts: a buffer type (PBS, RIPA, TAE), final volume in mL, and optional concentration multiplier (default 1X).
If the request does not involve calculating a laboratory buffer recipe — for example, asking to design a drug formulation, interpret pH meter readings, or perform chemical synthesis — do not proceed. Instead respond:
"Buffer Calculator is designed to calculate precise buffer recipes for molecular biology and biochemistry. Please provide a buffer type (PBS, RIPA, or TAE) and target volume. For other formulation tasks, use a more appropriate tool."
python -m py_compile scripts/main.py
python scripts/main.py --helpFallback: If buffer type is missing or unrecognized, respond: "Buffer type not specified or not in library. Available buffers: PBS, RIPA, TAE. Use --list to see all options. Cannot calculate without a valid buffer type."
from scripts.main import BufferCalculator
calc = BufferCalculator()
# List available buffers
for buf in calc.BUFFER_RECIPES.keys():
print(f" {buf}: pH {calc.BUFFER_RECIPES[buf].get('pH', 'N/A')}")| Buffer | Application | pH | Key Components |
|---|---|---|---|
| PBS | Cell washing, immunostaining | 7.4 | NaCl, KCl, Phosphates |
| RIPA | Cell lysis, protein extraction | 7.4 | Tris, NaCl, Detergents |
| TAE | DNA electrophoresis | ~8.0 | Tris, Acetate, EDTA |
| HEPES | Cell culture, pH-sensitive assays | 7.0–7.6 | HEPES, NaCl |
| Tris-HCl (pH 7.4) | Protein buffers, Western blot | 7.4 | Tris, HCl |
| Tris-HCl (pH 8.0) | DNA/RNA work, enzyme reactions | 8.0 | Tris, HCl |
| MOPS | RNA electrophoresis, cell culture | 7.0–7.5 | MOPS, NaCl |
result = calc.calculate("PBS", final_volume_ml=500, concentration_x=1.0)
for comp in result['components']:
if 'amount_mg' in comp:
print(f"{comp['component']}: {comp['amount_mg']:.2f} mg")Formula: mass (mg) = concentration (mM) × volume (mL) × MW (g/mol) / 1000
# 10X PBS stock (500 mL)
stock_result = calc.calculate("PBS", final_volume_ml=500, concentration_x=10.0)| Concentration | Storage Stability | Use Case |
|---|---|---|
| 1X | 1–2 weeks at 4°C | Immediate use |
| 10X | 3–6 months at 4°C | Regular daily use |
| 20X–50X | 6–12 months frozen | Long-term storage |
# Calculate PBS buffer (1X, 500 mL)
python scripts/main.py PBS --volume 500
# Calculate 10X PBS
python scripts/main.py PBS --volume 500 --concentration 10
# List all available buffers
python scripts/main.py --list| Parameter | Type | Required | Description |
|---|---|---|---|
buffer | string | Yes | Buffer type (PBS, RIPA, TAE) |
--volume, -v | float | No | Final volume in mL |
--concentration, -c | float | No (default 1.0) | Concentration multiplier (X) |
--list, -l | flag | No | List available buffers |
Every final response must make these explicit:
mass (mg) = concentration (mM) × volume (mL) × MW (g/mol) / 1000.scripts/main.py fails, report the failure point and provide manual calculation fallback using the formula above.Expected output for PBS 1X 500 mL:
| Compound | Formula | MW (g/mol) |
|---|---|---|
| NaCl | NaCl | 58.44 |
| KCl | KCl | 74.55 |
| Tris base | C₄H₁₁NO₃ | 121.14 |
| EDTA (disodium) | C₁₀H₁₄N₂Na₂O₈·2H₂O | 372.24 |
| Na₂HPO₄ (anhydrous) | Na₂HPO₄ | 141.96 |
| KH₂PO₄ | KH₂PO₄ | 136.09 |
→ Full troubleshooting: references/troubleshooting.md (if available)
f5ef65b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.