schrodinger.application.desmond.gconfig module

Utilities for handling gDesmond config files.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.desmond.gconfig.add_plugin(desmond_exec, plugin_name, position=None)

Wrap config.add_plugin, making sure to place added plugins before GCMC

schrodinger.application.desmond.gconfig.real_to_int(val)

round up to the closest integer when the difference is less than 1e-7

schrodinger.application.desmond.gconfig.optimize_key(msj, cfg, model)

Optimizes the simulation parameters in ‘cfg’, where ‘cfg’ must represent a complete config file.

class schrodinger.application.desmond.gconfig.LambdaSchedule

Bases: object

Base class for lambda schedules.

lambdas = []
classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.desmond.gconfig.ScheduleAngleCorePhysical

Bases: schrodinger.application.desmond.gconfig.LambdaSchedule

Schedule for angle_core_physical terms.

lambdas = [1.0, 0.8, 0.6, 0.35, 0.2, 0.1, 0.03, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
__init__

Initialize self. See help(type(self)) for accurate signature.

classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
class schrodinger.application.desmond.gconfig.ScheduleAngleCoreDummy

Bases: schrodinger.application.desmond.gconfig.LambdaSchedule

Schedule for angle_core_dummy terms.

lambdas = [1.0, 0.8, 0.65, 0.5, 0.4, 0.3, 0.2, 0.16, 0.12, 0.08, 0.04, 0.01, 0.0, 0.0, 0.0, 0.0]
__init__

Initialize self. See help(type(self)) for accurate signature.

classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
class schrodinger.application.desmond.gconfig.ScheduleBondCorePhysical

Bases: schrodinger.application.desmond.gconfig.LambdaSchedule

Schedule for bond_core_physical terms.

lambdas = [1.0, 0.3, 0.1, 0.05, 0.03, 0.01, 0.002, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
__init__

Initialize self. See help(type(self)) for accurate signature.

classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
class schrodinger.application.desmond.gconfig.ScheduleBondCoreDummy

Bases: schrodinger.application.desmond.gconfig.LambdaSchedule

Schedule for bond_core_dummy terms.

lambdas = [1.0, 0.6, 0.35, 0.22, 0.18, 0.14, 0.12, 0.11, 0.09, 0.08, 0.06, 0.02, 0.005, 0.0, 0.0, 0.0]
__init__

Initialize self. See help(type(self)) for accurate signature.

classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
class schrodinger.application.desmond.gconfig.ScheduleAngleAttachment

Bases: schrodinger.application.desmond.gconfig.LambdaSchedule

Schedule for angle_attachment terms.

lambdas = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.6, 0.35, 0.1, 0.0]
__init__

Initialize self. See help(type(self)) for accurate signature.

classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
class schrodinger.application.desmond.gconfig.ScheduleLinear

Bases: schrodinger.application.desmond.gconfig.LambdaSchedule

Linear lambda schedule.

lambdas = [1.0, 0.0]
__init__

Initialize self. See help(type(self)) for accurate signature.

classmethod schedule(n_win: int) → List[float]

Return schedule with the desired number of windows.

This method constructs a piecewise linear spline interpolator of the prototype lambda schedule and evaluates it on the specified number of windows to obtain the new lambda schedule.

Parameters:n_win – Number of lambda windows to use.
Returns:New lambda schedule.
schrodinger.application.desmond.gconfig.get_ensemble_class_method(msj)
schrodinger.application.desmond.gconfig.get_simbox_output_filename(msj)

Returns ‘None’ if the simbox_output plugin is turned off.

schrodinger.application.desmond.gconfig.get_energy_group_output_filename(msj)

Returns ‘None’ if the energy_groups plugin is turned off.

schrodinger.application.desmond.gconfig.get_fep_output_filename(msj)
schrodinger.application.desmond.gconfig.gen_temperature_for_solute_tempering(setting, model, base_temp, asl, printer=None)
schrodinger.application.desmond.gconfig.gen_replica(msj, model=None)
schrodinger.application.desmond.gconfig.get_replica_setting(msj)
schrodinger.application.desmond.gconfig.concatenate_cfgs(simulate_cfgs, base_cfg)

Create a single backend config file from a list of simulate configs created from the simulate block of a concatenate front-end config and the backend config created from the rest of the concatenate front-end config.

Parameters:
  • simulate_cfgs (list of sea.Map) – The list of backend config files created from the simulate block of a concatenate front-end config
  • base_cfg (sea.Map) – The backend config file created from a concatenate front-end config, with its simulate block removed.
Returns:

A copy of the base concatenate config with the information from the simulate configs merged in.

Return type:

sea.Map

schrodinger.application.desmond.gconfig.set_relative_restrain_scaling(first_restrain, restrain, this_integrator)

Set each integrator’s posre_scaling attribute to the ratio between the desired restraint force constant and the first force constant. This allows us to modulate the restraint force constant between concatenate stages.

Parameters:
  • first_restrain (sea.Map) – the restrain parameter from the first stage’s config, or None if updating the first stage
  • restrain (sea.Map) – this stage’s restrain parameter
  • this_integrator (sea.Map) – this stage’s integrator
Returns:

the first restrain parameter and the first force constant

schrodinger.application.desmond.gconfig.restrain_force_constant(restrain)

Get the force constant for a restrain parameter

Parameters:restrain (sea.Map) – the restrain block for a given stage
schrodinger.application.desmond.gconfig.msj2cfg(msj, cfg, model, macro=None)