Python toolkit for continuous Genetic Algorithm optimization.
Project description
GAlibrate
GAlibrate is a python toolkit that provides an easy to use interface for model calibration/parameter estimation using an implementation of continuous genetic algorithm-based optimization. Its functionality and API were designed to be familiar to users of the PyDREAM, simplePSO, and Gleipnir packages.
Although GAlibrate provides a general framework for running continuous genetic algorithm-based optimizations, it was created with systems biology models in mind. It therefore supplies additional tools for working with biological models in the PySB format.
Install
! Warning |
---|
GAlibrate is still under heavy development and may rapidly change. |
GAlibrate installs as the galibrate
package. It is compatible (i.e., tested) with Python 3.6 and 3.7.
Note that galibrate
has the following core dependencies:
pip install
You can install the latest release of the galibrate
package using pip
sourced from the GitHub repo:
pip install -e git+https://github.com/blakeaw/GAlibrate@v0.4.0#egg=galibrate
However, this will not automatically install the core dependencies. You will have to do that separately:
pip install numpy scipy
conda install
You can install the galibrate
package from the blakeaw
channel:
conda install -c blakeaw galibrate
NumPy and SciPy dependencies will be automatically installed with this version.
Recommended additional software
The following software is not required for the basic operation of GAlibrate, but provides extra capabilities and features when installed.
Cython
GAlibrate includes an implementation of the core genetic algorithm that is written in Cython, which takes advantage of Cython-based optimizations and compilation to accelerate the algorithm. This version of genetic algorithm is used if Cython is installed.
Numba
GAlibrate also includes an implementation of the core genetic algorithm that takes advantage of Numba-based JIT compilation and optimization to accelerate the algorithm. This version of genetic algorithm is used if Numba is installed.
PySB
PySB is needed to run PySB models, and it is therfore needed if you want to use tools from the galibrate.pysb_utils package.
License
This project is licensed under the MIT License - see the LICENSE file for details
Documentation and Usage
Quick Overview
Principally, GAlibrate defines the GAO (continuous Genetic Algorithm-based Optimizer ) class,
from galibrate import GAO
which defines an object that can be used setup and run a continuous genetic algorithm-based optimization (i.e., a maximization) of a user-defined fitness function over the search space of a given set of (model) parameters.
Additionally, GAlibrate has a pysb_utils
sub-package that provides the
galibrate_it
module, which defines the GaoIt and GAlibrateIt classes (importable from the pysb_utils package level),
from galibrate.pysb_utils import GaoIt, GAlibrateIt
which create objects that abstract away some of the effort to setup and generate GAO instances for PySB models; examples/pysb_dimerization_model provides some
examples for using GaoIt and GAlibrateIt objects. The galibrate_it
module can also be called from the command line to generate a template run script for a PySB model,
python -m galibrate.pysb_utils.galibrate_it pysb_model.py output_path
which users can then modify to fit their needs.
Examples
Additional example scripts that show how to setup and launch Genetic Algorithm runs using GAlibrate can be found under examples.
Contact
To report problems or bugs please open a GitHub Issue. Additionally, any comments, suggestions, or feature requests for GAlibrate can also be submitted as a GitHub Issue.
Citing
If you use the GAlibrate software in your research, please cite it. You can export the GAlibrate citation in your preferred format from its Zenodo DOI entry.
Also, please cite the following references as appropriate for software used with/via GAlibrate:
Packages from the SciPy ecosystem
These include NumPy and SciPy for which references can be obtained from: https://www.scipy.org/citing.html
PySB
- Lopez, C. F., Muhlich, J. L., Bachman, J. A. & Sorger, P. K. Programming biological models in Python using PySB. Mol Syst Biol 9, (2013). doi:10.1038/msb.2013.1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for galibrate-0.4.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dce2c6fd572fee1f0b5637f3cb45ce4f1611693b30b3a6d03318c70976ba7a9 |
|
MD5 | a4f90190b5087b7ba85062a6ab89bb4f |
|
BLAKE2b-256 | 1f8064cbac77c09c9ae0ff6dcf7dee1a677c71643c51ff86dd104b809d13c071 |