schrodinger.application.desmond.config_utils module¶
Module defining classes, constants, and functions for supporting config processing in Desmond. Includes functions which set CFG parameters from MSJ inputs, as well as helper functions to get or summarize MSJ files.
Also defines number of external checkers for MSJ parameters to be used by the Sea class. Upon import, these checkers are automatically registered by the Sea class and will be used whenever validation is done by the Sea object.
- schrodinger.application.desmond.config_utils.get_default_setting(msj)¶
- schrodinger.application.desmond.config_utils.add_plugin(desmond_exec, plugin_name, position=None)¶
- schrodinger.application.desmond.config_utils.remove_plugin(desmond_exec, plugin_name)¶
- schrodinger.application.desmond.config_utils.has_plugin(desmond_exec, plugin_name)¶
- schrodinger.application.desmond.config_utils.lambda_type(lambda_)¶
- schrodinger.application.desmond.config_utils.num_lambda_window(lambda_)¶
- schrodinger.application.desmond.config_utils.parse_lambda(s)¶
- schrodinger.application.desmond.config_utils.gen_replica(msj, model=None)¶
- schrodinger.application.desmond.config_utils.num_replica(msj, model, printer=None)¶
- schrodinger.application.desmond.config_utils.gen_temperature_for_solute_tempering(setting, model, base_temp, asl, printer=None)¶
- schrodinger.application.desmond.config_utils.translate_output_file_names_helper(msj, macro_dict)¶
- schrodinger.application.desmond.config_utils.translate_output_file_names(msj, macro_dict, num_replica=1)¶
- schrodinger.application.desmond.config_utils.get_exec(msj, cfg)¶
- schrodinger.application.desmond.config_utils.get_exec_name(msj)¶
- schrodinger.application.desmond.config_utils.canonicalize(msj)¶
- schrodinger.application.desmond.config_utils.num_cpu(msj)¶
- schrodinger.application.desmond.config_utils.is_minimize(msj)¶
- schrodinger.application.desmond.config_utils.is_remd(msj)¶
- schrodinger.application.desmond.config_utils.is_meta(msj)¶
- schrodinger.application.desmond.config_utils.is_vrun(msj)¶
- schrodinger.application.desmond.config_utils.is_reinit(msj)¶
Does
msj
require the “reinit” app?
- schrodinger.application.desmond.config_utils.is_concat(msj)¶
- schrodinger.application.desmond.config_utils.is_gcmc(msj)¶
- schrodinger.application.desmond.config_utils.is_triclinic_box(box)¶
- schrodinger.application.desmond.config_utils.is_lambda_dynamics(msj)¶
- schrodinger.application.desmond.config_utils.get_simbox_output_filename(msj)¶
Returns ‘None’ if the simbox_output plugin is turned off.
- schrodinger.application.desmond.config_utils.get_energy_group_output_filename(msj)¶
Returns ‘None’ if the energy_groups plugin is turned off.
- schrodinger.application.desmond.config_utils.get_fep_output_filename(msj)¶
- schrodinger.application.desmond.config_utils.get_replica_setting(msj)¶
- schrodinger.application.desmond.config_utils.get_ensemble(msj)¶
Get ensemble name from msj block
- Parameters
msj (sea.Map) – msj block
- Return str
name of the ensemble
- schrodinger.application.desmond.config_utils.get_updated_msj_block(msj, key, default_settings)¶
Get msj block for given key
NOTE: Here, the assumption is that no other code depends on msj being updated, we can return a block without side effects on the msj. This is implemented as msj block should be kept independent and not updated. Please see RB https://reviewboard.schrodinger.com/r/70593/. However, if this option is impossible to maintain, we should implement the other option suggested in RB.
- schrodinger.application.desmond.config_utils.get_ensemble_class_method(msj)¶
- schrodinger.application.desmond.config_utils.get_fep_lambda_schedule(lambda_, fep_type)¶
- schrodinger.application.desmond.config_utils.get_msj_backend(msj, default=None)¶
Get reference to the ‘backend’ map from the msj map.
- schrodinger.application.desmond.config_utils.get_tempearture(msj)¶
get temperature from msj
- Return type
float
- Returns
temperature
- schrodinger.application.desmond.config_utils.get_homebox(box, cpu_top)¶
- schrodinger.application.desmond.config_utils.get_rest_replica(atom_selection='atom.i_rest_hotregion 1', exchange_probability=0.3, n_replica=2)¶
Return REST-specific replicas :rtype:
sea.Map
- class schrodinger.application.desmond.config_utils.LambdaSchedule¶
Bases:
object
Base class for lambda schedules.
- lambdas: List[float] = []¶
- 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.config_utils.ScheduleAngleCorePhysical¶
Bases:
schrodinger.application.desmond.config_utils.LambdaSchedule
Schedule for angle_core_physical terms.
- lambdas: List[float] = [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]¶
- 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.config_utils.ScheduleAngleCoreDummy¶
Bases:
schrodinger.application.desmond.config_utils.LambdaSchedule
Schedule for angle_core_dummy terms.
- lambdas: List[float] = [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]¶
- 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.config_utils.ScheduleBondCorePhysical¶
Bases:
schrodinger.application.desmond.config_utils.LambdaSchedule
Schedule for bond_core_physical terms.
- lambdas: List[float] = [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]¶
- 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.config_utils.ScheduleBondCoreDummy¶
Bases:
schrodinger.application.desmond.config_utils.LambdaSchedule
Schedule for bond_core_dummy terms.
- lambdas: List[float] = [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]¶
- 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.config_utils.ScheduleAngleAttachment¶
Bases:
schrodinger.application.desmond.config_utils.LambdaSchedule
Schedule for angle_attachment terms.
- lambdas: List[float] = [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]¶
- 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.config_utils.ScheduleLinear¶
Bases:
schrodinger.application.desmond.config_utils.LambdaSchedule
Linear lambda schedule.
- lambdas: List[float] = [1.0, 0.0]¶
- 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.config_utils.get_fep_lambdas(n_win, fep_type, scheme)¶
return default lambdas