__init__(self,
initial_population,
properties,
structure_score_threshold=-50.0,
eval_kwargs={ } ,
crossovers=None,
mutators=None,
fragment_libs=[ ' optoelectronics ' ] ,
script_evaluator=None,
generations=10,
population=8,
crossover_rate=90.0,
mutation_rate=90.0,
selection=' roulette_wheel ' ,
tournament_size=2,
terminators=[ ' unproductive ' , ' all_properties ' ] ,
num_unproductive=6,
scaling=' sigma_truncation ' ,
elitism=1,
random_seed=None,
no_minimize=False,
file_base_name=' genopt ' ,
tpp_ga=1,
no_open_shell=False,
props_to_remove=None,
jobbe=None,
conformational_search=False,
freezers=[ ' remainder ' , ' previous ' ] ,
inoculate=[ ' no_child ' , ' bad_structure ' ] ,
class_evaluator=None,
logger=None)
(Constructor)
|
|
Create an instance.
- Parameters:
initial_population (list) - the initial population of schrodinger.structure.Structure
properties (list of Property) - the properties to be optimized, including structural properties
as well as more physical calculable observables
structure_score_threshold (float) - if structure-based properties are being sought and if the base
evaluator will be used then subjobs on structures with structure
scores below this value will not be launched but rather such
structures treated as skips
eval_kwargs (dict) - a dictionary that will be available in all evaluator functions
crossovers (list) - contains two-element tuples each of which holds a crossover
operator to be used in the optimization along with a weight
mutators (list) - contains two-element tuples each of which holds a mutation
operator to be used in the optimization along with a weight
fragment_libs (list) - strings specifying fragment libraries to be used, can be either
module constants from FRAGMENT_LIBS.keys() (or ALL if all of
those are desired) or the names of Maestro files (including the
file extensions) containing fragments collected by the user
script_evaluator (method) - the evaluator function to be called to score individuals during
the optimization, takes a StructureGenome and returns a
launcher.Launcher
generations (int) - the number of generations for which to run the optimization
population (int) - the population size to use in the optimization, can be
less-than-or-equal-to the length of initial_population
crossover_rate (float) - the rate of crossover as a percentage
mutation_rate (float) - the rate of mutation as a percentage
selection (str) - the selection protocol used to select individuals to the gene
pool for the upcoming generation
tournament_size (int) - the size of tournament to use if using tournament based
selection, unused if a tournament based selection is not being
used
terminators (list) - list of strings that specify the termination protocols to be used
to terminate the optimization, typically more than one is
specified only if the unproductive protocol is being used
num_unproductive (int) - if the unproductive protocol is being used to terminate the
optimization then this integer specifies how many unproductive
cycles are allowed before terminating, unused if a different
termination protocol is used
scaling (str) - specifies the scaling protocol to use, scaling scales the raw
scores of the individuals to produce fitness scores to ease
selection in cases where raw scores are nearly equal
elitism (int) - specify the number of elite individuals guaranteed to be added to
the gene pool for the upcoming generation, zero disables elitism
random_seed (None or int) - the random seed, if None then system time will be used
no_minimize (bool) - specify that the offspring structures generated by the crossover
and mutation operators not be geometry optimized prior to
selection
file_base_name (str) - base name to use for output and generation log files
tpp_ga (int) - a threads-per-processor value, used to parallelize the scoring of
the individuals during the optimization, this option simply forks
out tpp_ga simultaneous processes that reside on the same node,
if your evaluation function supports parallelization and you wish
to utilize a second level of parallelization of each individual
evaluation then pass those arguments in eval_kwargs
no_open_shell (bool) - if True then do not allow the processing of open shell molecules,
False otherwise
props_to_remove (list) - a list of structure property keys to be removed prior to the
evaluation stage
jobbe (schrodinger.job.jobcontrol._Backend) - the jobcontrol backend of the driver job
conformational_search (bool or str) - specifies whether a Macromodel conformational search will be
performed prior to evaluation, when a string it specifies a
simplified Macromodel input file containing extra options
freezers (list) - a collection of freezers containing structures that are used to
swap out individuals from the population
inoculate (list) - the list of circumstances under which to use the structure
freezers
class_evaluator (class) - the evaluator class to be called to score individuals during the
optimization, must inherit ClassEvaluator
logger (logging.Logger) - output logger
- Overrides:
object.__init__
|