protex.testsystems.setup_simulation

protex.testsystems.setup_simulation(psf: CharmmPsfFile, crd: CharmmCrdFile, system: System, restart_file: str = None, coll_freq: int = 10, drude_coll_freq: int = 100, dummies: list[tuple[str, str]] = [('IM1', 'H7'), ('OAC', 'H')], integrator_name: str = 'DNH', platformname: str = 'CUDA', cuda_precision: str = 'mixed')[source]

Set up the OpenMM simulation object.

Parameters:
  • psf (CharmmPsfFile) – The psf object.

  • crd (CharmmCrdFile) – The crd object.

  • system (mm.System) – The OpenMM system object.

  • restart_file (str = None) – Path to the restart file. If None, the positions from the crd will be used.

  • coll_freq (int = 10) – The frequency of the system’s interaction with the heat bath (inverse picoseconds).

  • drude_coll_freq (int = 100) – The frequency of the Drude particles’ interaction with the heat bath (inverse picoseconds).

  • dummies (list[tuple[str, str]] = [(“IM1”, “H7”), (“OAC”, “H”)]) – Atom names of the dummy atoms for each residue with dummy atoms.

  • integrator_name (str = “DNH”) – Which integrator to use. Currently implemented: “VVI”: VelocityVerlet plugin, “DNH”: DrudeNoseHoover, “DL”: DrudeLangevin

  • platformname (str = “CUDA”) – Which platform to use. The VVI plugin only works on CUDA.

  • cuda_precision (str = “single”) – Numeric precision to use for calculations on the CUDA platform. The allowed values are “single”, “mixed”, and “double”.

Return type:

The OpenMM simulation object.