schrodinger.application.peptide_workflow.monte module¶
- class schrodinger.application.peptide_workflow.monte.MonteOptions(CACHE_SIZE: int = 10, SWAP_INTERVAL: int = 1000, LOCAL_MINIMIZATION_INTERVAL: int = 100, NO_IMPROVE_STOP_STEP: int = 300000, NO_IMPROVE_HEAT_INTERVAL: int = 700, DEFAULT_MOVE_AMPLITUDE: float = 0.2, TEMP_KELVIN: float = 298.0)¶
Bases:
objectOptions for monte so that args are not passed directly.
- CACHE_SIZE: int = 10¶
- SWAP_INTERVAL: int = 1000¶
- LOCAL_MINIMIZATION_INTERVAL: int = 100¶
- NO_IMPROVE_STOP_STEP: int = 300000¶
- NO_IMPROVE_HEAT_INTERVAL: int = 700¶
- DEFAULT_MOVE_AMPLITUDE: float = 0.2¶
- TEMP_KELVIN: float = 298.0¶
- classmethod fromArgs(args)¶
Creates an instance from arguments.
- Parameters:
args (argparse.Namespace) – job settings
- __init__(CACHE_SIZE: int = 10, SWAP_INTERVAL: int = 1000, LOCAL_MINIMIZATION_INTERVAL: int = 100, NO_IMPROVE_STOP_STEP: int = 300000, NO_IMPROVE_HEAT_INTERVAL: int = 700, DEFAULT_MOVE_AMPLITUDE: float = 0.2, TEMP_KELVIN: float = 298.0) None¶
- schrodinger.application.peptide_workflow.monte.update_peptide_cache(peptide, cache_list, cache_size, cluster_method)¶
Update the clustered cache_list if a move is accepted :param peptide: incoming peptide :type peptide: Peptide :param cache_list: the clustered cached peptides in the run :type cache_list: [Peptide] :param cache_size: size of the cache list :type cache_size: int :param cluster_method: method used to cluster the peptide :type cluster_method: BasicCluster :return: Whether the cache is updated :rtype: bool
- schrodinger.application.peptide_workflow.monte.monte(peptide, mover, minimizer, cluster_method, random_seed, monte_options, maxsteps=500000)¶
Run MC with input mover and minimizer :param peptide: input peptide :type peptide: Peptide :param mover: movement sampler to be used :type mover: PeptideMovements :param cluster_method: method to cluster the poses :type cluster_method: BasicCluster :param minimizer: minimizer to be used :type minimizer: PeptideMinimizer :param random_seed: random seed to create random generator :type random_seed: int :param monte_options: contains constants for monte :type monte_options: monte options class obj :param maxsteps: Maxium step for the simulation :type maxsteps: int
- schrodinger.application.peptide_workflow.monte.simulated_annealing(curr_temperature, curr_step, last_heat_step, temperature, no_improve_heat_interval)¶
Set the appropriate temperature given the current step and temperature
- Parameters:
curr_temperature (float) – Current temperature of the simulation
curr_step (int) – Current step of the simulation
last_heat_step (int) – Last time we reset or heat the temperature
temperature (float) – Baseline simulation temperature
no_improve_heat_interval (int) – interval to increase temperature
- schrodinger.application.peptide_workflow.monte.sort_write_to_output(cache_list, writer)¶
Sort the clustered results and write to the output
- Parameters:
cache_list ([Peptide]) – the clustered cached peptides in the run
writer (StructureWriter) – structure writer
- schrodinger.application.peptide_workflow.monte.metropolis(new_energy, old_energy, temp, random_generator)¶
Metropolis MC
- Parameters:
new_energy (float) – the energy after the move
old_energy (float) – the energy before the move
temp (float) – the current simulation temperature
random_generator (numpy.random.default_rng object) – random number generator object