schrodinger.application.desmond.kinetics.enhanced_sampling module

This module generates the Monte Carlo scheme for RAMD as a Desmond plugin. Functions here assist in generating an pot file, which contains m-expr instructions for gDesmond.

M-expr are instructiosn provided to the gDesmond kernal, to be executed on the compute device. See Desmond’s Users Guide for enhanced sampling plugin for M{eta}-expression (m-expr) syntax, supported function calls, atomic operators and examples.

class schrodinger.application.desmond.kinetics.enhanced_sampling.MExpressionSection(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: enum.Enum

HEADER = 'header'
BODY = 'body'
FOOTER = 'footer'
POT = 'pot'
class schrodinger.application.desmond.kinetics.enhanced_sampling.MtdOption(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: enum.Enum

BIAS_FACTOR = 'bias_factor'
GAUSSIAN_HEIGHT = 'gaussian_height'
CVSEQ_INTERVAL = 'cvseq_interval'
KERSEQ_INTERVAL = 'kerseq_interval'
FLEXHILLS_INTERVAL = 'flexhills_interval'
PATHCV_Z_WALL = 'pathcv_z_wall'
RESIDENCE_TIME_CUTOFF = 'residence_time_cutoff'
schrodinger.application.desmond.kinetics.enhanced_sampling.setup_ramd_mexpr(st_fname: str, pot_fname: str, cvseq_interval: float, asl_receptor: str, ramd_opts: dict, mindist_cutoff: Optional[float], debug: bool = False)

Write a .pot file which contains an M-expression encoding RAMD routine to be read in by Desmond backend.

Parameters
  • st_fname – filename of the structure file which will be used to setup reference coordinates and mindist selection for RAMD.

  • pot_fname – filename to be used for .pot file, should have .pot extension

  • cvseq_interval – interval in ps to write one of the RAMD output files in cvseq format.

  • ramd_opts – keyword-value pairs for M-expression generations

  • mindist_cutoff – cutoff value to determine if the ligand is bound to to the protein.

  • debug – if True additional information will be printed in cvseq for troubleshooting and debugging purposes.

schrodinger.application.desmond.kinetics.enhanced_sampling.get_flexhills_mexpr(cv: str, decorrelation_time: float) Tuple[str]

The term “flexible hills” refers to adaptively setting Gaussian width as the metadynamics simulation progresses. This allows better sampling.

Parameters
  • cv – name of the collective variable, in context of PathCV it’ll be either ‘S’ or ‘Z’

  • decorrelation_time – time interval in ps to update the hill width.

M-expression footer returns calls that calculate the acceleration factor (infrequent metadynamics) and sets up well-tempered (varying Gaussians/hills heights) as well as injects the bias kernels (meta statement).

Parameters
  • cvs – the names of two PathCVs.

  • flexhills_w – the itital widths used of each of CVs

  • bias_factor – kT used for well-tempered MtD

  • gaussian_height – initial height of the Gaussians/hills

schrodinger.application.desmond.kinetics.enhanced_sampling.get_mtd_header_mexpr(cvs: List[str], cvseq_interval: float, kerseq_interval: float) str
schrodinger.application.desmond.kinetics.enhanced_sampling.setup_mtd_mexpr(cms_model: cms.Cms, path_sts: List[structure.Structure], pot_fname: str, asl_receptor: str, asl_ligand: str, mtd_opts: dict, mindist_cutoff: Optional[float] = None, debug: bool = False)

Write a .pot file which contains an M-expression encoding metadynamics routine to be read in by Desmond backend.

Parameters
  • cms_model – input cms file

  • pot_fname – filename to be used for .pot file, should have .pot extension

  • mtd_opts – keyword-value pairs for M-expression generations

  • mindist_cutoff – mindist cutoff value

  • debug – if True additional information will be printed in cvseq for troubleshooting and debugging purposes.

Path_sts

list of unbinding path structures, each structure contains aligned protein and a ligand