Skip to content

πŸ§‘β€πŸ”¬ Tool for managing and analyzing data from calibration measurements for subsequent concentration calculaton

Notifications You must be signed in to change notification settings

FAIRChemistry/CaliPytion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CaliPytion - Tool to create, apply and document calibration models for concentration calculation

Documentation Tests PyPI version

Overview

CaliPytion is a Python package for the creation, application, and documentation of calibration models for concentration calculations from a measured standard. This package allows comparing different calibration models and selecting the best one based on various statistical metrics like R2, AIC, or RMSD. The selected model can then be used to calculate the concentration of unknown samples from their measured signals. Furthermore, the calibration standard containing the calibration model as well as information on the used substance and measurement conditions can be exported in JSON and AnIML format for reuse and documentation.

Key Functionalities

  • πŸ“ˆ Model Fitting and Visualization:
    Automatically fits different polynomial models to the data and provides interactive plots for visual comparison of these models.
  • 🎯 Model Selection:
    A model overview is generated after fitting, allowing the user to select the best model based on the desired metric.
  • 🚷 Avoid Extrapolation:
    Prevents the use of models outside the calibrated concentration range. By user choice, the model can be extrapolated to calculate concentrations outside the calibration range.
  • πŸ§ͺ Compatible with EnzymeML Documents:
    CaliPytion can be used to convert the measured signals of an EnzymeML document into concentrations.
  • πŸ“‚ FAIR Data:
    Calibration models are stored together with the standard data. Constituting a complete record of the calibration process, this data can be saved as a JSON or AnIML file.

Installation

CaliPytion can be installed via pip:

pip install calipytion # 🚧 not yet available

or directly from the source code:

pip install git+https://github.com/FAIRChemistry/CaliPytion.git

Minimal Example

from calipytion import Calibrator
from calipytion.units import mM

# standard data
concentrations = [0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5]
absorption = [0, 0.489, 1.056, 1.514, 1.988, 2.462, 2.878, 3.156]

# unknown data
unknowns = [0.3, 1, 1.345]

# initialize the calibrator
calibrator = Calibrator(
    molecule_id="s0",
    molecule_name="ABTS",
    conc_unit=mM,
    concentrations=concentrations,
    signals=absorption,
)

# fit and visualize model
calibrator.fit_models()
calibrator.visualize()

# choose cubic model
cubic_model = calibrator.get_model("cubic")

# calculate concentrations
print(calibrator.calculate_concentrations(cubic_model, unknowns))
# -> [0.30018883573518623, 0.9823197194444907, 1.3193203297973393]

Model Overview

Model Name AIC R squared RMSD Equation Relative Parameter Standard Errors
cubic -56 0.9996 0.0205 a * s0 + b * s0**2 + c * s0**3 a: 4.6%, b: 67.4%, c: 33.6%
quadratic -49 0.9991 0.0318 a * s0 + b * s0**2 + c a: 4.0%, b: 20.0%, c: 115.2%
linear -37 0.9929 0.0891 a * s0 a: 1.7%

image

About

πŸ§‘β€πŸ”¬ Tool for managing and analyzing data from calibration measurements for subsequent concentration calculaton

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages