Classes and functions for the genetic optimization module.
  Copyright Schrodinger, LLC.  All rights reserved.
    |  | 
        
          | set_title_to_stoichiometry(astructure,
        toappend=None,
        separation= '.')Set the structure title to be the stoichiometry of the structure.
 |  |  | 
    |  |  | 
    | int |  | 
    | schrodinger.structure.Structure | 
        
          | combine_two_structures(astructure,
        bstructure,
        offset=10.0) Combine two structure objects into a single structure object using 
      somewhat arbitrary placement.
 |  |  | 
    | tuple | 
        
          | bond_crossover(genome,
        **args) Perform a crossover operation by swapping molecular fragments at two 
      randomly choosen bonds, i.e.
 |  |  | 
    | dict | 
        
          | get_element_mutator_dict(astructure) Return a dictionary where the keys contain the indicies of the 
      mutatable atoms and the values contain those elements that the keyed 
      atom may be mutated to.
 |  |  | 
    | list |  | 
    | schrodinger.structure.Structure | 
        
          | get_child_like_parent(parent_st,
        children_sts,
        definition) Return the child structure that is most like the provided parent.
 |  |  | 
    | int | 
        
          | elemental_mutator(genome,
        **args) Perform a random elemental mutation to an element in the same column 
      (as known as group) of the periodic table.
 |  |  | 
    | int | 
        
          | fragment_mutator(genome,
        **args) Randomly mutate the genome by swapping a molecular fragement on one 
      side of a bond by a similar fragment from a library.
 |  |  | 
    | int | 
        
          | isoelectronic_mutator(genome,
        **args) Perform a random isoelectronic mutation from the following sets of 
      series CH3X, NH2X, OHX, and FX, CH2XY, NHXY, OXY, and CHXYZ and NXYZ,
      where X, Y, and Z are non-H-bonds.
 |  |  | 
    | str | 
        
          | get_loggable_float(afloat,
        num_decimal= '%.2f',
        field_width=10)Return a float as a string with the specified format.
 |  |  | 
    |  |  | 
    |  |  | 
    |  |  | 
    |  |  | 
    |  |  | 
    |  |  | 
    | bool | 
        
          | first_property(ga_obj) Terminate when the first property has been matched.
 |  |  | 
    | bool | 
        
          | all_properties(ga_obj) Terminate when all properties have been matched.
 |  |  | 
    | bool | 
        
          | unproductive(ga_obj) Terminate if the maximum number of unproductive generations has been 
      reached.
 |  |  | 
    |  | 
        
          | print_bad_jobs(all_bad_jobs,
        logger,
        bad_type= 'skip')Log bad jobs, i.e.
 |  |  | 
    | str |  | 
    | str |  | 
    | function |  | 
    | float | 
        
          | get_structure_score(astructure,
        properties,
        conformational_search,
        seed=None) Return the structure score for the provided structure.
 |  |  | 
    | float |  | 
    | float | 
        
          | base_evaluator(genome) This is the base evaulator used to wrap all other evaluators.
 |  |  | 
    | launcher.Launcher |  | 
    | list |  | 
    | bool |  | 
    | dict | 
        
          | get_element_histogram(astructure) Return a dictionary where keys are elements and values are the 
      numbers of atoms of a given element.
 |  |  | 
    | str | 
        
          | remove_basename_ext(stoich_ext) Remove the basename extension from the given string and return the 
      remainder which is the stoichiometry.
 |  |  | 
    | list of schrodinger.structure.Structure, int | 
        
          | get_low_energy_conformers(astructure_in,
        macromodel_options_file=None,
        remove_files=False,
        overwrite=False,
        seed=None) Return the lowest energy conformers from a Macromodel conformational 
      search.
 |  |  | 
    | schrodinger.structure.Structure or None | 
        
          | get_random_structure(structure_libs,
        tries_from_libs=3,
        structure_score_threshold=None,
        properties=None,
        conformational_search=False,
        seed=None) From the given dictionary of libraries return a random structure.
 |  |  | 
    | schrodinger.structure.Structure or None | 
        
          | get_freezer_structure(structure_libs,
        tries_from_libs=3,
        structure_score_threshold=None,
        properties=None,
        conformational_search=False,
        inoculate= 'no_child',
        crossover_applied=None,
        mutation_applied=None,
        basename_ext=None,
        seed=None)Return a random structure from the freezer and update that 
      structure's properties.
 |  |  | 
    |  | 
        
          | hack_for_multiprocessing() |  |  | 
    |  | __doc__ = ... | 
    |  | _version = '$Revision 0.0 $' | 
    |  | PYEVOLVE_LOG_EXT = '-pyevolve.log' | 
    |  | IN_MAE_EXT = '-in.mae' | 
    |  | OUT_MAE_EXT = '-out.mae' | 
    |  | BOND_CROSSOVER = 'bond'hash(x)
 | 
    |  | CROSSOVER_CHOICES = ['bond'] | 
    |  | DEFAULT_CROSSOVERS = ['bond'] | 
    |  | ELEMENTAL_MUTATOR = 'elemental' | 
    |  | FRAGMENT_MUTATOR = 'fragment' | 
    |  | ISOELECTRONIC_MUTATOR = 'isoelectronic' | 
    |  | MUTATOR_CHOICES = ['elemental', 'fragment', 'isoelectronic'] | 
    |  | DEFAULT_MUTATORS = ['fragment', 'isoelectronic'] | 
    |  | GENERATIONS = 10 | 
    |  | POPULATION = 8 | 
    |  | CROSSOVER_RATE = 90.0 | 
    |  | MUTATION_RATE = 90.0 | 
    |  | RANK_SELECTION = 'rank' | 
    |  | ROULETTE_WHEEL_SELECTION = 'roulette_wheel' | 
    |  | TOURNAMENT_SELECTION = 'tournament' | 
    |  | TOURNAMENT_SELECTION_WITH_ROULETTE = 'tournament_with_roulette' | 
    |  | UNIFORM_SELECTION = 'uniform' | 
    |  | SELECTION_DICT = {RANK_SELECTION: Selectors.GRankSelector, ROU... | 
    |  | SELECTION_CHOICES = ['rank', 'roulette_wheel', 'tournament', '... | 
    |  | DEFAULT_SELECTION = 'roulette_wheel' | 
    |  | TOURNAMENT_SIZE = 2 | 
    |  | UNPRODUCTIVE_TERM = 'unproductive' | 
    |  | FIRST_PROPERTY_TERM = 'first_property' | 
    |  | ALL_PROPERTIES_TERM = 'all_properties' | 
    |  | MAX_GENERATIONS_TERM = 'max_generations' | 
    |  | TERM_CHOICES = ['unproductive', 'first_property', 'all_propert... | 
    |  | DEFAULT_TERMS = ['unproductive', 'all_properties'] | 
    |  | NUM_UNPRODUCTIVE = 6 | 
    |  | LINEAR_SCALING = 'linear' | 
    |  | POWER_LAW_SCALING = 'power_law' | 
    |  | SIGMA_TRUNCATION_SCALING = 'sigma_truncation' | 
    |  | BOLTZMANN_SCALING = 'boltzmann' | 
    |  | SCALING_DICT = {LINEAR_SCALING: Scaling.LinearScaling, POWER_L... | 
    |  | SCALING_CHOICES = ['linear', 'power_law', 'sigma_truncation', ... | 
    |  | DEFAULT_SCALING = 'sigma_truncation' | 
    |  | ALLOWS_NEGATIVE_SCORES = ['sigma_truncation', 'boltzmann'] | 
    |  | ELITISM = 1 | 
    |  | RANDOM_SEED = Nonehash(x)
 | 
    |  | RANDOM_INT_BOUND = 1000000 | 
    |  | NO_MINIMIZE = Falsehash(x)
 | 
    |  | INDIVIDUAL_KEY = 'i_matsci_individual_index' | 
    |  | GENERATION_KEY = 'i_matsci_generation' | 
    |  | STRUCTURE_SCORE_KEY = 'r_matsci_structure_score' | 
    |  | RAW_SCORE_KEY = 'r_matsci_raw_score' | 
    |  | FIT_SCORE_KEY = 'r_matsci_fit_score' | 
    |  | SKIP_KEY = 'b_matsci_skipped' | 
    |  | FAILURE_KEY = 'b_matsci_failed' | 
    |  | LOCALHOST = 'localhost'hash(x)
 | 
    |  | TPP_GA = 1 | 
    |  | TPP_EVAL = 1 | 
    |  | TPP_STR = '-TPP' | 
    |  | DEFAULT_EVAL_KWARGS = {} | 
    |  | ORGANIC = 'organic' | 
    |  | N_HETEROCYCLES = 'N-heterocycles' | 
    |  | O_HETEROCYCLES = 'O-heterocycles' | 
    |  | S_HETEROCYCLES = 'S-heterocycles' | 
    |  | MIXED_HETEROCYCLES = 'Mixed-heterocycles' | 
    |  | COMBIGLIDE_DEFAULT = 'combiglide_default' | 
    |  | OPTOELECTRONICS = 'optoelectronics' | 
    |  | ALL = 'all' | 
    |  | MMSHARE_MAIN_DATA = '/scr/buildbot/savedbuilds/NB/2016-3/build... | 
    |  | FRAGMENT_LIBS = {'Mixed-heterocycles': '/scr/buildbot/savedbui... | 
    |  | FRAGMENT_LIBS_DEFAULT = ['optoelectronics'] | 
    |  | ENTRY_NAME_KEY = 's_m_entry_name' | 
    |  | GROW_NAME_KEY = 's_m_grow_name' | 
    |  | PDB_ATOM_NAME_KEY = 's_m_pdb_atom_name' | 
    |  | PDB_RES_NAME_KEY = 's_m_pdb_residue_name' | 
    |  | CROSSOVER_PARENTS_KEY = 's_matsci_crossover_parents' | 
    |  | CROSSOVER_APPLIED_KEY = 's_matsci_crossover_applied' | 
    |  | MUTATION_PARENT_KEY = 's_matsci_mutation_parent' | 
    |  | MUTATION_APPLIED_KEY = 's_matsci_mutation_applied' | 
    |  | EVALUATOR_JOBS_DIR = 'evaluator_jobs' | 
    |  | GENER_SUBDIR = 'generation_' | 
    |  | NUM_DECIMAL = '%.2f' | 
    |  | FIELD_WIDTH = 10 | 
    |  | INFINITE_SCORE = 1000000000 | 
    |  | BAD_SCORE = -10000000 | 
    |  | RXN_KEY = 's_matsci_RXN_representation' | 
    |  | SMALL_CHILD_FREQ = 0.75 | 
    |  | SIMILAR_STDEV_CHILDREN_FREQ = 0.75 | 
    |  | FILE_BASE_NAME = 'genopt' | 
    |  | NO_OPEN_SHELL = Falsehash(x)
 | 
    |  | TERM_THRESH = 0.0001 | 
    |  | SMARTS_PATTERN_SEPARATOR = '_' | 
    |  | SMARTS_PROP = 'smarts' | 
    |  | MOL_WEIGHT_PROP = 'molecular_weight' | 
    |  | NATOMS_PROP = 'natoms' | 
    |  | NELEMENTS_PROP = 'nelements' | 
    |  | STRUCTURE_PROPERTIES = set(['molecular_weight', 'natoms', 'nel... | 
    |  | SMARTS_KEY = 'i_matsci_SMARTS_property_%s' | 
    |  | MOL_WEIGHT_KEY = 'r_m_Molecular_weight' | 
    |  | NATOMS_KEY = 'i_m_Number_of_atoms' | 
    |  | NELEMENTS_KEY = 'i_m_Number_of_elements' | 
    |  | NONE = 'none' | 
    |  | ATYPICAL = 'atypical' | 
    |  | ATYPICAL_PATTERNS = OrderedDict([('three-atom or longer chains... | 
    |  | ATYP_MW_TARGET = 1100 | 
    |  | ATYP_MW_WEIGHT = 1.0 | 
    |  | ATYP_NAT_TARGET = 200 | 
    |  | ATYP_NAT_WEIGHT = 1.0 | 
    |  | ATYP_NEL_TARGET = 5 | 
    |  | ATYP_NEL_WEIGHT = 15 | 
    |  | ATYPICAL_PROPS = ['name=natoms target=200 comparator=lt weight... | 
    |  | DIHYDROGEN = 'dihydrogen' | 
    |  | DIHYDROGEN_PATTERNS = OrderedDict([('dihydrogen molecule', '[H... | 
    |  | DIHYDROGEN_PROPS = ['name=smarts patterns=[H][H] minimax=min w... | 
    |  | PENALIZE_PROTOCOLS = OrderedDict([('atypical', (OrderedDict([(... | 
    |  | PENALIZE_CHOICES = ['none', 'atypical', 'dihydrogen'] | 
    |  | PENALIZE_DEFAULT = ['atypical', 'dihydrogen'] | 
    |  | STRUCTURE_SCORE_THRESHOLD = -50.0 | 
    |  | EXTS_TO_RETURN = ['.spm'] | 
    |  | STOICH_BASE_EXT_SEP = '.' | 
    |  | CONFORMATIONAL_SEARCH = Falsehash(x)
 | 
    |  | CONF_SEARCH_FAILED_KEY = 'b_matsci_Conf_Search_Failed' | 
    |  | CONF_SEARCH_SEED_RANGE = [1, 78593] | 
    |  | GENER_LOG_FILE_SEP = '-' | 
    |  | REMAINDER = 'remainder' | 
    |  | PREVIOUS = 'previous' | 
    |  | FRAGMENT = 'fragment' | 
    |  | FREEZER_CHOICES = ['remainder', 'previous', 'fragment'] | 
    |  | FREEZERS_DEFAULT = ['remainder', 'previous'] | 
    |  | FROM_FREEZER_KEY = 's_matsci_From_Freezer' | 
    |  | REMAINDER_FILE_EXT = '-remainder.mae' | 
    |  | NO_CHILD = 'no_child' | 
    |  | BAD_STRUCTURE = 'bad_structure' | 
    |  | INOCULATE_CHOICES = ['none', 'no_child', 'bad_structure'] | 
    |  | INOCULATE_DEFAULT = ['no_child', 'bad_structure'] | 
    |  | INOCULATE_KEY = 's_matsci_Inoculate' | 
    |  | TRIES_FROM_LIBS = 3hash(x)
 | 
    |  | TRIES_FRAGMENT_MUTATOR = 3hash(x)
 | 
    |  | __package__ = 'schrodinger.application.matsci.genetic_optimiza... |