janus.qmmm.QMMM

class janus.qmmm.QMMM(hl_wrapper, ll_wrapper, sys_info, sys_info_format='pdb', qm_atoms=[], qmmm_scheme='subtractive', embedding_method='Mechanical', boundary_treatment='link_atom', link_atom_element='H')

QMMM class for QMMM computations

Parameters:
  • hl_wrapper (MMWrapper subclass or QMWrapper subclass) – Wrapper for performing the high-level computation. Traditionally QM but user can define MM.
  • ll_wrapper (MMWrapper subclass) – Wrapper for performing the low-level computation
  • sys_info (str) – A string with the filename or a list with multiple filenames that contain position and topology information.
  • sys_info_format (str) – Describes what kind of input is contained in sys_info. Default is pdb.
  • qm_atoms (list) – Indicies that define the QM region. Only static in traditional QM/MM
  • qmmm_scheme (str) – Scheme for computing QM/MM energies and gradients, only substractive available(default)
  • embedding_method (str) – Embedding method to use for QM/MM. Mechanical(default) and Electrostatic available
  • boundary_treatment (str) – Method for treating dangling bonds in the QM region, link_atom(default), RC, and RCD available
  • link_atom_element (str) – Element to use for link atom, default is H. Beware of using others (not all functionality tested)
__init__(hl_wrapper, ll_wrapper, sys_info, sys_info_format='pdb', qm_atoms=[], qmmm_scheme='subtractive', embedding_method='Mechanical', boundary_treatment='link_atom', link_atom_element='H')

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(hl_wrapper, ll_wrapper, sys_info[, …]) Initialize self.
compute_gradients(system) Computes the QM/MM gradients
convert_input(fil, form) Converts a set of input files into a MD trajectory
QMMM.edit_qm_atoms
electrostatic(system, main_info) Gets energies of needed components and computes a QM/MM energy with a subtractive electrostatic embedding scheme
find_boundary_bonds([qm_atoms]) Identified any covalent bonds that the QM/MM boundary cuts across
get_external_charges(system) Gets the point charges of atoms from secondary subsystem for electrostatic embedding
get_forces([run_ID]) Function to return qmmm forces
get_redistributed_positions(positions, bonds, mm) Gets the positions for the redistributed point charges in the RC and RCD schemes
make_primary_subsys_trajectory([qm_atoms]) Creates a MDtraj trajectory object with just the primary subsystem, and adds in any link atoms
make_second_subsys_trajectory([qm_atoms]) Creates a MDtraj trajectory object with just the secondary subsystem
mechanical(system, main_info) Gets energies of needed components and computes a QM/MM energy with a subtractive mechanical embedding scheme using the formula
prepare_link_atom() Identifies where to put link atom.
run_qmmm(main_info, wrapper_type) Drives QM/MM computation.
update_traj(position, topology, wrapper_type) Updates the positions and topology of self.traj, a MDtraj trajectory object