Skip to content

wl5e/serial-dilution-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serial Dilution Planner

A command-line tool to generate step-by-step serial dilution pipetting schemes for microbiology and GMP laboratories. It calculates transfer and diluent volumes for a series of tubes given a stock concentration, dilution factor, number of tubes, and desired final volume per tube.

Features

  • Define stock concentration, dilution factor (e.g., 10 for 1:10), number of tubes, and tube volume.
  • Supports custom concentration units (cfu/ml, mg/ml, etc.).
  • Choose between mL and µL volume units for display.
  • Output in human-readable table format (default) or CSV for data import.
  • Verbose mode prints natural-language pipetting instructions.
  • Built entirely in Rust with no external dependencies for fast, reliable execution.
  • Handles invalid inputs gracefully with descriptive error messages.

Installation

  1. Ensure you have Rust and Cargo installed (https://rustup.rs).
  2. Clone the repository:
    git clone https://github.com/yourusername/serial-dilution-planner.git
    cd serial-dilution-planner
  3. Build in release mode:
    cargo build --release
  4. The binary will be at ./target/release/serial-dilution-planner.

Usage

Serial Dilution Planner

Usage: serial-dilution-planner --stock <conc> --factor <dilution_factor> --tubes <num> --volume <total_vol> [OPTIONS]

Options:
  --stock        Stock solution concentration (positive number)
  --factor       Dilution factor per step (>1, e.g. 10 for 1:10)
  --tubes        Number of dilution tubes (>0)
  --volume       Total volume per tube (in the unit selected by --vol-unit)
  --unit         Concentration unit label (default: units/ml)
  --vol-unit     Volume display unit: 'ml' (default) or 'ul'
  --output       Output format: 'table' (default) or 'csv'
  --verbose      Print detailed pipetting instructions
  --help         Show this help message

Examples

  1. Basic 1:10 serial dilution with 5 tubes, 1 mL each:

    serial-dilution-planner --stock 1e6 --factor 10 --tubes 5 --volume 1.0 --unit cfu/ml
  2. Using microliter volumes and CSV output:

    serial-dilution-planner --stock 500 --factor 5 --tubes 4 --volume 200 --vol-unit ul --unit mg/ml --output csv
  3. Verbose instructions for manual pipetting:

    serial-dilution-planner --stock 100 --factor 2 --tubes 3 --volume 0.5 --verbose

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A CLI tool to generate step-by-step serial dilution pipetting schemes for microbiology labs, supporting custom stock concentration, dilution factor, tube count, volume units, and output formats.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages