Skip to content

koisland/CalCFU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CalCFU

PyPi Version

A CFU calculator app built in Python and R using the NCIMS 2400 standards.

CalCFU UI


Table of Contents


CalCFU (R Shiny App)

This R Shiny app serves as a easy-to-use UI for the calcfu Python module.

Getting Started

To pull the image:

docker pull koisland/calcfu

To build the image on your local machine:

git clone git@github.com:koisland/CalCFU.git -b app

cd CalCFU/

docker build . -t calcfu:latest

docker run -it -p 3838:3838 calcfu:latest

To check it out locally.

User Guide

This is a basic user guide to using the CalCFU app.

Requirements

  • 3M Petrifilm Reader
  • 3M Petrifilm Reader Software
    • Version:
  • 3M Petrifilm Results in CSV/TSV/SSV format (.txt)
  • Firefox/Edge/Chrome Browser
    • Avoid Internet Explorer as R Shiny apps on this browser are more prone to errors.

Data

Proper data entry is critical for correct results.

DO:

  • Label all samples!
    • Use this format - LABEL-NUMBER:
      • LABEL should be easy to refer back to a batch sheet.
        • S21100777 could be shortened to 777
      • NUMBER should refer to the dilution order.
        • 777-1 -> -2, 777-2 -> -3
    • Even if there is an initial time cost, you can refer to these results later.
  • Comment and edit results when at the 3M Reader.
    • Edited values replace the raw counts and your comments will show up in the table making it easier to check and replace strange values.
  • Realize that any changes made in the table UI are not saved to the original file!

DON'T:

  • Modify the original text file.
  • Blindly copy values.
    • If samples are improperly labeled, groups maybe merged and used in different calculations.

Options

  • Weighed
    • Adds a "g" to the units.
    • Default: "mL" to the units.
  • Allow No ID?
    • Allows calculation with no IDs with a set number to group by.
      • The group number must be a divisor of the total number of rows.
        • 84 rows with groups of 3 is okay.
        • 84 rows with groups of 5 is not okay.
      • Default: Use Sample IDs to group plates by.
        • If no ID is provided, order entered is used for dilution order.
      • Verification plates are always omitted.
  • Allow Different Dilutions?
    • Ignore dilutions and use a set dilution group for calculations.
    • If the number of plates is >2, cycle through the dilutions.
  • Allow Different Plate Types?
    • Ignore plate types and use a set plate type for calculations.
    • Each plate type uses different columns to calculate values.
      • PAC - Red Raw Count
      • RAC - Red Raw Count, Blue Raw Count
      • PCC - Red Gas Raw Count

Technical Info

Development

All future updates to this project can be found here.

While I would like this to see wider and more expanded usage (LIMS integration), much of the 3M Reader usage rules are tied to the NCIMS 2400s which is fairly strict and has seen little change over the years.

Feel free to contact me at koshima789@gmail.com for any questions, concerns, or new ideas.

TO-DO
  • Download results.
  • R and Python unit tests for reader.
  • Better manual calculator UI and settings.

CalCFU (Python Module)

The Python scripts in this app calculate CFU counts for plating methods outlined in the NCIMS 2400 using two custom classes.

  • Plate for storing plate characteristics.
  • CalCFU for the calculator logic.

View the source code on GitHub.

To install calcfu and test it:

pip install calcfu

About

CFU calculator based on NCIMS 2400s SOPs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors