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: object

Options 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