atm
#
Automated BFE calculations using the alchemical transfer method
Classes:
-
ATMSoftCore
–Configuration for the ATM soft-core potential.
-
ATMAlignmentRestraint
–Configuration for an ATM alignment restraint.
-
ATMRestraints
–Configure the restraints that will be applied during the ATM calculations.
-
ATMReferenceSelection
–Configure how receptor binding sites and ligand alignment reference atoms are
-
ATMSetupStage
–Configure how the complex will be solvated and restrained prior to
-
ATMStates
–Configure the lambda schedules.
-
ATMEquilibrateStage
–Configure how the system will be equilibrated prior to replica exchange.
-
ATMSamplingStage
–Configure how the system will be sampled using Hamiltonian replica exchange.
-
ATMConfig
–Configuration the stages of the ATM calculation.
-
ATMEdge
–Defines an ATM specific edge in a free energy network.
-
ATMNetwork
–Defines an ATM specific free energy network.
Functions:
-
load_config
–Load a configuration from a YAML file.
-
create_state_dicts
–Map the lambda states specified in the configuration to a list of dictionaries.
-
compute_ddg
–Computes the total binding free energy.
-
equilibrate_states
–Equilibrate the system at each lambda window.
-
run_hremd
–Perform replica exchange sampling for a system prepared for ATM calculations.
-
setup_system
–Prepares a system ready for running the ATM method.
-
select_displacement
–Attempts to automatically select a displacement vector for the ligands.
-
run_workflow
–Run the setup, equilibration, and sampling phases.
-
submit_network
–Submits a set of ATM calculations to the SLURM queueing manager.
Attributes:
-
DEFAULT_LAMBDA_1
–The default lambda 1 schedule.
-
DEFAULT_LAMBDA_2
–The default lambda 2 schedule.
-
DEFAULT_DIRECTION
–The default direction schedule.
-
DEFAULT_ALPHA
–The default alpha schedule.
-
DEFAULT_U0
–The default u0 schedule.
-
DEFAULT_W0
–The default w0 schedule.
-
DEFAULT_MAX_REST_TEMPERATURE
–The default maximum temperature to use during the REST2 calculations.
-
DEFAULT_BM_B0
–The default beta scaling factors to use if running with REST2.
-
DEFAULT_EQUILIBRATE_INTEGRATOR
–The default integrator to use during equilibration.
-
DEFAULT_EQUILIBRATE_RESTRAINTS
–The default position restraints to apply during equilibration.
DEFAULT_LAMBDA_1
module-attribute
#
DEFAULT_LAMBDA_1 = (
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.1,
0.2,
0.3,
0.4,
0.5,
0.5,
0.4,
0.3,
0.2,
0.1,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
)
The default lambda 1 schedule.
DEFAULT_LAMBDA_2
module-attribute
#
DEFAULT_LAMBDA_2 = (
0.0,
0.1,
0.2,
0.3,
0.4,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.5,
0.4,
0.3,
0.2,
0.1,
0.0,
)
The default lambda 2 schedule.
DEFAULT_DIRECTION
module-attribute
#
DEFAULT_DIRECTION = (
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
)
The default direction schedule.
DEFAULT_ALPHA
module-attribute
#
DEFAULT_ALPHA = (
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
)
The default alpha schedule.
DEFAULT_U0
module-attribute
#
DEFAULT_U0 = (
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
110.0,
)
The default u0 schedule.
DEFAULT_W0
module-attribute
#
The default w0 schedule.
DEFAULT_MAX_REST_TEMPERATURE
module-attribute
#
The default maximum temperature to use during the REST2 calculations.
DEFAULT_BM_B0
module-attribute
#
The default beta scaling factors to use if running with REST2.
DEFAULT_EQUILIBRATE_INTEGRATOR
module-attribute
#
DEFAULT_EQUILIBRATE_INTEGRATOR = LangevinIntegrator(
timestep=2.0 * femtosecond, friction=1.0 / picosecond
)
The default integrator to use during equilibration.
DEFAULT_EQUILIBRATE_RESTRAINTS
module-attribute
#
DEFAULT_EQUILIBRATE_RESTRAINTS = {
DEFAULT_RESTRAINT_MASK: FlatBottomRestraint(
k=25.0 * _KCAL_PER_ANG_SQR, radius=1.5 * _ANGSTROM
)
}
The default position restraints to apply during equilibration.
ATMSoftCore
pydantic-model
#
Bases: BaseModel
Configuration for the ATM soft-core potential.
Fields:
-
u_max
(OpenMMQuantity[_KCAL_PER_MOL]
) -
u0
(OpenMMQuantity[_KCAL_PER_MOL]
) -
a
(float
)
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMAlignmentRestraint
pydantic-model
#
Bases: BaseModel
Configuration for an ATM alignment restraint.
Fields:
-
type
(Literal['atm']
) -
k_distance
(OpenMMQuantity[_KCAL_PER_ANG_SQR]
) -
k_angle
(OpenMMQuantity[_KCAL_PER_MOL]
) -
k_dihedral
(OpenMMQuantity[_KCAL_PER_MOL]
)
k_distance
pydantic-field
#
k_distance: OpenMMQuantity[_KCAL_PER_ANG_SQR]
Force constant [kcal/mol/Å^2] of the flat-bottom potential restraining the distance between the ligands.
k_angle
pydantic-field
#
k_angle: OpenMMQuantity[_KCAL_PER_MOL]
Force constant [kcal/mol] of the 1-cos(theta) potential restraining the angle between the ligands.
k_dihedral
pydantic-field
#
k_dihedral: OpenMMQuantity[_KCAL_PER_MOL]
Force constant [kcal/mol] of the 1-cos(phi) potential restraining the dihedral angle between the ligands.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMRestraints
pydantic-model
#
Bases: BaseModel
Configure the restraints that will be applied during the ATM calculations.
Fields:
-
com
(FlatBottomRestraint
) -
alignment
(ATMAlignmentRestraint | None
) -
receptor
(FlatBottomRestraint
) -
receptor_query
(str
)
com
pydantic-field
#
com: FlatBottomRestraint = FlatBottomRestraint(
k=25.0 * _KCAL_PER_ANG_SQR, radius=5.0 * _ANGSTROM
)
The potential that restrains the ligands to the binding site.
alignment
pydantic-field
#
alignment: ATMAlignmentRestraint | None = (
ATMAlignmentRestraint(
k_distance=2.5 * _KCAL_PER_ANG_SQR,
k_angle=25.0 * _KCAL_PER_MOL,
k_dihedral=25.0 * _KCAL_PER_MOL,
)
)
The potential that restrains the orientation of the two ligands during an RBFE calculation.
receptor
pydantic-field
#
receptor: FlatBottomRestraint = FlatBottomRestraint(
k=25.0 * _KCAL_PER_ANG_SQR, radius=1.5 * _ANGSTROM
)
The potential that restrains specified receptor atoms to their initial coordinates.
receptor_query
pydantic-field
#
An Amber query used to identify which receptor atoms to restrain.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMReferenceSelection
pydantic-model
#
Bases: BaseModel
Configure how receptor binding sites and ligand alignment reference atoms are selected if the user does not explicitly provide them.
Fields:
-
receptor_cutoff
(OpenMMQuantity[_ANGSTROM]
) -
ligand_method
(LigandReferenceMethod
)
receptor_cutoff
pydantic-field
#
receptor_cutoff: OpenMMQuantity[_ANGSTROM] = 5.0 * _ANGSTROM
The minimum distance between a residues' alpha carbon and a ligand atom to be considered part of the binding site.
ligand_method
pydantic-field
#
ligand_method: LigandReferenceMethod = 'chen'
The default method to use to select ligand reference atoms during RBFE calculations if the user does not explicitly provide them.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMSetupStage
pydantic-model
#
Bases: BaseModel
Configure how the complex will be solvated and restrained prior to equilibration
Fields:
-
displacement
(OpenMMQuantity[_ANGSTROM] | tuple[OpenMMQuantity[_ANGSTROM], OpenMMQuantity[_ANGSTROM], OpenMMQuantity[_ANGSTROM]]
) -
solvent
(Solvent
) -
reference
(ATMReferenceSelection
) -
restraints
(ATMRestraints
) -
apply_hmr
(bool
) -
hydrogen_mass
(OpenMMQuantity[amu]
) -
apply_rest
(bool
) -
rest_config
(REST | None
)
Validators:
-
_validate_rest_config
→rest_config
displacement
pydantic-field
#
displacement: (
OpenMMQuantity[_ANGSTROM]
| tuple[
OpenMMQuantity[_ANGSTROM],
OpenMMQuantity[_ANGSTROM],
OpenMMQuantity[_ANGSTROM],
]
) = (
38.0 * _ANGSTROM
)
The distance to displace ligands from the binding site along an automatically selected displacement vector, or the vector to displace the ligands by.
reference
pydantic-field
#
reference: ATMReferenceSelection = ATMReferenceSelection()
Selection of receptor and ligand reference atoms.
restraints
pydantic-field
#
restraints: ATMRestraints = ATMRestraints()
Control how the system should be restrained.
apply_hmr
pydantic-field
#
Whether to aply hydrogen mass repartitioning to the system.
hydrogen_mass
pydantic-field
#
hydrogen_mass: OpenMMQuantity[amu] = 1.5 * amu
The mass to assign to hydrogen atoms when applying HMR.
apply_rest
pydantic-field
#
Whether to prepare the system for REST sampling.
rest_config
pydantic-field
#
rest_config: REST | None = REST(
scale_nonbonded=True,
scale_torsions=True,
scale_angles=False,
scale_bonds=False,
)
The REST configuration to use if apply_rest
is True.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMStates
pydantic-model
#
Bases: BaseModel
Configure the lambda schedules.
Fields:
-
lambda_1
(list[float]
) -
lambda_2
(list[float]
) -
direction
(list[Literal[-1, 1]]
) -
alpha
(list[float]
) -
alpha_unit
(ClassVar
) -
u0
(list[float]
) -
u0_unit
(ClassVar
) -
w0
(list[float]
) -
w0_unit
(ClassVar
) -
bm_b0
(list[float] | None
)
Validators:
-
_validate_lambda_lengths
bm_b0
pydantic-field
#
The REST2 beta scaling factors (beta_m / beta_0) to use. apply_rest
must be set to true in the setup config if using this.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMEquilibrateStage
pydantic-model
#
Bases: BaseModel
Configure how the system will be equilibrated prior to replica exchange.
Fields:
-
stages
(list[SimulationStage]
) -
report_interval
(int
) -
soft_core
(ATMSoftCore
)
report_interval
pydantic-field
#
The number of steps to report energy, volume, etc after.
soft_core
pydantic-field
#
soft_core: ATMSoftCore = ATMSoftCore(
u_max=1000 * _KCAL_PER_MOL,
u0=500 * _KCAL_PER_MOL,
a=1.0 / 16.0,
)
The ATM soft-core potential parameters to use during equilibration.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMSamplingStage
pydantic-model
#
Bases: HREMD
Configure how the system will be sampled using Hamiltonian replica exchange.
Fields:
-
integrator
(LangevinIntegrator
) -
soft_core
(ATMSoftCore
) -
analysis_interval
(int | None
)
temperature
pydantic-field
#
temperature: OpenMMQuantity[kelvin] = DEFAULT_TEMPERATURE
The temperature to sample at.
n_warmup_steps
pydantic-field
#
The number of steps to run each replica for before starting hremd trials. All energies gathered during this period will be discarded.
n_steps_per_cycle
pydantic-field
#
The number of steps to propagate the system by before attempting an exchange.
n_cycles
pydantic-field
#
The number of cycles of 'propagate the system' -> 'exchange replicas' to run.
max_step_retries
pydantic-field
#
The maximum number of times to attempt to step if a NaN is encountered before raising an exception
swap_mode
pydantic-field
#
The mode in which to propose state swaps between replicas. This can either be: 'neighbours', only try and swap adjacent states or ii. 'all', try and swap all states stochastically. If None
, no replica exchanges will be attempted.
max_swaps
pydantic-field
#
The maximum number of swap proposals to make if running in 'all' mode. This variable does nothing when running in 'neighbours' mode.
trajectory_interval
pydantic-field
#
The number of cycles to run before saving the current replica states to DCD trajectory files. If None
, no trajectories will be saved.
trajectory_enforce_pbc
pydantic-field
#
Whether to apply periodic boundary conditions when retrieving coordinates for writing to trajectory files.
checkpoint_interval
pydantic-field
#
The number of cycles to run before saving the current replica states to checkpoint files. If None
, no checkpoints will be saved.
integrator
pydantic-field
#
integrator: LangevinIntegrator = LangevinIntegrator(
timestep=4.0 * femtosecond, friction=1.0 / picosecond
)
The MD integrator to use.
soft_core
pydantic-field
#
soft_core: ATMSoftCore = ATMSoftCore(
u_max=200 * _KCAL_PER_MOL,
u0=100 * _KCAL_PER_MOL,
a=1.0 / 16.0,
)
The ATM soft-core potential parameters to use.
analysis_interval
pydantic-field
#
The interval (in number of cycles) between estimating and reporting the free energy. If None
, no analysis will be performed.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMConfig
pydantic-model
#
Bases: BaseModel
Configuration the stages of the ATM calculation.
Fields:
-
type
(Literal['atm']
) -
setup
(ATMSetupStage
) -
states
(ATMStates
) -
equilibrate
(ATMEquilibrateStage
) -
sample
(ATMSamplingStage
)
equilibrate
pydantic-field
#
equilibrate: ATMEquilibrateStage = ATMEquilibrateStage()
Equilibrate the system.
sample
pydantic-field
#
sample: ATMSamplingStage = ATMSamplingStage()
Sample across lambda windows using replica exchange.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMEdge
pydantic-model
#
Bases: Edge
Defines an ATM specific edge in a free energy network.
Fields:
-
ligand_1_ref_atoms
(tuple[str, str, str] | None
) -
ligand_2_ref_atoms
(tuple[str, str, str] | None
) -
ligand_1_metadata
(dict[str, Any]
) -
ligand_2_metadata
(dict[str, Any]
)
ligand_2
pydantic-field
#
The name of the second ligand. This should be None
if running an ABFE calculation.
ligand_1_ref_atoms
pydantic-field
#
Three (optional) AMBER style queries that select the atoms of the first ligand to align during an RBFE calculation.
ligand_2_ref_atoms
pydantic-field
#
Three (optional) AMBER style queries that select the atoms of the second ligand to align during an RBFE calculation.
ligand_1_metadata
pydantic-field
#
Any additional metadata about ligand 1.
ligand_2_metadata
pydantic-field
#
Any additional metadata about ligand 2.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
ATMNetwork
pydantic-model
#
Bases: Network
Defines an ATM specific free energy network.
Fields:
-
receptor_ref_query
(str | None
) -
edges
(list[ATMEdge]
) -
receptor_metadata
(dict[str, Any]
)
receptor
pydantic-field
#
The name of the receptor. If None
, the receptor will be identified from the input directory structure
receptor_ref_query
pydantic-field
#
An (optional) AMBER style query to manually select the receptor atoms that define the binding site. If unspecified, they will be determined automatically based on the config.
receptor_metadata
pydantic-field
#
Any additional metadata about the receptor.
model_dump_yaml
#
Dump the model to a YAML representation.
Parameters:
-
output_path
(Path | None
, default:None
) –The (optional) path to save the YAML representation to.
Returns:
-
str
–The YAML representation.
Source code in femto/md/utils/models.py
load_config
#
load_config(path: Path) -> ATMConfig
Load a configuration from a YAML file.
Parameters:
-
path
(Path
) –The path to the YAML configuration.
Returns:
-
ATMConfig
–The loaded configuration.
Source code in femto/fe/atm/_config.py
create_state_dicts
#
create_state_dicts(
states: ATMSamplingStage,
) -> list[dict[str, float]]
Map the lambda states specified in the configuration to a list of dictionaries.
Parameters:
-
states
(ATMSamplingStage
) –The lambda states.
Returns:
-
list[dict[str, float]]
–The dictionaries of lambda states.
Source code in femto/fe/atm/_utils.py
compute_ddg
#
compute_ddg(
config: ATMSamplingStage,
states: ATMStates,
u_kn: ndarray,
n_k: ndarray,
) -> DataFrame
Computes the total binding free energy.
Parameters:
-
config
(ATMSamplingStage
) –The sampling configuration.
-
states
(ATMStates
) –The sampled states.
-
u_kn
(ndarray
) –The samples.
-
n_k
(ndarray
) –The sample counts.
Returns:
-
DataFrame
–A pandas DataFrame containing the total binding free energy and its components.
Source code in femto/fe/atm/_analyze.py
equilibrate_states
#
equilibrate_states(
system: System,
topology: Structure,
states: ATMStates,
config: ATMEquilibrateStage,
offset: Quantity,
platform: OpenMMPlatform,
reporter: Reporter | None = None,
) -> list[State]
Equilibrate the system at each lambda window.
Parameters:
-
system
(System
) –The system to simulate.
-
topology
(Structure
) –The topology of the system to simulate.
-
states
(ATMStates
) –The states of the system to simulate.
-
config
(ATMEquilibrateStage
) –Configuration settings.
-
offset
(Quantity
) –The vector to offset the ligand by using the ATM force.
-
platform
(OpenMMPlatform
) –The accelerator to use.
-
reporter
(Reporter | None
, default:None
) –The (optional) reporter to use to record system statistics such as volume and energy.
Returns:
-
list[State]
–The final equilibrated state.
Source code in femto/fe/atm/_equilibrate.py
run_hremd
#
run_hremd(
system: System,
topology: Structure,
coords: list[State],
states: ATMStates,
config: ATMSamplingStage,
offset: Quantity,
platform: OpenMMPlatform,
output_dir: Path,
reporter: Reporter | None = None,
)
Perform replica exchange sampling for a system prepared for ATM calculations.
Parameters:
-
system
(System
) –The system to simulate. It should not already contain an ATM force.
-
topology
(Structure
) –The topology associated with the system.
-
coords
(list[State]
) –The starting coordinates for each state.
-
states
(ATMStates
) –The lambda states to sample.
-
config
(ATMSamplingStage
) –Configuration settings.
-
offset
(Quantity
) –The vector to offset the ligand by using the ATM force.
-
platform
(OpenMMPlatform
) –The platform to run on.
-
output_dir
(Path
) –The directory to store the sampled energies and statistics to, and any trajectory files if requested.
-
reporter
(Reporter | None
, default:None
) –The reporter to log statistics such as online estimates of the free energy to.
Source code in femto/fe/atm/_sample.py
setup_system
#
setup_system(
config: ATMSetupStage,
receptor: AmberParm,
ligand_1: AmberParm,
ligand_2: AmberParm | None,
displacement: Quantity,
receptor_ref_query: str | None,
ligand_1_ref_query: tuple[str, str, str] | None = None,
ligand_2_ref_query: tuple[str, str, str] | None = None,
) -> tuple[Structure, System]
Prepares a system ready for running the ATM method.
Returns:
-
tuple[Structure, System]
–The prepared topology and OpenMM system object.
Source code in femto/fe/atm/_setup.py
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 |
|
select_displacement
#
select_displacement(
receptor: AmberParm,
ligand_1: AmberParm,
ligand_2: AmberParm | None,
distance: Quantity,
) -> Quantity
Attempts to automatically select a displacement vector for the ligands.
Parameters:
-
receptor
(AmberParm
) –The receptor.
-
ligand_1
(AmberParm
) –The first ligand positioned in the binding site.
-
ligand_2
(AmberParm | None
) –The second ligand positioned in the binding site.
-
distance
(Quantity
) –The distance to translate ligands along the displacement vector by.
Returns:
-
Quantity
–The displacement vector.
Source code in femto/fe/atm/_setup.py
run_workflow
#
run_workflow(
config: ATMConfig,
ligand_1_coords: Path,
ligand_1_params: Path,
ligand_2_coords: Path | None,
ligand_2_params: Path | None,
receptor_coords: Path,
receptor_params: Path | None,
output_dir: Path,
report_dir: Path | None = None,
displacement: Quantity | None = None,
ligand_1_ref_atoms: tuple[str, str, str] | None = None,
ligand_2_ref_atoms: tuple[str, str, str] | None = None,
receptor_ref_atoms: str | None = None,
)
Run the setup, equilibration, and sampling phases.
Parameters:
-
config
(ATMConfig
) –The configuration.
-
ligand_1_coords
(Path
) –The path to the first ligand coordinates.
-
ligand_1_params
(Path
) –The path to the first ligand parameters.
-
ligand_2_coords
(Path | None
) –The path to the second ligand coordinates.
-
ligand_2_params
(Path | None
) –The path to the second ligand parameters.
-
receptor_coords
(Path
) –The path to the receptor coordinates.
-
receptor_params
(Path | None
) –The path to the receptor parameters.
-
report_dir
(Path | None
, default:None
) –The directory to write any statistics to.
-
output_dir
(Path
) –The directory to store all outputs in.
-
displacement
(Quantity | None
, default:None
) –The displacement to offset the ligands by.
-
ligand_1_ref_atoms
(tuple[str, str, str] | None
, default:None
) –The AMBER style query masks that select the first ligands' reference atoms.
-
ligand_2_ref_atoms
(tuple[str, str, str] | None
, default:None
) –The AMBER style query masks that select the second ligands' reference atoms.
-
receptor_ref_atoms
(str | None
, default:None
) –The AMBER style query mask that selects the receptor atoms that form the binding site.
Source code in femto/fe/atm/_runner.py
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 |
|
submit_network
#
submit_network(
config: ATMConfig,
network: Network,
output_dir: Path,
queue_options: SLURMOptions,
mpi_command: list[str] | None = None,
) -> list[str]
Submits a set of ATM calculations to the SLURM queueing manager.
Parameters:
-
config
(ATMConfig
) –The configuration.
-
network
(Network
) –The network of edges to run.
-
output_dir
(Path
) –The directory to store any outputs in.
-
queue_options
(SLURMOptions
) –The options to use when submitting the jobs.
-
mpi_command
(list[str] | None
, default:None
) –The mpi runner command to use. The default is
"srun --mpi=pmix"
.
Returns:
-
list[str]
–The ids of the submitted jobs.