EXESS QMMM

EXESS QM/MM simulations for the Rush Python client.

Submission

rush.exess.qmmm(mol, n_timesteps, dt_ps=2e-3, temperature_kelvin=290.0, pressure_atm=None, restraints=None, trajectory=Trajectory(), gradient_finite_difference_step_size=None, method='RestrictedKSDFT', basis='cc-pVDZ', aux_basis=None, standard_orientation=None, force_cartesian_basis_sets=None, scf_keywords=None, frag_keywords=FragKeywords(), ksdft_keywords=_KSDFTDefault.DEFAULT, qm_fragments=None, mm_fragments=None, system=None, run_spec=RunSpec(gpus=1), run_opts=RunOpts())[source]

Submit a QM/MM simulation for the topology at topology_path.

Returns a RushRun handle. Call .fetch() to get the parsed trajectory, or .save() to write it to disk.

Parameters:
  • mol (TRC | TRCRef | tuple[Path | str | RushObject | Topology, Path | str | RushObject | Residues] | Path | str | RushObject | Topology)

  • n_timesteps (int)

  • dt_ps (float)

  • temperature_kelvin (float)

  • pressure_atm (float | None)

  • restraints (Restraints | None)

  • trajectory (Trajectory)

  • gradient_finite_difference_step_size (float | None)

  • method (MethodT)

  • basis (BasisT)

  • aux_basis (AuxBasisT | None)

  • standard_orientation (StandardOrientationT | None)

  • force_cartesian_basis_sets (bool | None)

  • scf_keywords (SCFKeywords | None)

  • frag_keywords (FragKeywords)

  • ksdft_keywords (KSDFTKeywords | _KSDFTDefault | None)

  • qm_fragments (list[int] | None)

  • mm_fragments (list[int] | None)

  • system (System | None)

  • run_spec (RunSpec)

  • run_opts (RunOpts)

Return type:

RushRun[QMMMResultRef]

Input Types

class rush.exess.Trajectory(interval=None, start=None, end=None, include_waters=None)[source]

Configure the output of QMMM runs. By default, will provide all atoms at every frame.

Parameters:
  • interval (int | None)

  • start (int | None)

  • end (int | None)

  • include_waters (int | None)

end: int | None = None

The frame at which to end the trajectory.

include_waters: int | None = None

Whether to include waters in the trajectory. Convenient for reducing output size.

interval: int | None = None

Save every n frames to the trajectory, where n is the interval specified.

start: int | None = None

The frame at which to start the trajectory.

class rush.exess.Restraints(k=None, fixed_atoms=None, free_atoms=None, fixed_fragments=None, free_fragments=None, fix_heavy=None)[source]

Restrain atoms using an external force proportional to its distance from its original position, scaled by k (larger values mean a stronger restraint).

All atoms can be fixed by specifying free_atoms = [].

Parameters:
  • k (float | None)

  • fixed_atoms (list[int] | None)

  • free_atoms (list[int] | None)

  • fixed_fragments (list[int] | None)

  • free_fragments (list[int] | None)

  • fix_heavy (bool | None)

fix_heavy: bool | None = None

Flag to easily enable fixing all heavy atoms only. Mutually exclusive with fixed/free parameters.

fixed_atoms: list[int] | None = None

Which atoms to hold fixed. All fixed/free parameters are mutually exclusive.

fixed_fragments: list[int] | None = None

Which fragments to hold fixed. All fixed/free parameters are mutually exclusive.

free_atoms: list[int] | None = None

Which atoms to keep unfixed. All fixed/free parameters are mutually exclusive.

free_fragments: list[int] | None = None

Which fragments to keep unfixed. All fixed/free parameters are mutually exclusive.

k: float | None = None

Scaling factor for restraints (larger values mean a stronger restraint).

Result Types

class rush.exess.QMMMResult(geometries: list[list[float]])[source]
Parameters:

geometries (list[list[float]])

geometries: list[list[float]]
class rush.exess.QMMMResultPaths(output: pathlib.Path)[source]
Parameters:

output (Path)

output: Path
class rush.exess.QMMMResultRef(output)[source]

Lightweight reference to QM/MM outputs in the Rush object store.

Parameters:

output (RushObject)

classmethod from_raw_output(res)[source]

Parse raw collect_run output into a QMMMResultRef.

Parameters:

res (Any)

Return type:

QMMMResultRef

fetch()[source]

Download QM/MM outputs and parse into Python objects.

Return type:

QMMMResult

save()[source]

Download QM/MM outputs and save to the workspace.

Return type:

QMMMResultPaths

output: RushObject