Skip to content

SECQUOIA/LyoPRONTO

 
 

Repository files navigation

LyoPRONTO

Tests Python 3.13 License: GPL v3 Code Coverage

LyoPRONTO is an open-source user-friendly tool to simulate and optimize freezing and primary drying in lyophilizers written using Python.

Authors

Original authors: Gayathri Shivkumar, Petr S. Kazarin and Alina A. Alexeenko. Maintained and updated by Isaac S. Wheeler.

Interactive Simulation

A web-based GUI is available for this software at http://lyopronto.geddes.rcac.purdue.edu.

How to Use This Code Directly

Download this repository, then in your preferred command line navigate to the containing directory (so that LyoPronto is a subdirectory). Execute:

python3 LyoPronto.main -m

LyoPRONTO is a vial-scale lyophilization (freeze-drying) process simulator written in Python. It models the freezing and primary drying phases using heat and mass transfer equations. A video tutorial by the authors illustrating this process can be found on LyoHUB's YouTube channel.

Modern Examples

For new users, we recommend using the examples in the examples/ directory instead:

# Primary drying simulation (recommended starting point)
python examples/example_web_interface.py

# Parameter estimation from experimental data
python examples/example_parameter_estimation.py

# Process optimization
python examples/example_optimizer.py

# Freezing simulation
python examples/example_freezing.py

# Design space generation
python examples/example_design_space.py

See examples/README.md for detailed documentation.

Legacy Examples

The repository root contains legacy example scripts for backward compatibility:

  • ex_knownRp_PD.py - Original primary drying example → Use examples/example_web_interface.py instead
  • ex_unknownRp_PD.py - Original parameter estimation example → Use examples/example_parameter_estimation.py instead

These legacy scripts are maintained and tested, but new users should use the modern examples in the examples/ directory.

Citation

G. Shivkumar, P. S. Kazarin, A. D. Strongrich, & A. A. Alexeenko, "LyoPRONTO: An Open-Source Lyophilization PRocess OptimizatioN TOol", AAPS PharmSciTech (2019) 20: 328.

The noted paper is open access, and can be found here.

Licensing

Copyright (C) 2019, Gayathri Shivkumar, Petr S. Kazarin and Alina A. Alexeenko.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

By request, this software may also be distributed under the terms of the GNU Lesser General Public License (LGPL); for permission, contact the authors or maintainer.

Documentation

Quick Start

Technical Documentation

Development

Notes on contributing & maintenance

There is a GitHub Action on this repo which will automatically build the documentation (which uses Material for MkDocs with mike for versioning). This action triggers on push to main (which creates a dev section of the docs), on publishing a release (which creates a numbered version of the docs), and on pull request edits (which makes a pr-### version of the docs). After merging a pull request, it is a good idea to use mike to clear out the PR version of the docs. Locally, do something like the following

git fetch 
mike delete pr-### # replace with correct PR number
git switch gh-pages
git push origin gh-pages

This could theoretically be automated but I decided against this for now. In the long run, it may be worth not generating PR versions of the docs if this is burdensome.

About

Open-Source Lyophilization Process Optimization Tool

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.2%
  • Shell 0.8%