Package: galibrate
GAlibrateGAlibrateis 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 thePyDREAM,simplePSO, andGleipnirpackages.AlthoughGAlibrateprovides 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 thePySBformat.Install! WarningGAlibrate is still under heavy development and may rapidly change.GAlibrateinstalls as thegalibratepackage. It is compatible (i.e., tested) with Python 3.6 and 3.7.Note thatgalibratehas the following core dependencies:NumPySciPypip installYou can install the latest release of thegalibratepackage usingpipsourced from the GitHub repo:pip install -e git+https://github.com/blakeaw/GAlibrate@v0.4.0#egg=galibrateHowever, this will not automatically install the core dependencies. You will have to do that separately:pip install numpy scipyconda installYou can install thegalibratepackage from theblakeawchannel:conda install -c blakeaw galibrateNumPy and SciPy dependencies will be automatically installed with this version.Recommended additional softwareThe following software is not required for the basic operation ofGAlibrate, but provides extra capabilities and features when installed.CythonGAlibrateincludes an implementation of the core genetic algorithm that is written inCython, which takes advantage of Cython-based optimizations and compilation to accelerate the algorithm. This version of genetic algorithm is used if Cython is installed.NumbaGAlibratealso includes an implementation of the core genetic algorithm that takes advantage ofNumba-based JIT compilation and optimization to accelerate the algorithm. This version of genetic algorithm is used if Numba is installed.PySBPySBis needed to run PySB models, and it is therfore needed if you want to use tools from the galibrate.pysb_utils package.LicenseThis project is licensed under the MIT License - see theLICENSEfile for detailsDocumentation and UsageQuick OverviewPrincipally,GAlibratedefines theGAO(continuousGeneticAlgorithm-basedOptimizer ) class,fromgalibrateimportGAOwhich 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,GAlibratehas apysb_utilssub-package that provides thegalibrate_itmodule, which defines the GaoIt and GAlibrateIt classes (importable from the pysb_utils package level),fromgalibrate.pysb_utilsimportGaoIt,GAlibrateItwhich create objects that abstract away some of the effort to setup and generate GAO instances for PySB models;examples/pysb_dimerization_modelprovides some
examples for using GaoIt and GAlibrateIt objects. Thegalibrate_itmodule can also be called from the command line to generate a template run script for a PySB model,python-mgalibrate.pysb_utils.galibrate_itpysb_model.pyoutput_pathwhich users can then modify to fit their needs.ExamplesAdditional example scripts that show how to setup and launch Genetic Algorithm runs usingGAlibratecan be found underexamples.ContactTo report problems or bugs please open aGitHub Issue. Additionally, any
comments, suggestions, or feature requests forGAlibratecan also be submitted as aGitHub Issue.CitingIf you use theGAlibratesoftware in your research, please cite it. You can export theGAlibratecitation in your preferred format from itsZenodo DOIentry.Also, please cite the following references as appropriate for software used with/viaGAlibrate:Packages from the SciPy ecosystemThese include NumPy and SciPy for which references can be obtained from:https://www.scipy.org/citing.htmlPySBLopez, 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