Skip to main content

GAlibrate

Python version badge license version release anaconda cloud Codacy Badge DOI

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

  1. 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

Metadata

Release files for galibrate 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for galibrate 0.4.2
File Size Uploaded
galibrate-0.4.2.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for galibrate 0.4.2
File Interpreter ABI Platform
galibrate-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 28.7 kB

Release files / galibrate-0.4.2.tar.gz

Download URL galibrate-0.4.2.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
569e05d44500704356b6f288ce1c4c06eb0c36ddffde0bc3d87143eef7fc9c52
BLAKE2b-256 checksum
How to use checksums
2e743a57f898356fc596d063cff0e43cdb7af70b27bf243863f002533fa9c2b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release files / galibrate-0.4.2-py3-none-any.whl

Download URL galibrate-0.4.2-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8dce2c6fd572fee1f0b5637f3cb45ce4f1611693b30b3a6d03318c70976ba7a9
BLAKE2b-256 checksum
How to use checksums
1f8064cbac77c09c9ae0ff6dcf7dee1a677c71643c51ff86dd104b809d13c071
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page