schrodinger.application.peptide_workflow.monte module

class schrodinger.application.peptide_workflow.monte.MonteOptions(CACHE_SIZE: int = 10, CLUSTERING_CUTOFF: float = 1.0, 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.4, TEMP_KELVIN: float = 298.0, SUPERIMPOSE: bool = False)

Bases: object

Options for monte so that args are not passed directly.

CACHE_SIZE: int = 10
CLUSTERING_CUTOFF: float = 1.0
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.4
TEMP_KELVIN: float = 298.0
SUPERIMPOSE: bool = False
classmethod fromArgs(args)

Creates an instance from arguments.

Parameters:

args (argparse.Namespace) – job settings

__init__(CACHE_SIZE: int = 10, CLUSTERING_CUTOFF: float = 1.0, 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.4, TEMP_KELVIN: float = 298.0, SUPERIMPOSE: bool = False) None
schrodinger.application.peptide_workflow.monte.superimpose_bb_RMSD(peptide1, peptide2, peptide_backbone_atom_index_list)

Calculate the backbone RMSD after superimposition

schrodinger.application.peptide_workflow.monte.calculate_bb_RMSD(peptide1, peptide2, asl_expr=None)

Calculate the RMSD in place

schrodinger.application.peptide_workflow.monte.update_peptide_cache(peptide, cache_list, cache_size, clustering_cutoff, superimpose=False)

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 clustering_cutoff: rmsd cutoff to stop clustering :type clustering_cutoff: float :param superimpose: whether to superimpose the peptide pose when clustering :type superimpose: bool :return: Whether the cache is updated :rtype: bool

schrodinger.application.peptide_workflow.monte.measure_crankshaft_rmsd(cached_peptide, peptide, superimpose)

Calculate the RMSD between cached_peptide and peptide :param cached_peptide: cached peptide :type cached_peptide: Peptide :param peptide: incoming peptide :type peptide: Peptide :return: RMSD between cached_peptide and peptide :rtype: float

schrodinger.application.peptide_workflow.monte.monte(peptide, mover, minimizer, 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 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