schrodinger.application.desmond.fep_schedule module¶
This module handles the allocation of lambda windows for FEP simulations.
Different schemes of FEP simulations and interactions require different schedules of lambda windows. The FepSchedule class abstracts the creation of these schedules. This class is meant to be instantiated via its derived classes (with mixins) or, preferably, using the get_fep_schedule function.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.desmond.fep_schedule.FepSchedule(n_win: int, charge_div: Optional[float] = None)¶
Bases:
object
Lambda schedule for FEP calculations.
This class should not be instantiated directly. Instead, subclass it combining the mixins below.
- n_winint
Number of lambda windows
- charge_divfloat or None
Determines the fraction of lambda windows devoted to turning on electrostatic interactions. This should be overriden by a mix-in class or by the user.
- bonded_divfloat or None
Determines the fraction of lambda windows devoted to turning on bonded interactions. This should be overriden by a mix-in class or by the user.
- bonded_div: Optional[float] = None¶
- __init__(n_win: int, charge_div: Optional[float] = None) None ¶
- n_win: Optional[int] = None¶
- charge_div: Optional[float] = None¶
- get_lambda()¶
- class schrodinger.application.desmond.fep_schedule.FepScheduleAlchemical(n_win: int, charge_div: Optional[float] = None)¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchedule
- property vdw¶
- property coulomb¶
- property vdwA¶
- property vdwB¶
- property chargeA¶
- property chargeB¶
- property bondedA¶
- property bondedB¶
- __init__(n_win: int, charge_div: Optional[float] = None) None ¶
- bonded_div: Optional[float] = None¶
- charge_div: Optional[float] = None¶
- get_lambda()¶
- n_win: Optional[int] = None¶
- class schrodinger.application.desmond.fep_schedule.FepScheduleBinding(n_win: int, charge_div: Optional[float] = None)¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchedule
- property vdw¶
- property coulomb¶
- property vdwA¶
- property vdwB¶
- property chargeA¶
- property chargeB¶
- property bondedA¶
- property bondedB¶
- __init__(n_win: int, charge_div: Optional[float] = None) None ¶
- bonded_div: Optional[float] = None¶
- charge_div: Optional[float] = None¶
- get_lambda()¶
- n_win: Optional[int] = None¶
- class schrodinger.application.desmond.fep_schedule.FepSchemeMixIn¶
Bases:
object
Configure schedule of FEP schedule.
- charge_div = 2.5¶
- bonded_div = inf¶
- class schrodinger.application.desmond.fep_schedule.FepSchemeChargeMixIn¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
- charge_div = 1.5¶
- bonded_div = inf¶
- class schrodinger.application.desmond.fep_schedule.FepSchemeQuickchargeMixIn¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
- charge_div = 5.0¶
- bonded_div = inf¶
- class schrodinger.application.desmond.fep_schedule.FepSchemeSuperquickchargeMixIn¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
- charge_div = 10.0¶
- bonded_div = 10.0¶
- schrodinger.application.desmond.fep_schedule.get_fep_schedule_class(fep_type: str = 'alchemical', scheme: str = 'default') Type[schrodinger.application.desmond.fep_schedule.FepSchedule] ¶
Return FEP schedule class.
get_fep_schedule
- schrodinger.application.desmond.fep_schedule.get_fep_schedule(n_win: int, fep_type: str = 'alchemical', scheme: str = 'default') schrodinger.application.desmond.fep_schedule.FepSchedule ¶
Instantiate FEP schedule.
Return a class encapsulating a concrete lambda schedule for the specified FEP simulation type and scheme.
- Parameters
n_win (int) – Number of lambda windows.
fep_type (str) – Type of FEP simulation. Can be either ‘alchemical’ (default) or ‘binding’.
scheme (str) – Simulation scheme. Can be one of ‘default’, ‘flexible’, ‘charge’, ‘quickcharge’, or ‘superquickcharge’.
- Returns
Concrete schedule of the specified type, scheme, and number of windows.
- Return type
- class schrodinger.application.desmond.fep_schedule.FepScheduleAlchemicalDefault(n_win: int, charge_div: Optional[float] = None)¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
,schrodinger.application.desmond.fep_schedule.FepScheduleAlchemical
Convenience class for the alchemical schedule with the default scheme.
- __init__(n_win: int, charge_div: Optional[float] = None) None ¶
- property bondedA¶
- property bondedB¶
- bonded_div: Optional[float] = inf¶
- property chargeA¶
- property chargeB¶
- charge_div: Optional[float] = 2.5¶
- property coulomb¶
- get_lambda()¶
- n_win: Optional[int] = None¶
- property vdw¶
- property vdwA¶
- property vdwB¶
- class schrodinger.application.desmond.fep_schedule.FepScheduleAlchemicalCharge(n_win: int, charge_div: Optional[float] = None)¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeChargeMixIn
,schrodinger.application.desmond.fep_schedule.FepScheduleAlchemical
Convenience class for the alchemical schedule with the charge scheme.
- __init__(n_win: int, charge_div: Optional[float] = None) None ¶
- property bondedA¶
- property bondedB¶
- bonded_div: Optional[float] = inf¶
- property chargeA¶
- property chargeB¶
- charge_div: Optional[float] = 1.5¶
- property coulomb¶
- get_lambda()¶
- n_win: Optional[int] = None¶
- property vdw¶
- property vdwA¶
- property vdwB¶
- class schrodinger.application.desmond.fep_schedule.FepScheduleBindingDefault(n_win: int, charge_div: Optional[float] = None)¶
Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
,schrodinger.application.desmond.fep_schedule.FepScheduleBinding
Convenience class for the binding schedule with the default scheme.
- __init__(n_win: int, charge_div: Optional[float] = None) None ¶
- property bondedA¶
- property bondedB¶
- bonded_div: Optional[float] = inf¶
- property chargeA¶
- property chargeB¶
- charge_div: Optional[float] = 2.5¶
- property coulomb¶
- get_lambda()¶
- n_win: Optional[int] = None¶
- property vdw¶
- property vdwA¶
- property vdwB¶
- schrodinger.application.desmond.fep_schedule.get_absolute_binding_num_lambda_windows(protocol: schrodinger.application.desmond.constants.SIMULATION_PROTOCOL, restrained: bool) Tuple[int, int] ¶
Get the number of lambda windows in the absolute binding lambda schedules. These are derived from the lambda schedules in mmshare/data/desmond/abfep
- Returns
A tuple of # of complex windows, # of solvent windows