SAGA_optimize is a novel type of combined simulated annealing and genetic algorithm used to find the optimal solutions to a set of parameters based on a given energy function calculated using the set of parameters.
Please cite the GitHub repository until our manuscript is accepted for publications: https://github.com/MoseleyBioinformaticsLab/SAGA_optimize.git
SAGA_optimize runs under Python 3.6+ and is available through python3-pip. Install via pip or clone the git repo and install the following dependencies and you are ready to go!
python3 -m pip install SAGA-optimize
Make sure you have git installed:
git clone https://github.com/MoseleyBioinformaticsLab/SAGA_optimize.git
SAGA_optimize requires the following Python libraries:
- JSONPickle for saving Python objects in a JSON serializable form and outputting to a file.
>>> import SAGA_optimize
>>> saga = SAGA_optimize.SAGA(stepNumber=100000, temperatureStepSize=100, startTemperature=0.5,
alpha=1, direction=-1, energyCalculation=energyCalculation, crossoverRate=0.5,
mutationRate=3, annealMutationRate=1, populationSize=20) # SAGA instance creation.
>>> saga.addElementDescriptions(SAGA_optimize.ElementDescription(low=0, high=10),
SAGA_optimize.ElementDescription(low=0, high=10),
SAGA_optimize.ElementDescription(low=0, high=10),
SAGA_optimize.ElementDescription(low=0, high=10),
SAGA_optimize.ElementDescription(low=0, high=10)) # Add optimized parameters.
>>> optimized_population = saga.optimize() # the population returned after the opitimization.
Note
Read the User Guide and the SAGA_optimize
Tutorial on ReadTheDocs to learn more and to see code examples on using the SAGA_optimize
as a library.
Made available under the terms of The Clear BSD License. See full license in LICENSE.
- Huan Jin
- Hunter N.B. Moseley