janus.qmmm.DAS

class janus.qmmm.DAS(hl_wrapper, ll_wrapper, sys_info, sys_info_format='pdb', qm_center=[0], partition_scheme='distance', Rmin=3.8, Rmax=4.5, qmmm_param={}, **kwargs)

Class for the Oniom-XS adaptive QM/MM method. Inherits from AQMMM class

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_center (list) – Atoms that define the qm center, default is [0]. If more than one index is given, COM is used as qm_center
  • partition_scheme (str) – Scheme to use to define buffer groups, default is distance (only scheme available as of now)
  • Rmin (float) – Inner radius for distance partition in angstroms, default is 3.8
  • Rmax (float) – Outer radius for distance partition in angstroms, default is 4.5
  • qmmm_param (dict) – A dictionary with any parameters to pass into the QMMM class. See QMMM class for specifics
__init__(hl_wrapper, ll_wrapper, sys_info, sys_info_format='pdb', qm_center=[0], partition_scheme='distance', Rmin=3.8, Rmax=4.5, qmmm_param={}, **kwargs)

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

Methods

__init__(hl_wrapper, ll_wrapper, sys_info[, …]) Initialize self.
compute_COM(atoms) Computes the center of mass of a specified group
compute_gradients(system) Computes the QM/MM gradients
compute_lamda_i(r_i) Computes the switching function of the DAS method and overrides the compute_lamda_i function from the AQMMM class
compute_zero_energy() Compute the energy of the isolated groups at their minimum geometry
convert_input(fil, form) Converts a set of input files into a MD trajectory
define_buffer_zone(qm_center) Determines buffer group atoms.
DAS.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
find_buffer_atoms(qm_center) Find the buffer groups whose COM falls in between Rmin and Rmax
get_Rmax() Function to return self.Rmin
get_Rmin() Function to return self.Rmin
DAS.get_buffer_info
get_combos([items]) Gets all combinations of a given list of indices according to the DAS formulation
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
get_zero_energy() Incorporates the zero energy of groups to the total qmmm energy
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
partition([qm_center]) Finds the partitions as required by the PAP method and saves each partition as a system object.
prepare_link_atom() Identifies where to put link atom.
run_aqmmm() Interpolates the energy and gradients from each partition according to the PAP method
run_qmmm(main_info, wrapper_type) Drives QM/MM computation.
set_Rmax(Rmax) Function to set self.Rmax
set_Rmin(Rmin) Function to set self.Rmin
update_traj(position, topology, wrapper_type) Updates the positions and topology of self.traj, a MDtraj trajectory object

Attributes

nm_to_angstrom