From 5e0d2c704223bbdb46cbef5b5441fa2d8137e92f Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 03:20:44 -0800 Subject: [PATCH 01/18] add support for SMIRKS, bcc and virtual site --- dmff/api.py | 165 ++++++++++++- dmff/classical/inter.py | 41 +++- dmff/classical/vsite.py | 109 +++++++++ dmff/fftree.py | 89 ++++++- dmff/generators/classical.py | 461 ++++++++++++++++++++++++++--------- 5 files changed, 741 insertions(+), 124 deletions(-) create mode 100644 dmff/classical/vsite.py diff --git a/dmff/api.py b/dmff/api.py index d2af46683..d28940435 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1,4 +1,5 @@ import linecache +from typing import Callable, Dict, Any import numpy as np import jax.numpy as jnp @@ -82,7 +83,7 @@ def totalPE(positions, box, pairs, params): class Hamiltonian(app.forcefield.ForceField): - def __init__(self, *xmlnames): + def __init__(self, *xmlnames, **kwargs): super().__init__(*xmlnames) self._pseudo_ff = app.ForceField(*xmlnames) # parse XML forcefields @@ -104,6 +105,9 @@ def __init__(self, *xmlnames): self.extractParameterTree() # hook generators to self._forces + # use noOmmSys to disable all traditional openmm system + if kwargs.get("noOmmSys", False): + self._forces = [] for jaxGen in self._jaxGenerators: self._forces.append(jaxGen) @@ -184,6 +188,22 @@ def createPotential(self, print(e) pass + # virtual site + try: + addVsiteFunc = generator.getAddVsiteFunc() + self.setAddVirtualSiteFunc(addVsiteFunc) + vsiteObj = generator.getVsiteObj() + self.setVirtualSiteObj(vsiteObj) + except AttributeError as e: + pass + + # covalent map + try: + cov_map = generator.covalent_map + self.setCovalentMap(cov_map) + except AttributeError as e: + pass + return potObj def render(self, filename): @@ -201,4 +221,145 @@ def update_iter(node, ref): else: node[key] = ref[key] - update_iter(self.paramtree, paramtree) \ No newline at end of file + update_iter(self.paramtree, paramtree) + + def setCovalentMap(self, cov_map: jnp.ndarray): + self._cov_map = cov_map + + def getCovalentMap(self) -> jnp.ndarray: + """ + Get covalent map + """ + if hasattr(self, "_cov_map"): + return self._cov_map + else: + raise DMFFException("Covalent map is not set.") + + def getAddVirtualSiteFunc(self) -> Callable: + return self._add_vsite_coords + + def setAddVirtualSiteFunc(self, func: Callable): + self._add_vsite_coords = func + + def setVirtualSiteObj(self, vsite): + self._vsite = vsite + + def getVirtualSiteObj(self): + return self._vsite + + def addVirtualSiteCoords(self, pos: jnp.ndarray, params: Dict[str, Any]) -> jnp.ndarray: + """ + Add coordinates for virtual sites + + Parameters + ---------- + pos: jnp.ndarray + Coordinates without virtual sites + params: dict + Paramtree of hamiltonian, i.e. `dmff.Hamiltonian.paramtree` + + Return + ------ + newpos: jnp.ndarray + + Examples + -------- + >>> import jax.numpy as jnp + >>> import openmm.app as app + >>> from rdkit import Chem + >>> from dmff import Hamiltonian + >>> pdb = app.PDBFile("tests/data/chlorobenzene.pdb") + >>> pos = jnp.array(pdb.getPositions(asNumpy=True)._value) + >>> mol = Chem.MolFromMolFile("tests/data/chlorobenzene.mol", removeHs=False) + >>> h = Hamiltonian("tests/data/cholorobenzene_vsite.xml") + >>> potObj = h.createPotential(pdb.topology, rdmol=mol) + >>> newpos = h.addVirtualSiteCoords(pos, h.paramtree) + + """ + func = self.getAddVirtualSiteFunc() + newpos = func(pos, params) + return newpos + + def addVirtualSiteToMol(self, rdmol, params): + """ + Add coordinates for rdkit.Chem.Mol object + + Parameters + ---------- + rdmol: rdkit.Chem.Mol + Mol object to which virtual sites are added + params: dict + Paramtree of hamiltonian, i.e. `dmff.Hamiltonian.paramtree` + + Return + ------ + newmol: rdkit.Chem.Mol + Mol object with virtual sites added + + Examples + -------- + >>> import jax.numpy as jnp + >>> import openmm.app as app + >>> from rdkit import Chem + >>> from dmff import Hamiltonian + >>> pdb = app.PDBFile("tests/data/chlorobenzene.pdb") + >>> mol = Chem.MolFromMolFile("tests/data/chlorobenzene.mol", removeHs=False) + >>> h = Hamiltonian("tests/data/cholorobenzene_vsite.xml") + >>> potObj = h.createPotential(pdb.topology, rdmol=mol) + >>> newmol = h.addVirtualSiteToMol(mol, h.paramtree) + """ + vsiteObj = self.getVirtualSiteObj() + newmol = vsiteObj.addVirtualSiteToMol( + rdmol, + params['NonbondedForce']['vsite_types'], + params['NonbondedForce']['vsite_distances'] + ) + return newmol + + @staticmethod + def buildTopologyFromMol(rdmol, resname: str = "MOL") -> app.Topology: + """ + Build openmm.app.Topology from rdkit.Chem.Mol Object + + Parameters + ---------- + rdmol: rdkit.Chem.Mol + Mol object + resname: str + Name of the added residue, default "MOL" + + Return + ------ + top: `openmm.app.Topology` + Topology built based on the input rdkit Mol object + """ + from rdkit import Chem + + top = app.Topology() + chain = top.addChain(0) + res = top.addResidue(resname, chain, "1", "") + + atCount = {} + addedAtoms = [] + for idx, atom in enumerate(rdmol.GetAtoms()): + symb = atom.GetSymbol().upper() + atCount.update({symb: atCount.get(symb, 0) + 1}) + ele = app.Element.getBySymbol(symb) + atName = f'{symb}{atCount[symb]}' + + addedAtom = top.addAtom(atName, ele, res, str(idx+1)) + addedAtoms.append(addedAtom) + + bondTypeMap = { + Chem.rdchem.BondType.SINGLE: app.Single, + Chem.rdchem.BondType.DOUBLE: app.Double, + Chem.rdchem.BondType.TRIPLE: app.Triple, + Chem.rdchem.BondType.AROMATIC: app.Aromatic + } + for bond in rdmol.GetBonds(): + top.addBond( + addedAtoms[bond.GetBeginAtomIdx()], + addedAtoms[bond.GetEndAtomIdx()], + type=bondTypeMap.get(bond.GetBondType(), None) + ) + return top \ No newline at end of file diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index b33f2f1b8..228d11d70 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,4 +1,4 @@ -from typing import Iterable, Tuple +from typing import Iterable, Tuple, Optional import jax.numpy as jnp import numpy as np @@ -130,10 +130,11 @@ def get_energy(box, epsilon, sigma, epsfix, sigfix): class CoulNoCutoffForce: # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1 r} - def __init__(self, map_prm, epsilon_1=1.0) -> None: + def __init__(self, map_prm, epsilon_1=1.0, topology_matrix=None) -> None: self.eps_1 = epsilon_1 self.map_prm = map_prm + self.top_mat = topology_matrix def generate_get_energy(self): def get_coul_energy(dr_vec, chrgprod, box): @@ -145,7 +146,6 @@ def get_coul_energy(dr_vec, chrgprod, box): return E def get_energy(positions, box, pairs, charges, mscales): - pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) mask = pair_buffer_scales(pairs[:, :2]) map_prm = jnp.array(self.map_prm) @@ -163,9 +163,16 @@ def get_energy(positions, box, pairs, charges, mscales): E_inter = get_coul_energy(dr_vec, chrgprod_scale, box) - return jnp.sum(E_inter * mask) - - return get_energy + return jnp.sum(E_inter * mask) + + def get_energy_bcc(positions, box, pairs, pre_charges, bcc, mscales): + charges = pre_charges + jnp.dot(self.top_mat, bcc).flatten() + return get_energy(positions, box, pairs, charges, mscales) + + if self.top_mat is None: + return get_energy + else: + return get_energy_bcc class CoulReactionFieldForce: @@ -177,6 +184,7 @@ def __init__( epsilon_1=1.0, epsilon_solv=78.5, isPBC=True, + topology_matrix=None ) -> None: self.r_cut = r_cut @@ -186,6 +194,7 @@ def __init__( self.eps_1 = epsilon_1 self.map_prm = map_prm self.ifPBC = isPBC + self.top_mat = topology_matrix def generate_get_energy(self): def get_rf_energy(dr_vec, chrgprod, box): @@ -223,7 +232,14 @@ def get_energy(positions, box, pairs, charges, mscales): return jnp.sum(E_inter * mask) - return get_energy + def get_energy_bcc(positions, box, pairs, pre_charges, bcc, mscales): + charges = pre_charges + jnp.dot(self.top_mat, bcc).flatten() + return get_energy(positions, box, pairs, charges, mscales) + + if self.top_mat is None: + return get_energy + else: + return get_energy_bcc class CoulombPMEForce: @@ -235,6 +251,7 @@ def __init__( kappa: float, K: Tuple[int, int, int], pme_order: int = 6, + topology_matrix: Optional[jnp.array] = None, ): self.r_cut = r_cut self.map_prm = map_prm @@ -242,6 +259,7 @@ def __init__( self.kappa = kappa self.K1, self.K2, self.K3 = K[0], K[1], K[2] self.pme_order = pme_order + self.top_mat = topology_matrix assert pme_order == 6, "PME order other than 6 is not supported" def generate_get_energy(self): @@ -283,4 +301,11 @@ def get_energy(positions, box, pairs, charges, mscales): False, ) - return get_energy + def get_energy_bcc(positions, box, pairs, pre_charges, bcc, mscales): + charges = pre_charges + jnp.dot(self.top_mat, bcc).flatten() + return get_energy(positions, box, pairs, charges, mscales) + + if self.top_mat is None: + return get_energy + else: + return get_energy_bcc diff --git a/dmff/classical/vsite.py b/dmff/classical/vsite.py new file mode 100644 index 000000000..9da7e960b --- /dev/null +++ b/dmff/classical/vsite.py @@ -0,0 +1,109 @@ +from typing import Tuple, List, Dict, Callable, Optional +import numpy as np +import jax.numpy as jnp + + +class VirtualSite: + """ + Class for manipulation of virtual sites + """ + def __init__(self, matches_dict: Dict[Tuple[int], int]): + """ + Initialize a virtual site object + """ + self.num_vsites = len(matches_dict) + self.matches, self.indices = [], [] + for key, value in matches_dict.items(): + self.matches.append(key) + self.indices.append(value) + + def getAddVirtualSiteFunc(self) -> Callable: + """ + Get fuction to compute virtual site coordinates + """ + + def add_vsite_position(pos: jnp.ndarray, vtypes: jnp.ndarray, vdist: jnp.ndarray) -> jnp.ndarray: + newpos = jnp.zeros((pos.shape[0] + self.num_vsites, pos.shape[1])) + newpos = newpos.at[:pos.shape[0]].set(pos) + for i in range(self.num_vsites): + match = self.matches[i] + idx = self.indices[i] + if vtypes[idx] == 1: + vec = newpos[match[0]] - newpos[match[1]] + nvec = vec / jnp.linalg.norm(vec, ord=2) + newpos = newpos.at[pos.shape[0] + i].set(newpos[match[0]] + vdist[idx] * nvec) + elif vtypes[idx] == 2: + vec1 = newpos[match[0]] - newpos[match[1]] + vec2 = newpos[match[0]] - newpos[match[2]] + nvec1 = vec1 / jnp.linalg.norm(vec1, ord=2) + nvec2 = vec2 / jnp.linalg.norm(vec2, ord=2) + nvec = (nvec1 + nvec2) / jnp.linalg.norm(nvec1 + nvec2, ord=2) + newpos = newpos.at[pos.shape[0] + i].set(newpos[match[0]] + vdist[idx] * nvec) + return newpos + + return add_vsite_position + + def addVirtualSiteToMol(self, rdmol, vtypes=None, vdist=None): + """ + Add virtual site to rdkit.Chem.Mol object + + Parameters + ---------- + rdmol: rdkit.Chem.Mol + Mol object to which virtual sites are added + vtypes: jnp.ndarray or None + Virtual site types, can be obtained from `dmff.Hamiltonian.paramtree['vsite_types']` + vdist: jnp.ndarray or None + Virtual site distances params, can be obtained from `dmff.Hamiltonian.paramtree['vsite_distances']` + + Return + ------ + newmol: rdkit.Chem.Mol + Mol with virtual sites added + """ + if isinstance(vtypes, jnp.ndarray) and isinstance(vdist, jnp.ndarray): + func = self.getAddVirtualSiteFunc() + # convert between angstrom and nm + pos = jnp.array(rdmol.GetConformer(0).GetPositions()) / 10 + addCoords = func(pos, vtypes, vdist) * 10 + else: + addCoords = None + + newmol = self.add_dummy(rdmol, [m[0] for m in self.matches], addCoords) + return newmol + + @staticmethod + def add_dummy(mol, parentAtomIdx: List[int], addCoords: Optional[np.ndarray]): + """ + Add dummy atom to rdkit.Chem.Mol object and make a dummy bond between + the dummy atom and its parent atom + + Parameters + ---------- + mol: rdkit.Chem.Mol + Molecule to add dummy atom + parentAtomIdx: int + Index of the dummy atom's parent atom + addCoords: numpy.ndarray or None + Coordinates of the virtual sites. In unit of Angstrom + """ + from rdkit import Chem + ori_num_atoms = mol.GetNumAtoms() + rwmol = Chem.RWMol(mol) + + duIdxs = [] + for pidx in parentAtomIdx: + dummy = Chem.Atom(0) + duIdx = rwmol.AddAtom(dummy) + rwmol.AddBond(duIdx, pidx) + newmol = rwmol.GetMol() + duIdxs.append(duIdx) + + if addCoords is not None: + assert len(addCoords) == len(parentAtomIdx) + ori_num_atoms, f"Number of atoms in coordinates doesn't match" + conf = newmol.GetConformer() + for i, duIdx in enumerate(duIdxs): + conf.SetAtomPosition(duIdx, [float(x) for x in addCoords[duIdx]]) + + return newmol + diff --git a/dmff/fftree.py b/dmff/fftree.py index b68b9a882..e4b954f53 100644 --- a/dmff/fftree.py +++ b/dmff/fftree.py @@ -257,11 +257,13 @@ def write(self, path): class TypeMatcher: - def __init__(self, fftree: ForcefieldTree, parser): + def __init__(self, fftree: ForcefieldTree, parser: str): """ Freeze type matching list. """ # not convert to float for atom types + self.useSmirks = False + atypes = fftree.get_attribs("AtomTypes/Type", "name", convert_to_float=False) aclasses = fftree.get_attribs("AtomTypes/Type", "class", convert_to_float=False) self.class2type = {} @@ -288,8 +290,13 @@ def __init__(self, fftree: ForcefieldTree, parser): tmp.append((nit, self.class2type.get(node.attrs[key], [None]))) elif key == "class": tmp.append((1, self.class2type.get(node.attrs[key], [None]))) - tmp = sorted(tmp, key=lambda x: x[0]) - self.functions.append([i[1] for i in tmp]) + elif key == "smirks": + self.useSmirks = True + self.functions.append(node.attrs[key]) + + if not self.useSmirks: + tmp = sorted(tmp, key=lambda x: x[0]) + self.functions.append([i[1] for i in tmp]) def matchGeneral(self, types): matches = [] @@ -300,6 +307,82 @@ def matchGeneral(self, types): if len(matches) == 0: return False, False, -1 return matches[-1] + + def matchSmirks(self, rdmol): + """ + Match smirks + """ + from rdkit import Chem + + if rdmol is None: + raise DMFFException("No rdkit.Chem.Mol object is provided") + + matches_dict = {} + for idx, smk in enumerate(self.functions): + patt = Chem.MolFromSmarts(smk) + matches = rdmol.GetSubstructMatches(patt) + for match in matches: + if len(match) == 2: + canonical_match = (min(match), max(match)) + elif len(match) == 3: + canonical_match = (min([match[0], match[2]]), match[1], max([match[0], match[2]])) + elif len(match) == 4: + canonical_match = (match[3], match[2], match[1], match[0]) if match[2] < match[1] else match + elif len(match) == 1: + canonical_match = match + else: + raise DMFFException(f"Invalid SMIRKS: {smk}") + matches_dict.update({canonical_match: idx}) + + return matches_dict + + def matchSmirksNoSort(self, rdmol): + """ + Match smirks, but no sorting the matched atom indices + """ + from rdkit import Chem + + if rdmol is None: + raise DMFFException("No rdkit.Chem.Mol object is provided") + + matches_dict = {} + for idx, smk in enumerate(self.functions): + patt = Chem.MolFromSmarts(smk) + matches = rdmol.GetSubstructMatches(patt) + for match in matches: + matches_dict.update({match: idx}) + + return matches_dict + + def matchSmirksImproper(self, rdmol): + """ + Match smirks for improper torsions + """ + from rdkit import Chem + + if rdmol is None: + raise DMFFException("No rdkit.Chem.Mol object is provided") + + matches_dict = {} + for idx, smk in enumerate(self.functions): + patt = Chem.MolFromSmarts(smk) + matches = rdmol.GetSubstructMatches(patt) + hasWildcard = "*" in smk + for match in matches: + # Be the most consistent with AMBER, in which ordering is determined in this way + atnums = [rdmol.GetAtomWithIdx(i).GetAtomicNum() for i in match] + if hasWildcard: + if atnums[1] == atnums[2] and match[1] > match[2]: + canonical_match = (match[2], match[1], match[0], match[3]) + elif atnums[1] != 6 and (atnums[2] == 6 or atnums[1] < atnums[2]): + canonical_match = (match[2], match[1], match[0], match[3]) + else: + canonical_match = (match[1], match[2], match[0], match[3]) + else: + canonical_match = match + matches_dict.update({canonical_match: idx}) + + return matches_dict def _match(self, types, term): if len(types) != len(term): diff --git a/dmff/generators/classical.py b/dmff/generators/classical.py index c5d947e4e..57670826f 100644 --- a/dmff/generators/classical.py +++ b/dmff/generators/classical.py @@ -1,5 +1,6 @@ from collections import defaultdict from typing import Dict +from copy import deepcopy import numpy as np import jax.numpy as jnp @@ -26,7 +27,8 @@ LennardJonesLongRangeFreeEnergyForce, CoulombPMEFreeEnergyForce ) -from dmff.admp.pme import setup_ewald_parameters +from dmff.classical.vsite import VirtualSite +from dmff.admp.pme import setup_ewald_parameters from dmff.utils import jit_condition, isinstance_jnp, DMFFException, findItemInList from dmff.fftree import ForcefieldTree, TypeMatcher from dmff.api import Hamiltonian, build_covalent_map @@ -77,24 +79,42 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): matcher = TypeMatcher(self.fftree, "HarmonicBondForce/Bond") map_atom1, map_atom2, map_param = [], [], [] - n_bonds = len(data.bonds) - # build map - for i in range(n_bonds): - idx1 = data.bonds[i].atom1 - idx2 = data.bonds[i].atom2 - type1 = data.atomType[data.atoms[idx1]] - type2 = data.atomType[data.atoms[idx2]] - ifFound, ifForward, nfunc = matcher.matchGeneral([type1, type2]) - if not ifFound: - raise BaseException( - f"No parameter for bond ({idx1},{type1}) - ({idx2},{type2})" - ) - map_atom1.append(idx1) - map_atom2.append(idx2) - map_param.append(nfunc) + + if not matcher.useSmirks: + n_bonds = len(data.bonds) + # build map + for i in range(n_bonds): + idx1 = data.bonds[i].atom1 + idx2 = data.bonds[i].atom2 + type1 = data.atomType[data.atoms[idx1]] + type2 = data.atomType[data.atoms[idx2]] + ifFound, ifForward, nfunc = matcher.matchGeneral([type1, type2]) + if not ifFound: + raise DMFFException( + f"No parameter for bond ({idx1},{type1}) - ({idx2},{type2})" + ) + map_atom1.append(idx1) + map_atom2.append(idx2) + map_param.append(nfunc) + else: + rdmol = args.get("rdmol", None) + matches_dict = matcher.matchSmirks(rdmol) + for bond in rdmol.GetBonds(): + beginAtomIdx = bond.GetBeginAtomIdx() + endAtomIdx = bond.GetEndAtomIdx() + query = (beginAtomIdx, endAtomIdx) if beginAtomIdx < endAtomIdx else (endAtomIdx, beginAtomIdx) + map_atom1.append(query[0]) + map_atom2.append(query[1]) + try: + map_param.append(matches_dict[query]) + except KeyError as e: + raise DMFFException( + f"No parameter for bond between Atom{beginAtomIdx} and Atom{endAtomIdx}" + ) + map_atom1 = np.array(map_atom1, dtype=int) map_atom2 = np.array(map_atom2, dtype=int) - map_param = np.array(map_param, dtype=int) + map_param = np.array(map_param, dtype=int) bforce = HarmonicBondJaxForce(map_atom1, map_atom2, map_param) @@ -137,25 +157,46 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): matcher = TypeMatcher(self.fftree, "HarmonicAngleForce/Angle") map_atom1, map_atom2, map_atom3, map_param = [], [], [], [] - n_angles = len(data.angles) - for nangle in range(n_angles): - idx1 = data.angles[nangle][0] - idx2 = data.angles[nangle][1] - idx3 = data.angles[nangle][2] - type1 = data.atomType[data.atoms[idx1]] - type2 = data.atomType[data.atoms[idx2]] - type3 = data.atomType[data.atoms[idx3]] - ifFound, ifForward, nfunc = matcher.matchGeneral( - [type1, type2, type3]) - if not ifFound: - print( - f"No parameter for angle ({idx1},{type1}) - ({idx2},{type2}) - ({idx3},{type3})" - ) - else: - map_atom1.append(idx1) - map_atom2.append(idx2) - map_atom3.append(idx3) - map_param.append(nfunc) + + if not matcher.useSmirks: + n_angles = len(data.angles) + for nangle in range(n_angles): + idx1 = data.angles[nangle][0] + idx2 = data.angles[nangle][1] + idx3 = data.angles[nangle][2] + type1 = data.atomType[data.atoms[idx1]] + type2 = data.atomType[data.atoms[idx2]] + type3 = data.atomType[data.atoms[idx3]] + ifFound, ifForward, nfunc = matcher.matchGeneral( + [type1, type2, type3]) + if not ifFound: + print( + f"No parameter for angle ({idx1},{type1}) - ({idx2},{type2}) - ({idx3},{type3})" + ) + else: + map_atom1.append(idx1) + map_atom2.append(idx2) + map_atom3.append(idx3) + map_param.append(nfunc) + else: + from rdkit import Chem + + rdmol = args.get("rdmol", None) + matches_dict = matcher.matchSmirks(rdmol) + angle_patt = Chem.MolFromSmarts("[*:1]~[*:2]~[*:3]") + angles = rdmol.GetSubstructMatches(angle_patt) + for angle in angles: + canonical_angle = (min([angle[0], angle[2]]), angle[1], max([angle[0], angle[2]])) + map_atom1.append(canonical_angle[0]) + map_atom2.append(canonical_angle[1]) + map_atom3.append(canonical_angle[2]) + try: + map_param.append(matches_dict[canonical_angle]) + except KeyError as e: + raise DMFFException( + f"No parameter for angle Atom{canonical_angle[0]}-Atom{canonical_angle[1]}-Atom{canonical_angle[2]}" + ) + map_atom1 = np.array(map_atom1, dtype=int) map_atom2 = np.array(map_atom2, dtype=int) map_atom3 = np.array(map_atom3, dtype=int) @@ -294,6 +335,10 @@ def overwrite(self): self.fftree.set_node("PeriodicTorsionForce/Improper", impr_data) def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): + """ + Create force for torsions + """ + # Proper Torsions proper_matcher = TypeMatcher(self.fftree, "PeriodicTorsionForce/Proper") map_prop_atom1 = {i: [] for i in range(1, self.max_pred_prop + 1)} @@ -302,24 +347,55 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_prop_atom4 = {i: [] for i in range(1, self.max_pred_prop + 1)} map_prop_param = {i: [] for i in range(1, self.max_pred_prop + 1)} n_matched_props = 0 - for torsion in data.propers: - types = [data.atomType[data.atoms[torsion[i]]] for i in range(4)] - ifFound, ifForward, nnode = proper_matcher.matchGeneral(types) - if not ifFound: - continue - # find terms for node - for periodicity in range(1, self.max_pred_prop + 1): - idx = findItemInList( - nnode, self.meta[f"prop_nodeidx"][f"{periodicity}"]) - if idx < 0: - continue - n_matched_props += 1 - map_prop_atom1[periodicity].append(torsion[0]) - map_prop_atom2[periodicity].append(torsion[1]) - map_prop_atom3[periodicity].append(torsion[2]) - map_prop_atom4[periodicity].append(torsion[3]) - map_prop_param[periodicity].append(idx) + if not proper_matcher.useSmirks: + for torsion in data.propers: + types = [data.atomType[data.atoms[torsion[i]]] for i in range(4)] + ifFound, ifForward, nnode = proper_matcher.matchGeneral(types) + if not ifFound: + continue + # find terms for node + for periodicity in range(1, self.max_pred_prop + 1): + idx = findItemInList( + nnode, self.meta[f"prop_nodeidx"][f"{periodicity}"]) + if idx < 0: + continue + n_matched_props += 1 + map_prop_atom1[periodicity].append(torsion[0]) + map_prop_atom2[periodicity].append(torsion[1]) + map_prop_atom3[periodicity].append(torsion[2]) + map_prop_atom4[periodicity].append(torsion[3]) + map_prop_param[periodicity].append(idx) + else: + from rdkit import Chem + + rdmol = args.get("rdmol", None) + proper_patt = Chem.MolFromSmarts("[*:1]~[*:2]-[*:3]~[*:4]") + propers = rdmol.GetSubstructMatches(proper_patt) + matches_dict = proper_matcher.matchSmirks(rdmol) + for match in propers: + torsion = (match[3], match[2], match[1], match[0]) if match[2] < match[1] else match + try: + nnode = matches_dict[torsion] + ifFound = True + n_matched_props += 1 + except KeyboardInterrupt: + ifFound = False + + if not ifFound: + continue + + for periodicity in range(1, self.max_pred_prop + 1): + idx = findItemInList(nnode, self.meta['prop_nodeidx'][f"{periodicity}"]) + if idx < 0: + continue + map_prop_atom1[periodicity].append(torsion[0]) + map_prop_atom2[periodicity].append(torsion[1]) + map_prop_atom3[periodicity].append(torsion[2]) + map_prop_atom4[periodicity].append(torsion[3]) + map_prop_param[periodicity].append(idx) + + # Improper Torsions impr_matcher = TypeMatcher(self.fftree, "PeriodicTorsionForce/Improper") try: @@ -327,47 +403,69 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): "ordering")[0] except KeyError as e: ordering = "default" + map_impr_atom1 = {i: [] for i in range(1, self.max_pred_impr + 1)} map_impr_atom2 = {i: [] for i in range(1, self.max_pred_impr + 1)} map_impr_atom3 = {i: [] for i in range(1, self.max_pred_impr + 1)} map_impr_atom4 = {i: [] for i in range(1, self.max_pred_impr + 1)} map_impr_param = {i: [] for i in range(1, self.max_pred_impr + 1)} n_matched_imprs = 0 - for impr in data.impropers: - match = impr_matcher.matchImproper(impr, data, ordering=ordering) - if match is not None: - (a1, a2, a3, a4, nnode) = match + + if not impr_matcher.useSmirks: + for impr in data.impropers: + match = impr_matcher.matchImproper(impr, data, ordering=ordering) + if match is not None: + (a1, a2, a3, a4, nnode) = match + n_matched_imprs += 1 + # find terms for node + for periodicity in range(1, self.max_pred_impr + 1): + idx = findItemInList( + nnode, self.meta[f"impr_nodeidx"][f"{periodicity}"]) + if idx < 0: + continue + if ordering == 'smirnoff': + # Add all torsions in trefoil + map_impr_atom1[periodicity].append(a1) + map_impr_atom2[periodicity].append(a2) + map_impr_atom3[periodicity].append(a3) + map_impr_atom4[periodicity].append(a4) + map_impr_param[periodicity].append(idx) + map_impr_atom1[periodicity].append(a1) + map_impr_atom2[periodicity].append(a3) + map_impr_atom3[periodicity].append(a4) + map_impr_atom4[periodicity].append(a2) + map_impr_param[periodicity].append(idx) + map_impr_atom1[periodicity].append(a1) + map_impr_atom2[periodicity].append(a4) + map_impr_atom3[periodicity].append(a2) + map_impr_atom4[periodicity].append(a3) + map_impr_param[periodicity].append(idx) + else: + map_impr_atom1[periodicity].append(a1) + map_impr_atom2[periodicity].append(a2) + map_impr_atom3[periodicity].append(a3) + map_impr_atom4[periodicity].append(a4) + map_impr_param[periodicity].append(idx) + else: + rdmol = args.get("rdmol", None) + + if rdmol is None: + raise DMFFException("No rdkit.Chem.Mol object is provided") + + matches_dict = impr_matcher.matchSmirksImproper(rdmol) + for torsion, nnode in matches_dict.items(): n_matched_imprs += 1 - # find terms for node - for periodicity in range(1, self.max_pred_impr + 1): - idx = findItemInList( - nnode, self.meta[f"impr_nodeidx"][f"{periodicity}"]) + for periodicity in range(1, self.max_pred_impr+ 1): + idx = findItemInList(nnode, self.meta['impr_nodeidx'][f"{periodicity}"]) if idx < 0: continue - if ordering == 'smirnoff': - # Add all torsions in trefoil - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a2) - map_impr_atom3[periodicity].append(a3) - map_impr_atom4[periodicity].append(a4) - map_impr_param[periodicity].append(idx) - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a3) - map_impr_atom3[periodicity].append(a4) - map_impr_atom4[periodicity].append(a2) - map_impr_param[periodicity].append(idx) - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a4) - map_impr_atom3[periodicity].append(a2) - map_impr_atom4[periodicity].append(a3) - map_impr_param[periodicity].append(idx) - else: - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a2) - map_impr_atom3[periodicity].append(a3) - map_impr_atom4[periodicity].append(a4) - map_impr_param[periodicity].append(idx) - + map_impr_atom1[periodicity].append(torsion[0]) + map_impr_atom2[periodicity].append(torsion[1]) + map_impr_atom3[periodicity].append(torsion[2]) + map_impr_atom4[periodicity].append(torsion[3]) + map_impr_param[periodicity].append(idx) + + # Sum proper and improper torsions props = [ PeriodicTorsionJaxForce(jnp.array(map_prop_atom1[p], dtype=int), jnp.array(map_prop_atom2[p], dtype=int), @@ -413,7 +511,7 @@ def getJaxPotential(self): class NonbondedJaxGenerator: - def __init__(self, ff): + def __init__(self, ff: Hamiltonian): self.name = "NonbondedForce" self.ff = ff self.fftree = ff.fftree @@ -427,6 +525,9 @@ def __init__(self, ff): self.ra2idx = {} self.idx2rai = {} + self.useBCC = False + self.useVsite = False + def extract(self): self.from_residue = self.fftree.get_attribs( "NonbondedForce/UseAttributeFromResidue", "name") @@ -438,6 +539,7 @@ def extract(self): for prm in self.from_force: vals = self.fftree.get_attribs("NonbondedForce/Atom", prm) self.paramtree[self.name][prm] = jnp.array(vals) + # Build per-atom array for from_residue residues = self.fftree.get_nodes("Residues/Residue") resvals = {k: [] for k in self.from_residue} @@ -454,6 +556,7 @@ def extract(self): resvals[prm].extend(atomval) for prm in self.from_residue: self.paramtree[self.name][prm] = jnp.array(resvals[prm]) + # Build coulomb14scale and lj14scale coulomb14scale, lj14scale = self.fftree.get_attribs( "NonbondedForce", ["coulomb14scale", "lj14scale"])[0] @@ -461,6 +564,18 @@ def extract(self): [coulomb14scale]) self.paramtree[self.name]["lj14scale"] = jnp.array([lj14scale]) + # Build BondChargeCorrection + bccs = self.fftree.get_attribs("NonbondedForce/BondChargeCorrection", "bcc") + self.paramtree[self.name]['bcc'] = jnp.array(bccs).reshape(-1, 1) + self.useBCC = len(bccs) > 0 + + # Build VirtualSite + vsite_types = self.fftree.get_attribs("NonbondedForce/VirtualSite", "vtype") + self.paramtree[self.name]['vsite_types'] = jnp.array(vsite_types, dtype=int) + vsite_distance = self.fftree.get_attribs("NonbondedForce/VirtualSite", "distance") + self.paramtree[self.name]['vsite_distances'] = jnp.array(vsite_distance) + self.useVsite = len(vsite_types) > 0 + def overwrite(self): # write coulomb14scale self.fftree.set_attrib("NonbondedForce", "coulomb14scale", @@ -486,9 +601,18 @@ def overwrite(self): [d for d in data if d[0] == resnode.attrs["name"]], key=lambda x: x[1]) resnode.set_attrib("Atom", prm, [t[2] for t in tmp]) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + + # write BCC + if self.useBCC: + self.fftree.set_attrib( + "NonbondedForce/BondChargeCorrection", "bcc", + self.paramtree[self.name]['bcc'] + ) + + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): + # Build Covalent Map + self.covalent_map = build_covalent_map(data, 6) + methodMap = { app.NoCutoff: "NoCutoff", app.CutoffPeriodic: "CutoffPeriodic", @@ -509,7 +633,6 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, mscales_lj = mscales_lj.at[2].set( self.paramtree[self.name]["lj14scale"][0]) - # Coulomb: only support PME for now # set PBC if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: ifPBC = True @@ -517,19 +640,36 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, ifPBC = False nbmatcher = TypeMatcher(self.fftree, "NonbondedForce/Atom") - # load LJ from types + + # Load Lennard-Jones parameters + rdmol = args.get("rdmol", None) + maps = {} - for prm in self.from_force: - maps[prm] = [] - for atom in data.atoms: - atype = data.atomType[atom] - ifFound, _, nnode = nbmatcher.matchGeneral([atype]) - if not ifFound: - raise DMFFException( - "AtomType of %s mismatched in NonbondedForce" % - (str(atom))) - maps[prm].append(nnode) - maps[prm] = jnp.array(maps[prm], dtype=int) + + if not nbmatcher.useSmirks: + for prm in self.from_force: + maps[prm] = [] + for atom in data.atoms: + atype = data.atomType[atom] + ifFound, _, nnode = nbmatcher.matchGeneral([atype]) + if not ifFound: + raise DMFFException( + "AtomType of %s mismatched in NonbondedForce" % + (str(atom))) + maps[prm].append(nnode) + maps[prm] = jnp.array(maps[prm], dtype=int) + else: + matches_dict = nbmatcher.matchSmirks(rdmol) + for prm in self.from_force: + maps[prm] = [] + for i in range(rdmol.GetNumAtoms()): + try: + maps[prm].append(matches_dict[(i,)]) + except KeyError as e: + raise DMFFException( + f"No parameter for atom {i}" + ) + maps[prm] = jnp.array(maps[prm], dtype=int) for prm in self.from_residue: maps[prm] = [] @@ -538,10 +678,88 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, aidx = data.atomTemplateIndexes[atom] resname, aname = templateName, atom.name maps[prm].append(self.ra2idx[(resname, aidx)]) + + # Virtual Site + if self.useVsite: + vsitematcher = TypeMatcher(self.fftree, "NonbondedForce/VirtualSite") + matches_dict = vsitematcher.matchSmirksNoSort(rdmol) + vsiteObj = VirtualSite(matches_dict) + + def addVsiteFunc(pos, params): + func = vsiteObj.getAddVirtualSiteFunc() + newpos = func(pos, params[self.name]['vsite_types'], params[self.name]['vsite_distances']) + return newpos + + self._addVsiteFunc = addVsiteFunc + rdmol = vsiteObj.addVirtualSiteToMol(rdmol) + self.vsiteObj = vsiteObj + + # expand covalent map + ori_dim = self.covalent_map.shape[0] + new_dim = ori_dim + len(matches_dict) + cov_map = np.zeros((new_dim, new_dim), dtype=int) + cov_map[:ori_dim, :ori_dim] += np.array(self.covalent_map, dtype=int) + + map_to_parents = np.arange(new_dim) + for i, match in enumerate(matches_dict.keys()): + map_to_parents[ori_dim + i] = match[0] + for i in range(len(matches_dict)): + parent_i = map_to_parents[ori_dim + i] + for j in range(new_dim): + parent_j = map_to_parents[j] + cov_map[ori_dim + i, j] = cov_map[parent_i, parent_j] + cov_map[j, ori_dim + i] = cov_map[parent_j, parent_i] + # keep diagonal 0 + cov_map[ori_dim + i, ori_dim + i] = 0 + self.covalent_map = jnp.array(cov_map) + + # expand charges + chg = jnp.zeros( + (len(self.paramtree[self.name]['charge']) + len(matches_dict),), + dtype=self.paramtree[self.name]['charge'].dtype + ) + self.paramtree[self.name]['charge'] = chg.at[:len(self.paramtree[self.name]['charge'])].set( + self.paramtree[self.name]['charge'] + ) + maps_chg = [int(x) for x in maps['charge']] + for i in range(len(matches_dict)): + maps_chg.append(len(maps['charge']) + i) + maps['charge'] = jnp.array(maps_chg, dtype=int) + + # BCC parameters + if self.useBCC: + bccmatcher = TypeMatcher(self.fftree, "NonbondedForce/BondChargeCorrection") + + if bccmatcher.useSmirks: + matches_dict = bccmatcher.matchSmirksNoSort(rdmol) + self.top_mat = np.zeros((rdmol.GetNumAtoms(), self.paramtree[self.name]['bcc'].shape[0])) + + for bond in rdmol.GetBonds(): + beginAtomIdx = bond.GetBeginAtomIdx() + endAtomIdx = bond.GetEndAtomIdx() + query1, query2 = (beginAtomIdx, endAtomIdx), (endAtomIdx, beginAtomIdx) + if query1 in matches_dict: + nnode = matches_dict[query1] + self.top_mat[query1[0], nnode] += 1 + self.top_mat[query1[1], nnode] -= 1 + elif query2 in matches_dict: + nnode = matches_dict[query2] + self.top_mat[query2[0], nnode] += 1 + self.top_mat[query2[1], nnode] -= 1 + else: + raise DMFFException( + f"No BCC parameter for bond between Atom{beginAtomIdx} and Atom{endAtomIdx}" + ) + else: + raise DMFFException( + "Only SMIRKS-based parametrization is supported for BCC" + ) + else: + self.top_mat = None + + # NBFIX map_nbfix = [] - map_nbfix = np.array(map_nbfix, dtype=int).reshape((-1, 2)) - - self.covalent_map = build_covalent_map(data, 6) + map_nbfix = jnp.array(map_nbfix, dtype=jnp.int32).reshape(-1, 2) if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) @@ -569,7 +787,6 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, self.coeff_method) map_lj = jnp.array(maps["sigma"]) - map_nbfix = jnp.array(map_nbfix) map_charge = jnp.array(maps["charge"]) # Free Energy Settings # @@ -664,15 +881,17 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, # use Reaction Field coulforce = CoulReactionFieldForce(r_cut, map_charge, - isPBC=ifPBC) + isPBC=ifPBC, + topology_matrix=self.top_mat) if nonbondedMethod is app.NoCutoff: # use NoCutoff - coulforce = CoulNoCutoffForce(map_charge) + coulforce = CoulNoCutoffForce(map_charge, topology_matrix=self.top_mat) else: coulforce = CoulombPMEForce(r_cut, map_charge, kappa, - (K1, K2, K3)) + (K1, K2, K3), topology_matrix=self.top_mat) else: assert nonbondedMethod is app.PME, "Only PME is supported in free energy calculations" + assert not self.useBCC, "BCC usage in free energy calculations is not supported yet" coulforce = CoulombPMEFreeEnergyForce(r_cut, map_charge, kappa, (K1, K2, K3), @@ -699,8 +918,13 @@ def potential_fn(positions, box, pairs, params): params[self.name]["sigma"], params[self.name]["epsfix"], params[self.name]["sigfix"], mscales_lj) - coulE = coulenergy(positions, box, pairs, - params[self.name]["charge"], mscales_coul) + + if not self.useBCC: + coulE = coulenergy(positions, box, pairs, + params[self.name]["charge"], mscales_coul) + else: + coulE = coulenergy(positions, box, pairs, + params[self.name]["charge"], params[self.name]["bcc"], mscales_coul) if useDispersionCorrection: ljDispEnergy = ljDispEnergyFn(box, @@ -745,6 +969,21 @@ def potential_fn(positions, box, pairs, params, vdwLambda, def getJaxPotential(self): return self._jaxPotential + def getAddVsiteFunc(self): + """ + Get function to add coordinates for virtual sites + """ + return self._addVsiteFunc + + def getVsiteObj(self): + """ + Get `dmff.classical.vsite.VirtualSite` object + """ + if self.useVsite: + return self.vsiteObj + else: + return None + dmff.api.jaxGenerators["NonbondedForce"] = NonbondedJaxGenerator From d17736acb525827a7f13f707e264eeffdd13f890 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 03:20:57 -0800 Subject: [PATCH 02/18] add dependencies in ut workflow --- .github/workflows/ut.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ut.yml b/.github/workflows/ut.yml index caa0c77c4..0371fe8db 100644 --- a/.github/workflows/ut.yml +++ b/.github/workflows/ut.yml @@ -22,7 +22,7 @@ jobs: $CONDA/bin/conda update -n base -c defaults conda conda install pip conda update pip - conda install numpy openmm pytest -c conda-forge + conda install numpy openmm pytest rdkit biopandas openbabel -c conda-forge pip install jax jax_md pip install mdtraj==1.9.7 pymbar==4.0.1 - name: Install DMFF From 41da2bab451ce5ee6f672d5cf917fd4a4ad4ab95 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 19:52:49 -0800 Subject: [PATCH 03/18] add interface to obtain topmat --- dmff/api.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dmff/api.py b/dmff/api.py index d28940435..ddc0533fc 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -204,6 +204,13 @@ def createPotential(self, except AttributeError as e: pass + # topology matrix (for BCC usage) + try: + top_mat = generator.getTopologyMatrix() + self.setTopologyMatrix(top_mat) + except AttributeError as e: + pass + return potObj def render(self, filename): @@ -247,6 +254,12 @@ def setVirtualSiteObj(self, vsite): def getVirtualSiteObj(self): return self._vsite + def setTopologyMatrix(self, top_mat): + self._top_mat = top_mat + + def getTopologyMatrix(self): + return self._top_mat + def addVirtualSiteCoords(self, pos: jnp.ndarray, params: Dict[str, Any]) -> jnp.ndarray: """ Add coordinates for virtual sites From aa02e2ac0313174348458a6183d97c193e655080 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 19:52:54 -0800 Subject: [PATCH 04/18] code clean --- dmff/classical/inter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 228d11d70..8438b9ee5 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -213,7 +213,6 @@ def get_rf_energy(dr_vec, chrgprod, box): return E def get_energy(positions, box, pairs, charges, mscales): - pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) mask = pair_buffer_scales(pairs[:, :2]) From d756b56909d467cbdd5523a94a5a36f52899dbcf Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 19:53:08 -0800 Subject: [PATCH 05/18] fix multiple matches_dict var --- dmff/generators/classical.py | 99 ++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 45 deletions(-) diff --git a/dmff/generators/classical.py b/dmff/generators/classical.py index aadc8dbe0..3b9c7205f 100644 --- a/dmff/generators/classical.py +++ b/dmff/generators/classical.py @@ -641,11 +641,47 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): nbmatcher = TypeMatcher(self.fftree, "NonbondedForce/Atom") - # Load Lennard-Jones parameters + rdmol = args.get("rdmol", None) + + if self.useVsite: + vsitematcher = TypeMatcher(self.fftree, "NonbondedForce/VirtualSite") + vsite_matches_dict = vsitematcher.matchSmirksNoSort(rdmol) + vsiteObj = VirtualSite(vsite_matches_dict) + + def addVsiteFunc(pos, params): + func = vsiteObj.getAddVirtualSiteFunc() + newpos = func(pos, params[self.name]['vsite_types'], params[self.name]['vsite_distances']) + return newpos + + self._addVsiteFunc = addVsiteFunc + rdmol = vsiteObj.addVirtualSiteToMol(rdmol) + self.vsiteObj = vsiteObj + + # expand covalent map + ori_dim = self.covalent_map.shape[0] + new_dim = ori_dim + len(vsite_matches_dict) + cov_map = np.zeros((new_dim, new_dim), dtype=int) + cov_map[:ori_dim, :ori_dim] += np.array(self.covalent_map, dtype=int) + + map_to_parents = np.arange(new_dim) + for i, match in enumerate(vsite_matches_dict.keys()): + map_to_parents[ori_dim + i] = match[0] + for i in range(len(vsite_matches_dict)): + parent_i = map_to_parents[ori_dim + i] + for j in range(new_dim): + parent_j = map_to_parents[j] + cov_map[ori_dim + i, j] = cov_map[parent_i, parent_j] + cov_map[j, ori_dim + i] = cov_map[parent_j, parent_i] + # keep diagonal 0 + cov_map[ori_dim + i, ori_dim + i] = 0 + # keep vsite and its parent atom 1 + cov_map[parent_i, ori_dim + i] = 1 + cov_map[ori_dim + i, parent_i] = 1 + self.covalent_map = jnp.array(cov_map) + # Load Lennard-Jones parameters maps = {} - if not nbmatcher.useSmirks: for prm in self.from_force: maps[prm] = [] @@ -659,18 +695,18 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): maps[prm].append(nnode) maps[prm] = jnp.array(maps[prm], dtype=int) else: - matches_dict = nbmatcher.matchSmirks(rdmol) + lj_matches_dict = nbmatcher.matchSmirks(rdmol) for prm in self.from_force: maps[prm] = [] for i in range(rdmol.GetNumAtoms()): try: - maps[prm].append(matches_dict[(i,)]) + maps[prm].append(lj_matches_dict[(i,)]) except KeyError as e: raise DMFFException( f"No parameter for atom {i}" ) maps[prm] = jnp.array(maps[prm], dtype=int) - + for prm in self.from_residue: maps[prm] = [] for atom in data.atoms: @@ -681,48 +717,16 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): # Virtual Site if self.useVsite: - vsitematcher = TypeMatcher(self.fftree, "NonbondedForce/VirtualSite") - matches_dict = vsitematcher.matchSmirksNoSort(rdmol) - vsiteObj = VirtualSite(matches_dict) - - def addVsiteFunc(pos, params): - func = vsiteObj.getAddVirtualSiteFunc() - newpos = func(pos, params[self.name]['vsite_types'], params[self.name]['vsite_distances']) - return newpos - - self._addVsiteFunc = addVsiteFunc - rdmol = vsiteObj.addVirtualSiteToMol(rdmol) - self.vsiteObj = vsiteObj - - # expand covalent map - ori_dim = self.covalent_map.shape[0] - new_dim = ori_dim + len(matches_dict) - cov_map = np.zeros((new_dim, new_dim), dtype=int) - cov_map[:ori_dim, :ori_dim] += np.array(self.covalent_map, dtype=int) - - map_to_parents = np.arange(new_dim) - for i, match in enumerate(matches_dict.keys()): - map_to_parents[ori_dim + i] = match[0] - for i in range(len(matches_dict)): - parent_i = map_to_parents[ori_dim + i] - for j in range(new_dim): - parent_j = map_to_parents[j] - cov_map[ori_dim + i, j] = cov_map[parent_i, parent_j] - cov_map[j, ori_dim + i] = cov_map[parent_j, parent_i] - # keep diagonal 0 - cov_map[ori_dim + i, ori_dim + i] = 0 - self.covalent_map = jnp.array(cov_map) - # expand charges chg = jnp.zeros( - (len(self.paramtree[self.name]['charge']) + len(matches_dict),), + (len(self.paramtree[self.name]['charge']) + len(vsite_matches_dict),), dtype=self.paramtree[self.name]['charge'].dtype ) self.paramtree[self.name]['charge'] = chg.at[:len(self.paramtree[self.name]['charge'])].set( self.paramtree[self.name]['charge'] ) maps_chg = [int(x) for x in maps['charge']] - for i in range(len(matches_dict)): + for i in range(len(vsite_matches_dict)): maps_chg.append(len(maps['charge']) + i) maps['charge'] = jnp.array(maps_chg, dtype=int) @@ -731,19 +735,19 @@ def addVsiteFunc(pos, params): bccmatcher = TypeMatcher(self.fftree, "NonbondedForce/BondChargeCorrection") if bccmatcher.useSmirks: - matches_dict = bccmatcher.matchSmirksNoSort(rdmol) + bcc_matches_dict = bccmatcher.matchSmirksNoSort(rdmol) self.top_mat = np.zeros((rdmol.GetNumAtoms(), self.paramtree[self.name]['bcc'].shape[0])) for bond in rdmol.GetBonds(): beginAtomIdx = bond.GetBeginAtomIdx() endAtomIdx = bond.GetEndAtomIdx() query1, query2 = (beginAtomIdx, endAtomIdx), (endAtomIdx, beginAtomIdx) - if query1 in matches_dict: - nnode = matches_dict[query1] + if query1 in bcc_matches_dict: + nnode = bcc_matches_dict[query1] self.top_mat[query1[0], nnode] += 1 self.top_mat[query1[1], nnode] -= 1 - elif query2 in matches_dict: - nnode = matches_dict[query2] + elif query2 in bcc_matches_dict: + nnode = bcc_matches_dict[query2] self.top_mat[query2[0], nnode] += 1 self.top_mat[query2[1], nnode] -= 1 else: @@ -983,7 +987,12 @@ def getVsiteObj(self): return self.vsiteObj else: return None - + + def getTopologyMatrix(self): + """ + Get topology Matrix + """ + return self.top_mat dmff.api.jaxGenerators["NonbondedForce"] = NonbondedJaxGenerator From eee160467e4dbb4bdbaee759b2a174f818197d96 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 19:53:30 -0800 Subject: [PATCH 06/18] add tests for building top --- tests/test_api.py | 62 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/tests/test_api.py b/tests/test_api.py index 31786910d..d256881fc 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1,11 +1,16 @@ +import subprocess +from pathlib import Path import openmm.app as app import openmm.unit as unit -import numpy as np -import jax.numpy as jnp import numpy.testing as npt import pytest +from rdkit import Chem +from rdkit.Chem import AllChem +from biopandas.pdb import PandasPdb + from dmff import Hamiltonian + class TestADMPAPI: """ Test ADMP related generators @@ -158,3 +163,56 @@ def test_parse_multiple_files(self): h = Hamiltonian("tests/data/methane.xml", "tests/data/tip3p.xml") potentials = h.createPotential(pdb.topology) + +def check_same_topology(top1: app.Topology, top2: app.Topology): + assert top1.getNumChains() == top2.getNumChains(), "Number of chains are not the same" + assert top1.getNumResidues() == top2.getNumResidues(), "Number of residues are not the same" + assert top1.getNumAtoms() == top2.getNumAtoms(), "Number of atoms are not the same" + assert top1.getNumBonds() == top2.getNumBonds(), "Number of bonds are not the same" + + atoms1, atoms2 = [at for at in top1.atoms()], [at for at in top2.atoms()] + for i in range(top1.getNumAtoms()): + assert atoms1[i].element == atoms2[i].element, f"Atom {i} are not the same" + + bonds1 = { + (int(bond.atom1.id) - 1, int(bond.atom2.id) - 1): True \ + for bond in top1.bonds() + } + bonds2 = { + (int(bond.atom1.id) - 1, int(bond.atom2.id) - 1): True \ + for bond in top2.bonds() + } + for key in bonds1.keys(): + if (key not in bonds2) and ((key[1], key[0]) not in bonds2): + raise KeyError(f"Bond (key) not match") + + +def fix_pdb(path): + pdb = PandasPdb() + pdb.read_pdb(path) + atCount = {} + for i in range(pdb.df['HETATM'].shape[0]): + atName = pdb.df['HETATM'].loc[i, 'atom_name'] + atCount.update({atName: atCount.get(atName, 0) + 1}) + pdb.df['HETATM'].loc[i, 'atom_name'] = f"{atName}{atCount.get(atName)}" + pdb.to_pdb(path) + + +@pytest.mark.parametrize( + "smi", + ["CC", "CO", "C=C", "CC#N", "C1=CC=CC=C1"] +) +def test_build_top_from_rdkit(smi, tmpdir): + mol = Chem.AddHs(Chem.MolFromSmiles(smi)) + AllChem.EmbedMolecule(mol) + AllChem.MMFFOptimizeMolecule(mol) + key = Chem.MolToInchiKey(mol) + wdir = Path(tmpdir).resolve() + molfile = str(wdir / f"{key}.mol") + pdbfile = str(wdir / f"{key}.pdb") + Chem.MolToMolFile(mol, str(wdir / f"{key}.mol")) + subprocess.run(["obabel", molfile, "-O", pdbfile], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + fix_pdb(pdbfile) + ref_top = app.PDBFile(pdbfile).getTopology() + test_top = Hamiltonian.buildTopologyFromMol(mol) + check_same_topology(ref_top, test_top) From 0d148e0ad5a16b2dc1e028e07886cde273bebfaa Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 19:54:20 -0800 Subject: [PATCH 07/18] add tests for smirks/bcc/vsite --- tests/data/chloropyridine.mol | 27 +++++++ tests/data/chloropyridine.xml | 55 ++++++++++++++ tests/data/chloropyridine_vsite.mol | 31 ++++++++ tests/data/chloropyridine_vsite.xml | 62 ++++++++++++++++ tests/data/ethane.mol | 20 +++++ tests/data/ethane.pdb | 20 +++++ tests/data/ethane.xml | 76 +++++++++++++++++++ tests/data/ethane_smirks.xml | 51 +++++++++++++ tests/data/formaldehyde.mol | 12 +++ tests/data/formaldehyde.pdb | 12 +++ tests/data/formaldehyde.xml | 39 ++++++++++ tests/data/formaldehyde_smirks.xml | 37 ++++++++++ tests/data/methane.mol | 14 ++++ tests/data/methane.pdb | 14 ++++ tests/data/methane.xml | 2 +- tests/data/methane_smirks.xml | 34 +++++++++ tests/test_classical/test_smirks.py | 109 ++++++++++++++++++++++++++++ 17 files changed, 614 insertions(+), 1 deletion(-) create mode 100644 tests/data/chloropyridine.mol create mode 100644 tests/data/chloropyridine.xml create mode 100644 tests/data/chloropyridine_vsite.mol create mode 100644 tests/data/chloropyridine_vsite.xml create mode 100644 tests/data/ethane.mol create mode 100644 tests/data/ethane.pdb create mode 100644 tests/data/ethane.xml create mode 100644 tests/data/ethane_smirks.xml create mode 100644 tests/data/formaldehyde.mol create mode 100644 tests/data/formaldehyde.pdb create mode 100644 tests/data/formaldehyde.xml create mode 100644 tests/data/formaldehyde_smirks.xml create mode 100644 tests/data/methane.mol create mode 100644 tests/data/methane.pdb create mode 100644 tests/data/methane_smirks.xml create mode 100644 tests/test_classical/test_smirks.py diff --git a/tests/data/chloropyridine.mol b/tests/data/chloropyridine.mol new file mode 100644 index 000000000..4d0b10a78 --- /dev/null +++ b/tests/data/chloropyridine.mol @@ -0,0 +1,27 @@ + + RDKit 3D + + 11 11 0 0 0 0 0 0 0 0999 V2000 + 2.8623 -1.1338 -0.4470 Cl 0 0 0 0 0 0 0 0 0 0 0 0 + 1.2590 -0.5725 -0.2105 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0072 0.7619 0.0614 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.3166 1.1502 0.2425 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.3245 0.1954 0.1448 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.9657 -1.1156 -0.1315 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3081 -1.5238 -0.3122 N 0 0 0 0 0 0 0 0 0 0 0 0 + 1.8148 1.4810 0.1311 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5605 2.1868 0.4577 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.3663 0.4655 0.2806 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.7178 -1.8952 -0.2170 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 2 3 2 0 + 3 4 1 0 + 4 5 2 0 + 5 6 1 0 + 6 7 2 0 + 7 2 1 0 + 3 8 1 0 + 4 9 1 0 + 5 10 1 0 + 6 11 1 0 +M END diff --git a/tests/data/chloropyridine.xml b/tests/data/chloropyridine.xml new file mode 100644 index 000000000..4d371888b --- /dev/null +++ b/tests/data/chloropyridine.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/chloropyridine_vsite.mol b/tests/data/chloropyridine_vsite.mol new file mode 100644 index 000000000..02699f734 --- /dev/null +++ b/tests/data/chloropyridine_vsite.mol @@ -0,0 +1,31 @@ + + RDKit 3D + + 13 13 0 0 0 0 0 0 0 0999 V2000 + 2.8623 -1.1338 -0.4470 Cl 0 0 0 0 0 0 0 0 0 0 0 0 + 1.2590 -0.5725 -0.2105 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0072 0.7619 0.0614 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.3166 1.1502 0.2425 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.3245 0.1954 0.1448 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.9657 -1.1156 -0.1315 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3081 -1.5238 -0.3122 N 0 0 0 0 0 0 0 0 0 0 0 0 + 1.8148 1.4810 0.1311 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5605 2.1868 0.4577 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.3663 0.4655 0.2806 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.7178 -1.8952 -0.2170 H 0 0 0 0 0 0 0 0 0 0 0 0 + 4.3580 -1.6574 -0.6676 R 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3985 -1.9053 -0.3914 R 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 2 3 2 0 + 3 4 1 0 + 4 5 2 0 + 5 6 1 0 + 6 7 2 0 + 7 2 1 0 + 3 8 1 0 + 4 9 1 0 + 5 10 1 0 + 6 11 1 0 + 12 1 0 0 + 13 7 0 0 +M END diff --git a/tests/data/chloropyridine_vsite.xml b/tests/data/chloropyridine_vsite.xml new file mode 100644 index 000000000..d1bb92169 --- /dev/null +++ b/tests/data/chloropyridine_vsite.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/ethane.mol b/tests/data/ethane.mol new file mode 100644 index 000000000..b48261356 --- /dev/null +++ b/tests/data/ethane.mol @@ -0,0 +1,20 @@ + + RDKit 3D + + 8 7 0 0 0 0 0 0 0 0999 V2000 + -0.7558 0.0071 -0.0160 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.7558 -0.0071 0.0160 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.1627 -0.1018 0.9937 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.1225 0.9487 -0.4356 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.1350 -0.8147 -0.6307 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.1350 0.8148 0.6307 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.1627 0.1018 -0.9937 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1.1226 -0.9487 0.4356 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 1 3 1 0 + 1 4 1 0 + 1 5 1 0 + 2 6 1 0 + 2 7 1 0 + 2 8 1 0 +M END diff --git a/tests/data/ethane.pdb b/tests/data/ethane.pdb new file mode 100644 index 000000000..e5370346a --- /dev/null +++ b/tests/data/ethane.pdb @@ -0,0 +1,20 @@ +COMPND UNNAMED +AUTHOR GENERATED BY OPEN BABEL 3.1.0 +HETATM 1 C1 MOL 1 -0.756 0.007 -0.016 1.00 0.00 C +HETATM 2 C2 MOL 1 0.756 -0.007 0.016 1.00 0.00 C +HETATM 3 H1 MOL 1 -1.163 -0.102 0.994 1.00 0.00 H +HETATM 4 H2 MOL 1 -1.123 0.949 -0.436 1.00 0.00 H +HETATM 5 H3 MOL 1 -1.135 -0.815 -0.631 1.00 0.00 H +HETATM 6 H4 MOL 1 1.135 0.815 0.631 1.00 0.00 H +HETATM 7 H5 MOL 1 1.163 0.102 -0.994 1.00 0.00 H +HETATM 8 H6 MOL 1 1.123 -0.949 0.436 1.00 0.00 H +CONECT 1 2 3 4 5 +CONECT 2 1 6 7 8 +CONECT 3 1 +CONECT 4 1 +CONECT 5 1 +CONECT 6 2 +CONECT 7 2 +CONECT 8 2 +MASTER 0 0 0 0 0 0 0 0 8 0 8 0 +END diff --git a/tests/data/ethane.xml b/tests/data/ethane.xml new file mode 100644 index 000000000..4b7f9ea65 --- /dev/null +++ b/tests/data/ethane.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/ethane_smirks.xml b/tests/data/ethane_smirks.xml new file mode 100644 index 000000000..d70c36316 --- /dev/null +++ b/tests/data/ethane_smirks.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/formaldehyde.mol b/tests/data/formaldehyde.mol new file mode 100644 index 000000000..892aa5d11 --- /dev/null +++ b/tests/data/formaldehyde.mol @@ -0,0 +1,12 @@ + + RDKit 3D + + 4 3 0 0 0 0 0 0 0 0999 V2000 + 1.2097 -0.0770 0.0173 O 0 0 0 0 0 0 0 0 0 0 0 0 + -0.0123 0.0008 -0.1002 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.6579 -0.8919 -0.0108 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5395 0.9681 -0.0064 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 2 0 + 2 3 1 0 + 2 4 1 0 +M END diff --git a/tests/data/formaldehyde.pdb b/tests/data/formaldehyde.pdb new file mode 100644 index 000000000..7a2972478 --- /dev/null +++ b/tests/data/formaldehyde.pdb @@ -0,0 +1,12 @@ +COMPND UNNAMED +AUTHOR GENERATED BY OPEN BABEL 3.1.0 +HETATM 1 O1 MOL 1 1.210 -0.077 0.017 1.00 0.00 O +HETATM 2 C1 MOL 1 -0.012 0.001 -0.100 1.00 0.00 C +HETATM 3 H1 MOL 1 -0.658 -0.892 -0.011 1.00 0.00 H +HETATM 4 H2 MOL 1 -0.539 0.968 -0.006 1.00 0.00 H +CONECT 1 2 2 +CONECT 2 1 1 3 4 +CONECT 3 2 +CONECT 4 2 +MASTER 0 0 0 0 0 0 0 0 4 0 4 0 +END diff --git a/tests/data/formaldehyde.xml b/tests/data/formaldehyde.xml new file mode 100644 index 000000000..87c349b49 --- /dev/null +++ b/tests/data/formaldehyde.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/formaldehyde_smirks.xml b/tests/data/formaldehyde_smirks.xml new file mode 100644 index 000000000..6554415cd --- /dev/null +++ b/tests/data/formaldehyde_smirks.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/methane.mol b/tests/data/methane.mol new file mode 100644 index 000000000..f96dbc4dc --- /dev/null +++ b/tests/data/methane.mol @@ -0,0 +1,14 @@ + + RDKit 3D + + 5 4 0 0 0 0 0 0 0 0999 V2000 + 0.0000 -0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.6757 0.8538 -0.0852 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.3946 -0.8360 -0.5816 H 0 0 0 0 0 0 0 0 0 0 0 0 + 0.0850 -0.2938 1.0485 H 0 0 0 0 0 0 0 0 0 0 0 0 + 0.9854 0.2760 -0.3817 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 1 3 1 0 + 1 4 1 0 + 1 5 1 0 +M END diff --git a/tests/data/methane.pdb b/tests/data/methane.pdb new file mode 100644 index 000000000..3b4545565 --- /dev/null +++ b/tests/data/methane.pdb @@ -0,0 +1,14 @@ +COMPND UNNAMED +AUTHOR GENERATED BY OPEN BABEL 3.1.0 +HETATM 1 C1 UNL 1 0.000 0.000 0.000 1.00 0.00 C +HETATM 2 H1 UNL 1 -0.676 0.854 -0.085 1.00 0.00 H +HETATM 3 H2 UNL 1 -0.395 -0.836 -0.582 1.00 0.00 H +HETATM 4 H3 UNL 1 0.085 -0.294 1.048 1.00 0.00 H +HETATM 5 H4 UNL 1 0.985 0.276 -0.382 1.00 0.00 H +CONECT 1 2 3 4 5 +CONECT 2 1 +CONECT 3 1 +CONECT 4 1 +CONECT 5 1 +MASTER 0 0 0 0 0 0 0 0 5 0 5 0 +END diff --git a/tests/data/methane.xml b/tests/data/methane.xml index 4bb3fea3c..099d393ad 100644 --- a/tests/data/methane.xml +++ b/tests/data/methane.xml @@ -1,6 +1,6 @@ - + diff --git a/tests/data/methane_smirks.xml b/tests/data/methane_smirks.xml new file mode 100644 index 000000000..10c8df95f --- /dev/null +++ b/tests/data/methane_smirks.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical/test_smirks.py b/tests/test_classical/test_smirks.py new file mode 100644 index 000000000..3f200b71a --- /dev/null +++ b/tests/test_classical/test_smirks.py @@ -0,0 +1,109 @@ +import pytest + +import numpy as np +import jax +import jax.numpy as jnp +from rdkit import Chem +import openmm.app as app + +from dmff import Hamiltonian, NeighborList + + +@pytest.mark.parametrize( + "name", + ["methane", "ethane", "formaldehyde"] +) +def test_smirks(name: str): + pdb = app.PDBFile(f"tests/data/{name}.pdb") + h_typing = Hamiltonian(f"tests/data/{name}.xml") + pot_typing = h_typing.createPotential(pdb.topology) + cov_map = h_typing.getCovalentMap() + + pos = jnp.array(pdb.getPositions(asNumpy=True)) + box = jnp.eye(3, dtype=jnp.float32) + nblist = NeighborList(box, 1.0, cov_map) + nblist.allocate(pos) + pairs = nblist.pairs + + ref_data = {} + for key, pot in pot_typing.dmff_potentials.items(): + ref_data[key] = pot(pos, box, pairs, h_typing.paramtree) + + rdmol = Chem.MolFromMolFile(f"tests/data/{name}.mol", removeHs=False) + h_smirks = Hamiltonian(f"tests/data/{name}_smirks.xml", noOmmSys=True) + top = h_smirks.buildTopologyFromMol(rdmol) + pot_smirks = h_smirks.createPotential(top, rdmol=rdmol) + + # print(ref_data) + + for key in ref_data.keys(): + value_smirks = pot_smirks.dmff_potentials[key](pos, box, pairs, h_smirks.paramtree) + assert jnp.allclose(value_smirks, ref_data[key], atol=1e-6), f"{key} does not match" + + +@pytest.mark.parametrize( + "name", + ["chloropyridine"] +) +def test_vsite(name: str): + rdmol = Chem.MolFromMolFile(f"tests/data/{name}.mol", removeHs=False) + h_smirks = Hamiltonian(f"tests/data/{name}_vsite.xml", noOmmSys=True) + top = h_smirks.buildTopologyFromMol(rdmol) + pot_vsite = h_smirks.createPotential(top, rdmol=rdmol) + newmol = h_smirks.addVirtualSiteToMol(rdmol, h_smirks.paramtree) + # Chem.MolToMolFile(newmol, f"tests/data/{name}_vsite.mol") + rdmol_vsite = Chem.MolFromMolFile(f"tests/data/{name}_vsite.mol", removeHs=False) + + pos_vsite = jnp.array(newmol.GetConformer().GetPositions()) / 10 + box = jnp.eye(3, dtype=jnp.float32) + nblist = NeighborList(box, 1.0, h_smirks.getCovalentMap()) + nblist.allocate(pos_vsite) + pairs_vsite = nblist.pairs + + nbfunc_vsite = jax.value_and_grad(pot_vsite.dmff_potentials['NonbondedForce'], argnums=-1, allow_int=True) + nbene_vsite, nbene_grad_vsite = nbfunc_vsite(pos_vsite, box, pairs_vsite, h_smirks.paramtree) + nbene_dbcc = jnp.dot( + h_smirks.getTopologyMatrix().T, + nbene_grad_vsite['NonbondedForce']['charge'].reshape(-1, 1) + ) + # test grad bcc + assert jnp.allclose(nbene_dbcc, nbene_grad_vsite['NonbondedForce']['bcc']) + + # test vsite coordinates + assert np.allclose( + newmol.GetConformer().GetPositions(), + rdmol_vsite.GetConformer().GetPositions(), + atol=1e-4 + ) + + h_typing = Hamiltonian(f"tests/data/{name}.xml", removeHs=False) + pot_typing = h_typing.createPotential(top) + pos = jnp.array(rdmol.GetConformer().GetPositions()) / 10 + box = jnp.eye(3, dtype=jnp.float32) + nblist = NeighborList(box, 1.0, h_typing.getCovalentMap()) + nblist.allocate(pos) + pairs = nblist.pairs + nbfunc = jax.value_and_grad(pot_typing.dmff_potentials['NonbondedForce'], argnums=-1, allow_int=True) + nbene, nbene_grad = nbfunc(pos, box, pairs, h_typing.paramtree) + # test energies + assert np.allclose(nbene, nbene_vsite, atol=1e-6) + + +@pytest.mark.parametrize( + "name", + ["ethane"] +) +def test_bcc(name: str): + rdmol = Chem.MolFromMolFile(f"tests/data/{name}.mol", removeHs=False) + h_smirks = Hamiltonian(f"tests/data/{name}_smirks.xml", noOmmSys=True) + top = h_smirks.buildTopologyFromMol(rdmol) + h_smirks.createPotential(top, rdmol=rdmol) + bccchg = jnp.dot(h_smirks.getTopologyMatrix(), h_smirks.paramtree['NonbondedForce']['bcc']).flatten() + prechg = h_smirks.paramtree['NonbondedForce']['charge'] + + h_typing = Hamiltonian(f"tests/data/{name}.xml") + h_typing.createPotential(top) + refchg = h_typing.paramtree['NonbondedForce']['charge'] + + assert jnp.allclose(bccchg+prechg, refchg, atol=1e-6) + From 4ab27f530885a5ce4c34866bc0370a11b81a5133 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Sun, 20 Nov 2022 19:55:31 -0800 Subject: [PATCH 08/18] add dockerfile for dev env --- package/docker/develop_cpu.dockerfile | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 package/docker/develop_cpu.dockerfile diff --git a/package/docker/develop_cpu.dockerfile b/package/docker/develop_cpu.dockerfile new file mode 100644 index 000000000..ccd60f6cc --- /dev/null +++ b/package/docker/develop_cpu.dockerfile @@ -0,0 +1,27 @@ +FROM ubuntu:20.04 +SHELL ["/bin/bash", "-c"] +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install wget -y && apt-get clean all + +RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \ + bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda && \ + /opt/miniconda/bin/conda init bash && \ + rm -rf Miniconda3-latest-Linux-x86_64.sh && \ + rm -rf /var/lib/apt/lists/* + +ENV PATH=/opt/miniconda/bin:$PATH + +RUN conda create -n dmff python=3.8 openmm=7.7.0 rdkit freud pytest openbabel biopandas mdtraj==1.9.7 -c conda-forge -y && \ + conda init && \ + source activate dmff && \ + pip install pymbar==4.0.1 && \ + pip install jaxlib[cpu]==0.3.15 && \ + pip install jax==0.3.15 && \ + pip install jax-md==0.2.0 && \ + pip install tqdm && \ + conda remove cudatoolkit --force -y && \ + conda clean --all -y && \ + rm -rf /root/.cache/pip && \ + echo "source activate dmff" >> ~/.bashrc + +SHELL ["/bin/bash", "-c"] \ No newline at end of file From 96df0e6286e9612e70759353bf736fd142f586b7 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Mon, 21 Nov 2022 17:54:10 -0800 Subject: [PATCH 09/18] add examples of smirks --- examples/smirks/C3H7NO.mol | 28 ++++ examples/smirks/C3H7NO.xml | 83 ++++++++++ examples/smirks/clpy.mol | 27 ++++ examples/smirks/clpy_vsite.mol | 31 ++++ examples/smirks/clpy_vsite.xml | 84 ++++++++++ examples/smirks/demo.ipynb | 276 +++++++++++++++++++++++++++++++++ 6 files changed, 529 insertions(+) create mode 100644 examples/smirks/C3H7NO.mol create mode 100644 examples/smirks/C3H7NO.xml create mode 100644 examples/smirks/clpy.mol create mode 100644 examples/smirks/clpy_vsite.mol create mode 100644 examples/smirks/clpy_vsite.xml create mode 100644 examples/smirks/demo.ipynb diff --git a/examples/smirks/C3H7NO.mol b/examples/smirks/C3H7NO.mol new file mode 100644 index 000000000..ba04b279b --- /dev/null +++ b/examples/smirks/C3H7NO.mol @@ -0,0 +1,28 @@ + + RDKit 3D + + 12 11 0 0 0 0 0 0 0 0999 V2000 + -1.8857 -0.0588 0.0187 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.4726 -0.4185 -0.3545 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.2138 -1.3729 -1.0799 O 0 0 0 0 0 0 0 0 0 0 0 0 + 0.4819 0.4035 0.2006 N 0 0 0 0 0 0 0 0 0 0 0 0 + 1.8857 0.1345 0.0172 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.9470 0.9478 0.4417 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.5115 -0.0907 -0.8776 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.2561 -0.7782 0.7535 H 0 0 0 0 0 0 0 0 0 0 0 0 + 0.2092 1.0317 0.9448 H 0 0 0 0 0 0 0 0 0 0 0 0 + 2.4473 1.0406 0.2554 H 0 0 0 0 0 0 0 0 0 0 0 0 + 2.0840 -0.1673 -1.0148 H 0 0 0 0 0 0 0 0 0 0 0 0 + 2.1785 -0.6717 0.6950 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 2 3 2 0 + 2 4 1 0 + 4 5 1 0 + 1 6 1 0 + 1 7 1 0 + 1 8 1 0 + 4 9 1 0 + 5 10 1 0 + 5 11 1 0 + 5 12 1 0 +M END diff --git a/examples/smirks/C3H7NO.xml b/examples/smirks/C3H7NO.xml new file mode 100644 index 000000000..942af040e --- /dev/null +++ b/examples/smirks/C3H7NO.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/smirks/clpy.mol b/examples/smirks/clpy.mol new file mode 100644 index 000000000..4d0b10a78 --- /dev/null +++ b/examples/smirks/clpy.mol @@ -0,0 +1,27 @@ + + RDKit 3D + + 11 11 0 0 0 0 0 0 0 0999 V2000 + 2.8623 -1.1338 -0.4470 Cl 0 0 0 0 0 0 0 0 0 0 0 0 + 1.2590 -0.5725 -0.2105 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0072 0.7619 0.0614 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.3166 1.1502 0.2425 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.3245 0.1954 0.1448 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.9657 -1.1156 -0.1315 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3081 -1.5238 -0.3122 N 0 0 0 0 0 0 0 0 0 0 0 0 + 1.8148 1.4810 0.1311 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5605 2.1868 0.4577 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.3663 0.4655 0.2806 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.7178 -1.8952 -0.2170 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 2 3 2 0 + 3 4 1 0 + 4 5 2 0 + 5 6 1 0 + 6 7 2 0 + 7 2 1 0 + 3 8 1 0 + 4 9 1 0 + 5 10 1 0 + 6 11 1 0 +M END diff --git a/examples/smirks/clpy_vsite.mol b/examples/smirks/clpy_vsite.mol new file mode 100644 index 000000000..02699f734 --- /dev/null +++ b/examples/smirks/clpy_vsite.mol @@ -0,0 +1,31 @@ + + RDKit 3D + + 13 13 0 0 0 0 0 0 0 0999 V2000 + 2.8623 -1.1338 -0.4470 Cl 0 0 0 0 0 0 0 0 0 0 0 0 + 1.2590 -0.5725 -0.2105 C 0 0 0 0 0 0 0 0 0 0 0 0 + 1.0072 0.7619 0.0614 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.3166 1.1502 0.2425 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.3245 0.1954 0.1448 C 0 0 0 0 0 0 0 0 0 0 0 0 + -0.9657 -1.1156 -0.1315 C 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3081 -1.5238 -0.3122 N 0 0 0 0 0 0 0 0 0 0 0 0 + 1.8148 1.4810 0.1311 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.5605 2.1868 0.4577 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.3663 0.4655 0.2806 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.7178 -1.8952 -0.2170 H 0 0 0 0 0 0 0 0 0 0 0 0 + 4.3580 -1.6574 -0.6676 R 0 0 0 0 0 0 0 0 0 0 0 0 + 0.3985 -1.9053 -0.3914 R 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 + 2 3 2 0 + 3 4 1 0 + 4 5 2 0 + 5 6 1 0 + 6 7 2 0 + 7 2 1 0 + 3 8 1 0 + 4 9 1 0 + 5 10 1 0 + 6 11 1 0 + 12 1 0 0 + 13 7 0 0 +M END diff --git a/examples/smirks/clpy_vsite.xml b/examples/smirks/clpy_vsite.xml new file mode 100644 index 000000000..6d9d89299 --- /dev/null +++ b/examples/smirks/clpy_vsite.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/smirks/demo.ipynb b/examples/smirks/demo.ipynb new file mode 100644 index 000000000..e7e98caeb --- /dev/null +++ b/examples/smirks/demo.ipynb @@ -0,0 +1,276 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Parametrize Molecules with SMIRKS-based Force Field" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Basic Usage" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SMIRKS is an extension of SMARTS language that enables users to define chemical substructures with certain patterns as well as to numerically tag the matching atoms. This allowed force field developers to introduce new parameters more easily by avoiding starting from defining new atom types. DMFF can deal with SMIRKS-based force field in XML format to create differentiable potential functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The usage of SMIRKS-based force field is generally the same as conventional force field based on atom-typing scheme, with the only difference such that we need an extra `rdkit.Chem.Mol` as input because the matching of SMIRKS pattern is powered by rdkit." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As an example, we will first load a N-methylacetamide molecule defined in a mol file." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import jax.numpy as jnp\n", + "from rdkit import Chem\n", + "from dmff import Hamiltonian, NeighborList\n", + "\n", + "mol = Chem.MolFromMolFile(\"C3H7NO.mol\", removeHs=False) # hydrogens must be preserved" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then load force field parameters in xml format. Instuctions about how to write a SMIRKS-based force field XML file can be found in the Chapter 4 of the user's guide." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "h_smk = Hamiltonian(\"C3H7NO.xml\", noOmmSys=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the argument noOmmSys is set to False so that DMFF will not create an openmm system, as openmm does not support SMIRKS-based force field definitions.\n", + "\n", + "Finally, we build an openmm topology and parametrize the molecule to create differentiable potential energy functions:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "top = h_smk.buildTopologyFromMol(mol)\n", + "potObj = h_smk.createPotential(top, rdmol=mol)\n", + "func = potObj.getPotentialFunc()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So far, we can utilize this dmff.Potential object to calculate energy and forces as we did in the previous sections." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pos = jnp.array(mol.GetConformer().GetPositions()) / 10 # angstrom -> nm\n", + "box = jnp.eye(3, dtype=jnp.float32)\n", + "nblist = NeighborList(box, 1.0, h_smk.getCovalentMap())\n", + "nblist.allocate(pos)\n", + "pairs = nblist.pairs\n", + "energy = func(pos, box, pairs, h_smk.getParameters())\n", + "print(energy)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bond Charge Correction and Virtual Sites\n", + "\n", + "This section mainly introduces how to use BCC and virtual sites in DMFF." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, import required libraries:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import jax\n", + "import jax.numpy as jnp\n", + "from rdkit import Chem\n", + "from dmff import Hamiltonian, NeighborList" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Load the molecule and SMIRKS-based force field file" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "mol = Chem.MolFromMolFile(\"clpy.mol\", removeHs=False)\n", + "h_vsite = Hamiltonian(\"clpy_vsite.xml\", noOmmSys=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "BCC and virtual site parameters are parsed into `h_vsite.getParameters()['NonbondedForce']`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "params = h_vsite.getParameters()\n", + "print(params['NonbondedForce'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Build OpenMM topology and create DMFF potential" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "top = h_vsite.buildTopologyFromMol(mol)\n", + "potObj = h_vsite.createPotential(top, rdmol=mol)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Add virtual site to RDKit Mol object" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "mol_vsite = h_vsite.addVirtualSiteToMol(mol, h_vsite.getParameters())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calculate energy, forces and parametric gradients" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pos_vsite = jnp.array(mol_vsite.GetConformer().GetPositions()) / 10 # angstrom -> nm\n", + "box = jnp.eye(3, dtype=jnp.float32)\n", + "nblist = NeighborList(box, 1.0, h_vsite.getCovalentMap())\n", + "nblist.allocate(pos_vsite)\n", + "pairs_vsite = nblist.pairs\n", + "\n", + "nbfunc_vsite = jax.value_and_grad(\n", + " potObj.dmff_potentials['NonbondedForce'], \n", + " argnums=-1, \n", + " allow_int=True # set to True since the type of virtual sites are speicified as integars\n", + ")\n", + "nbene_vsite, nbene_grad_vsite = nbfunc_vsite(pos_vsite, box, pairs_vsite, params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Alternatively, we can also add coordinates of virtual sites by taking atomic positions matrix as an input." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pos = jnp.array(mol.GetConformer().GetPositions()) / 10 # convert angstrom to nm\n", + "pos_vsite = h_vsite.addVirtualSiteCoords(pos, h_vsite.getParameters())\n", + "print(pos_vsite.shape)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "dmff", + "language": "python", + "name": "dmff" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + }, + "vscode": { + "interpreter": { + "hash": "44fe82502fda871be637af1aa98d2b3ddaac01204dd30f1519cbec4e95000815" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 3438b8e71d04e639f004f988572d7237e182c9ff Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Mon, 21 Nov 2022 17:54:27 -0800 Subject: [PATCH 10/18] add usage of smirks in doc --- docs/assets/clpy.png | Bin 0 -> 144857 bytes docs/assets/smirks.png | Bin 0 -> 422024 bytes docs/user_guide/installation.md | 4 ++ docs/user_guide/usage.md | 102 +++++++++++++++++++++++++++++++- 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 docs/assets/clpy.png create mode 100644 docs/assets/smirks.png diff --git a/docs/assets/clpy.png b/docs/assets/clpy.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2abebc5e0022d581d6aa85201e66a69bfd89c4 GIT binary patch literal 144857 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 literal 0 HcmV?d00001 diff --git a/docs/assets/smirks.png b/docs/assets/smirks.png new file mode 100644 index 0000000000000000000000000000000000000000..c79969bff08c893ed303e94f1f874e14f0656486 GIT binary patch literal 422024 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ņz`^fxE3yuvHsQRca`HfOMOBOYv}Nj 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

    ol(n?A~Tu2T-B_+}vzrC^NGRujz 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

    7ND8QDJATT|f8@KH97dp_Zfb?K2XQH5x z@z1kyeaEE5k{dJh_+dOrd0_vO;}Gmi-l0fYwV@e)*H=zG*vx~3$%Q{G$o*)2Hkiv$ zTZG%uItMWg%+H6DrC-OANHVz^9!S71{8_*rox5_C%w|L?1(K?@XSw(_P@|bt_99*) zO_h~|?cd?F&~W5z8DwF$G!9c`>+srpQu0CK$98Al4~E2!lx!Vya^~!aZkEIy{@h2A z+XtGSz}58jYkXpcLWD+N22xh zBrZlfBJN?xUxK0pIeUW)0~@n&dTG;4!Mi;_)F6He+!ok82EHw@5|o1Wzi4>CMw9-; z(Ua-6Sp4PEr4044El$x%bU5QNYt=JP6|(pquz#qKQs*h&&ivL>V8(3`PD6D4qJ7t) z9d|q74qp=U;5MtXu*)7D0|34^NM!lPz9>A=-G5%wz{krv74EiFQ^v>=|A2+7^%Ot# z9@5nRtUov1;)84Pk)B7Q>y}o+_wJ1CRq&Ea12nFCey8d#rT){F)AlXX0%k*&)o_wKmtaYLzHh?Xl=A@Ks zHQhro&cG+o65gPOLJ31#S-EM^rL83wR4-Mj)~RZIlap7m&eSer0d%Zi1IHY@TO=7j z{=;)Y-9w~~R+`5e+zhKE0}bdNp9hs+t7b%^-{upf5`n(g;5lU9^p90|Auyb#{`}CJ zXR6WNBhwR{4g*x84raawUa9aP(BIt9yCD*G1B)ew007woQ+Nj;;cND=)P0YXF!^`; zvu!4KjV$!_tMj*@yuzNb_`s&8Q3N*_7&XLofuqfXK@f^|^VbsFAA6bJ)eK?<(2J$y zKK|4f1kbw1626<&Hy2r_NfTl>foU>KDkImor?+S-!)`d)P)(-I_2pzOzdvWyP({AI5@#XT z)Ky})SSoaWX#*pR^yj!{(Kj`Mg z$;JCs`w<9NVe-8LnZeqnekcLa`|;xeZ#v`L)H9W&6_fwk>*}Dr>x_1`*xxyhZ;QmHSv3O#?gJxq~ za^xPgCDq4%YWbZKZ#85v^h3S;d*A=8R<1IC_`k8ADjqQNq`TSU)ys%JWNqnKBOf2s zzei7F@194aA3hk2RcvD6K^~J{{wbJNx6w1ZEXh8s30bbhuxB17kSB!P>+crMm2a~h z#;Q{->zU6?Zlle&1mpa)Q!OG`uO=b!ZF1)3*VQw3sUX(Q#ixFoi^<_b@vF8U`j5Qw z!hz+hA51zF9Z?=_U&d-TP7zAXxxY2!QV)dYzw>v=3puAfdWH_@XMl~0kQ23=q&W3_ zugZbFa7jY^$(+8#SV^vz!15W2X|8Hx$ek>&s<1Rjg5_kB30=8IF zqV|cu@rDwprZBK{wdZ89jXTU%+WYAL-JOLaF#F?PD@Z6TOFAG{ubu!Qfjoq2W z7C&cH90mC~0DJ9!uL`IqUQ^hkrr1D`@6$D7tDiAld|W}d{Z%sIhYjYl=y(Pk)K9CQ z1(I49=>mvFa+`^Ece)$g-c~nOSzE{}(o!$JCLwx!{C9`^x9wzkKIk#l4{lI`?Fbe1 zjnU!#G^tm{6p^Ps{JFZ#mV$Ros)^*K#!X_HGYgO{$Wn?A&kpAk>yp@ek8}kAkQ4oQ zLLjHe(gli^J{;zEG`P z?wQc_jD^dxa)O-=?5$Km)G)!+PxRd_K5q1^;d7#id6)uURE?F*$(lt(&K*oPLCDsm zXD{8Wk_m7~sv46^ChVG^Ktu)bSV5HI$%3bgf%XL?{8C^2obo&Cnq)1Z)|G~6M%MnP0c;p@&ZuKD1yPDK%=rBh52ry zM$nIdX0>iFxwF0q+8AAWB7~^#J$IciExSAmG8R&*@A9Be z#G(0`o4BA?Z>VPUeorjxu4f)?@uwRvO_?jx$|F!#VI&VW0`og8?`t8`nE?3IHsq;K zXjZl*+RoQoYc?Nv9|<`TJY!9xpGN z20vD8u$Vv9H>||9-TAb-hJ^XZuV4DT@c3!S?OBF+t90w7mFryub(WbqFQ?>m+m$M= zG~kF$pL1y=0-0?+8dVP)-B0<7?E-c4x$ueb-*azFoE}f470Doj@mrv^G`Nmlk&>>r zR(YL28bp!a^JFWl)W~9AFVHCc%bv3fR$uP$Qt5ZA__Qp#Z9_@7N9L;RxJk3tlrcwE z0an$dS9;ssQe{w+BxWjOUa+K{Hnl?@iV6tUReESN>%?)V@Kkq0N_Y0Vkrp4&Y$`%V{5X>&R)MdGL|8DfCT1d(%aSIYT2Ee1mf>X7T3) zXZd8#k^&A)4Cr1bfW4nwyjiI_;d#-u8&A^2C7-8@YD}V5q$DMUGw=p{RPQH%N@u5# z%i}UQ+Ky-Msher$Y)DHcZerjLlrr1&@`c<+R*enY?MK4VyL7@7lP&l`HtL3v=w1x# zK@nJZ<@HqFmiAqz?k^2X~~64#)BmZTyoOE@v|AL)1Fn~>~FRv~`A*=ipY zzKnI8>o^+l`}RByQ11lyR#wPsW}_dg2QK_n&-Cy7N&WJ)!~M#UXOUoVuN1czEw{Ai z-3=e1yHw~6w}W@%a5Xg=M4=U_==cYnJ^gz{=fgUXSxWXEbbpj3M6A_25 z?Q(mZu=bmd`;8K(>H`iIPmqkY`-&Og!;5P#;R1=U+dma6wTmB}XF^rDK;7vFL+h5( zUJIk9{5kmhiz^NX`mgK>a8`K^Q)zA9N$jM%1#jMgoSu^QlfyTmS7p5T*)@y@$u7yb zLDkFj0>TJvv!iyxW?;&rX?K5*uXv^Fk!CzB9g?-#QX=j={|qveE65 zX(uo-R^JR{BgbWX$I%#x1IR1>eexE43*AR4@L;$pfuY~)eM#J$+P2)?TAH-kIf`N! zXC)pcdcr->?V!|~z>cT&3&rn3aW&i*yyw*t`t}ki{LqE?M}Ru`rmN0<*reVPvwfgR zkoKNrwCAy9bXCM7|BVqMEh+qWi#yW%J+i)b7 zkE5|0IGCIT4v|g1%eZ9E*0GWDwY^@R4~Y+c?Zu#NZ09X%^KTi|vD+2G|GbQ|!f3I& zcXh5#7W-gXJ;_h>=st%*FNWpe1B5f4WLF`9-XM$Ju(tQMr#pcPzZ^&M;ZmnD&hn8J zH^3YXwJ~2!KckfD<~m$6*nAX0Uqly64wO3_khNsVtz%2C!cMjgd}ofz^+1llDRt|oP+~o zOUq&bk!S^*vy`Pr!AcuU$Co^>D+i@ACS=O>XHyZ*!1*F73I&YjYGGtVl5a(;wc z^(J5d2YQNV&3oRlau}szC@|HXi8F!WdsTIC&hJ-09lds{Y78&*zu_?rgd4F(qGvv) z`uzFj_TG+Cq%Hnv(Ql@~dCe&ZLE8vPp7J>rYjCsumNcTYzckz8>v}ZY*2MJXP?cRd zA3fzm*<|r%8?{tYF@I&lE!r^;#j<+(`7b<8!EfziA`!|F@>hl3rfPf{fR|=fIDv%P z;*G9rb@fhy2f72c#t{D7zHfwKLG(kf>mAA6I&Zw2uCxp%1zA;S2PxNHzxFR`#O=Iw zTJ85s$G##UX$nJKD$x7er6X0GM|E7f4>2v5H4^zpAJX#>l)6}5Aze)qLF@I+1ge&rd^nU1kH+h}cUkzI5ks7}hTQ^W zU*8vSQlf9pLC=f90bvOHPp@}R)}e_{HRMV;eILsb5s`&(R}ESr)mL0*6mpHr8jkvg zU4O%!{KuK$&E!OdQdH}|B$gh6{IZXcP|OSGf~^qz!xdKgt$N(_Is;C6*%wiXww~ff zA7byk?9^ekU+Rv^w{$1F3F5)oZ-2A6)7tgW#!M~reMmk^_ANGhhd3QfQSKwzZ zvXd&8fcv4Fi6x|#Ab$)I)^jUQ0?Y$emwR>{o{|mrzXp*xP-pMgI(&Ih1x)Td z`X0eVDgvZ~`Z1x~<~gi!y=o|p_=ODSf^wUQEOPx7+Sx<~-$1cy#=n1Y_t=xP@={4G zxnVSl-+^05|F>0PD{G;TZ>mzT$93$+GPm!k0YuU0AmLj%4b*=Y5{y33bBk+^Y?#$_YpU}2t+8)&ZOvOD&8(B58D24H%MvTKzJEW#cmROEjq_=veks6lyioE@rcKT60b)I!?e9_aqmFE6ecGcytb2B6VAo7zpIzpGyR?|8{DeSOqar6<6HAb5{u6_A46R76 z1uAc{Y2*UAKge13XZAp?;}h=?{mo^Owu*Pxm^Z8^X#C zYNHnkZ}!&eS_NJa8|BT#z~vM(I%M3|I@z#9OG_b7kw-xA!f?CH88$G z2R%m^&yo^w8{3zf$i4Hg?e_p0waVgrTwEWg`RaH{8t12NM6Q7YhxPZfyvuJZj4aVl z+^1D$q`S*iCarq%-(|@yJ)OgN7Nw{%Ejn+vS<2W*f&_-(_QkdEcUgxR1_Uz$Ry8z! zhvN1seca~Ew;5{2h-S6YDpFdz71(S=NEXw0beFrxpoA~GTFhgFpv#=6$|_{ZJZ*zI zuQO8}la4K7dP6z2{wo{Xk?w53N0L{raof4;5i0QEStIv~Rp)~%RVMq+ucas=y9jbc zY|}>m?ja0Urq4RtQJp7Er*{#>Z~{e-C3v38Ug#cvd)SmB0> zaapu8B+7wrpD(GUJ7SZ4`CW!kdF6*=nz^tNw5FQIKRQyg zskUGAqtG)ciop;$e$*{`biA<8K9N z#-Gce2=1K_+VF?t?hPo~0`9YiF8y8AsFw{~g&$-CM%TFavtCazL;o}mWkK|)fH-I$Tj zR+A2Xe}C}1>bhS5&6*+%OR3Zi`pyWIy6mYAX1hXGG&IC9%mD|ks!!7($|Q0AVS`Xd z9+Z^58!CM4CHn#^L3I1(Wfq@R5_<4NwmQzf_yf~Eg(hJ;($!OU>Ay~g<7o{q3z2%D zVCIa5?*#`N`sOF$PcL)pXzheQg93J6&Zs?5i56hg;SiQ$2_{d&aW&7gbOA<$0S-1lD3z=oK4wA^L9}{0{cN^LE!6 za3KE6CIUebRY{QlR$zXgzHz@A*>;GQo~dSzO1nlIo-vF(w#2EKnQ9@QmFSZ zaS6<`3`Gk$O*|8%`u(D%^5 zkG2zqId(+WUgs=zJ=iEM91??CU5_Y^7QHjIHwkL#HprLi-_2ghR&cqlOi^fBP^!AD z6KS zj`Z=c`SCdYq=Wq?Y9fB7k;|<4ZU2KAvP>QQNHSQCLEsj5a$y6V8Dp~L1lCZG{@2(c zc54d|Kwu893Y!(P*)ea_BUQXAUu+o@DNsuUMiFB@LfFo_UPQ~RH8>EbpWH08_?qpR zHaoyItCzKL<4c#i3& z`3(BErXG@KN*EJ+@0E*-f4H+Nx$*PM4_p#NH6ImaMf9fqs}4$iGImUtUO2 zi*-5l*rC2BNbTKa*rN(iZon5=DA^bot4o>?A29WUq8}yRX0=F2B`y{9;utU+WV{8NvQ`UM;fpCoFI%djUVu-s3WD8SN9Uhs~e zhWgI4nH7Pno?>q!aEL@Ux`v{)p**ip5kI_c)fhI_f4Ldj}G&TJw&T$9f(hQE`xK5Ykw~ z)d5uwT^85JX$)DmRm-p;@Yx@5YcTDoGyFP3Uqu4_sBFtmqm+u8$Qj=$SJvX->=}^I6-8m8?Q6w27GciFq6Hb-tg2t>nl1L=k{dkdt7k zE1dLhEX;en^A#cscq1tY`fR~BAv9lQ{-01*^leuXCLefuE?plh*PJe;U&H!{b?;yC6O>Ty z1>J;uJglFA9(dlFMc>3`iMR~&YX2wzEQ$%QEfK%BJ5?td<2k3400}@Qw2gb9Gp*W5w)}`-hqFdg5=~_2}n&eCD5nZFDwh3AhXR z{ufYbWKQyj@a;G&*f(Nkc{R>6fCV!HgD^KmgTxtO@U24onSeRkF7VV6u)!jJ=n9h+ zR)^xA{x}2v2NUi;1g(3 z%=DE4=gwdvJ^m?nn?nC!F6a~i#a807kcz?&2KM&%w?L9s-B<4=ssimQhS=(^uswDd zR`n&4JHBc?vmy?`LZ`Ipv)lUe_gCA`8A$w8fr41i3&cxQNdZbA{pjV2j&R`ZuYfuv z*`Ptws-S!JV?vmC<54QWE^r5!?i%q_pd-$)Nh!KV0uu@8{h{Ny1cDnQjvHxbu@cYI z?*tG2zYC!GH*w*oXvm>YR&SpnGuZnU734{RI~?!u=A?qp-ee2rMk$D{G$M9+kn*4{ zEOI=Hm1xF5MXLu`eK~js9FI*vM7Ijv25N%OSVP1}<3y(?I^t!8du#Sg$oYWBh~c%~ zS?>V;Fg}~;o<$l<9{M1@CVh>8woXo~r@)~ORr3~AX1ciM`+ITqh=Z>%VphzK2U~KGxu>BQOQ4Qo^m;&>W5`AAC(nqjW80^-mm+hx$BR9oe7>;)POrE|H=pcIDmv>%p_glvekg$^T{qa` zO*i$Q7pyIjwGAhiqkiLt@bZhE@<(jjin?O`iA!%kL;a28ob}_%@bzOFwCsbrHD~|x z^Y@W}zU;$4>H6p5$VJZikfVdjEP`ct?P%EZ#%**&XQa{KTf6`i3^A%=WDv%fG zW8asPN!o(OLOXjsnDP4SbUwVPJU9_0=@QB#CF5QJ>Fc zj<@931O_2)z0;6P`If(Y=;WH@!y$UW`J5b0e>SdJ?#cx2x>29l(TxN$4u+7L@X_Yz zMrL3Dp$fQrHl0Yv6ajlGn|cgFu^t)q@SyO0__%ok^%6p9DYU|Be60nKB_-qeR}8g! z$JZ6{!34p#d+vLtb9LvIP^l!@g{&mb%trTms{^;Bo`q>UUX8e|Z_a&!4s=Jiw%6aX z`+N^zAIs5P3@*(-#yr<&Y9Zk`Q80359O>*H6;W#Nfrn!M!5+aY(x2uzO~v7tM-k1RUDoOlfSPgSZYmu(H=DhG`-jCkuTkPd&X$@IQ3F~ip&@QsiC#s83)9k!i0MSHy-TNNvn(i0+5 zF5$(i7b>5&FtPTq$aC6r(xo9AcFVo{>l`(*O4dt@up#|z2X~aXj}t;jJcFSxmr#kl zoea(8Fc%+aa5Xwm$JI2?j(a{Q!ukT3T~y)Q&H}s|vo7B|&c>Z5w$L(q#Ch>5MUXo+ zX+#>_p|(zw@XpYJ=x%Y)!=xj4FRNg*`AfFf9u@r?I0Z%G zSs)6PlBsS+L~m`vTb@@06QfyUXidTC5iTJ*vPnDeJWSwyUm4vHwR3#AH%*OB&0M)^Sj{DDUa7ca zakyRxIC_~7-+6nzUp280Mgn?R-Hr*chQHn@hEA$MriN#D!Q1V=#Dtr78aU#g1=v&jSI$CLZ_I^p zSS^FL_!DvHh|~HbNcy;Rf0}J}ys<271&0r-^ME&EC_Y%-4LI<0uo+(zZa!Z#tCXHu zKiv?070SOIS)qSdGN|~Sih!325x+(zUK4af%duG2fK~ml7 zc|o$2pDZFnP6W6drXbA}aJI-*8ZJ{nHhgUNd|iK=;4u^bX;BIL;YTQXYbZQi_ImTM zdECJLX(J}iW2&s=u>YX&uO_)pVjHWudf?SN;ow*0NxcM6uIfShFSQgJi7XW5L7n&R zk+TW0mW$9LljbP&%EaR^;!d89cAWK`cBCp;(GX%=ag?M*LJREdUGLW=Z^_44j!%=_ z>g5D;d}J0MwgDiLceo%=+2S9P1nj_G%N8`*RH*ZyT11f2L3iEA@ zmXAbE6d{3rI`ZUb41i)HxX%g!I&4kl-Z`x-W)_#2f=z<>!~X*vLE^qJFxUXjH$t0S zj#ayhG2TuNOqraym&Jqw?ls_Dxpd9WNIM_-mnk!r+Er=G-MW<-B&jPFHTMr6(a*+? z8y)Y^s*3m2HZD^mhNrNfP1tC(^VH7Rot`ps2l~aG{<0< zEKizF4g>?`3uC-%msZv%p^FXZ*Ujns7nRXNTSOggd}KQ$m$N~#H47H4mfrnQ2X=>p z|D1M+s$0`WebCoA4~~{I-*RQ~3-BVC5&nEtl3REnZ?aOr{R{#3+XUS2JCG8*ROJG2 z7}^M_Ml<~_+h4d%?E%fh(8ejV_95|52edKT8g&s2+{dPhY7RqmWcZXne|fTXAEG298RV zD(b{bO*s**VC5>5w;}~~!sHD}?ykV3~a(n9R&m5VZ9o>lvQE<**#04unhnB5h%fkCb$ zxXGe{Q z`2_M;Oke^!-~)z!=$z8F(lO_v#Y$P)!?(-CrbaMg(47hte5#WH2W;=|ot7kdpKX%% zxpnJ?q?$4tgUf5NTd{Ig8#L@AOXxdTz5$}FvdWn_kUY93pdW{}i{{R)oW$G`oD`s+~{*)pGKD<=sd%Bfqg zzRo~|ypT)368biQ`)8oNj2!qYxN`ZD!1@h(t+NArceu2p(Vw}mh_za(wChi3*4M39 z-x^5^xIv@Fs=r2(nyRI_vAp!|aj2|fe~mn`wt1VtJpdh=?J&JrUjl|QcF;a^8W=Me zp8#6{?*U9^Rx2~C{J8_q^}L@o)Zk~1U8X(UIY)^!(PV; z9ccl$r!0MWX7wz}i?mXfNbyi-oRTvQ&#+)XKt46 zH3o*Hq$CGsV-WG_^=ToFx?&a%88XD_zhel1iO>Dv*ZO-Rz0=NUL&5gLb;Lnhkw2m> z@yd%jA#UOczQ`w1Igw75(EfP#=+UF?pZ@8e+(`x6GyRdjX_Kqv>#WeB!xAH{zDe$Dr-Oyv2JUuVP8T(0tRrnTIEVsK_|J?92DF??lVLd znCJJjKDjEQ$Tb2Z#^a8|A*Ep9KdnnQkkej?& zvWpuw+EN*sgHCE;E#nk7COXQ#)TyRkojO=8jZGL6A{pRa=ED976)h(&B>|{1P1d>{ zUHz3?w#q4Ps`9FJ>9dtp=;p>zQP#3?j5Ndh$XL+M;Ud%*V-ylOM>Vg`U%f{9_{&}W z+|(En4D?A@_HiYuQF@fELK$mdeU;0l* z=P9mx>!^M8@7~QiwQA*jD&VkIjl}sv_;L0eJD@z^oH!V8GTk^j$_D6U#u$PA7@KgG zOMmx$DR_N$KYQT*nA+)H&80s{&T8JuRhe$557AFy`v0HfKbLde8dhHZC-Q;&OvUtG zeaQ#z--GJPE8spo?T)2AxM|zBZWMcatAL|B4wwf>WuRnp%cAz7K;9$AQss0t#ew%X zZiFTs7}B++(_UZN;Z0(qHCcr;L46ToL1Z98e&=Y)Njr2zp5O)I6LH=fI++pI}_`|7jd7T>dj#Wa>9G|E@ySwQvjM1Q{` ziJXJ`Q|zY+b8U^Jea=c34Z}<@5KkFt^Y=~YWPSQ{wch=@TQmj-E!JMO5My#sB3%8Y zY0;LvN{sut$+m5W821Mt{3htMdA;)9lOoe-v<^ z{?M-7lOxFVdx9h%YXebCjIoeTwCfA6QRtKxo2G|4dBO&t&qWLAGzL;Rr7BseqB2Y= z;QS2+C(J{1bOE;rY|hb8x;w>U9v8rxc+VJWAlO?wRXdE&!qD!SYcA3oQ; z#o;TCG6ChA#I~~H`VMIB@8z9)i>iEU)T$$W`yR?$O*eiBM$$qy_rNY=N6}&hoP*C* z0vguJmkKWcZNE4r@8u;m66>6_eqwDqbP~8yTi|C=)lJ?ov|dszFZ|4W=QarLR7Sd! zxmmtsq3zhVL57FS@?QSts0NK>=x8a2x}RF_{zJ6cdv0tfETcuS;svFTzg^n?OKsh% z6;9vZ-y3`{E5Ns!>Z#Abp_-dM)#qvg*((Tuf1>(&qB;s*o%ypnQvD=d^TJs>BX-!y z*nR%x01OM_z#Uq#-^1k<$jh^HBwzx4weD!yY}pDU3>Jln$o;yUS!AgI&Cd;iDdnawn<&9dl`Vrt{v2o=E3A8 zGR{26Ch=oj)g@mP^FkQ`h64^W{{@-X9=K1? z$tW220Qby?T*G=jt3Wy_FUlU78%}xP2p31Q7)JcuKs=NOfHV0;`i1;bKctg#A`l`EuuZv>VDJDk{pc z(@CeV-(Wns`OI^OkGfvHdbKmEP-m7rfc1xtA9p|>5+UB9Bw#d-Y1_s&6B9nl zUF*|K9|4F1z`iVl(!rGDc38lj^Fya+5HFhZu+RbNs%xzpPRalr#<437WgAGdJ63HN zkRRy{Uyp^=XYZ-cZrQQZl4T@=^`4@!5Hgv+1_MJm8I4A&f8n6DU5i+&QMF3QfUjq~ zZXnN>B@MMh#sk>v)3vU;qQ36~e+Q&*AfFcBNCu>LTxYARK8{i1u}D8Yo&Ner@5Diw z;UpD@xPPB9(`IY^dR`|eZ)%PS4_rS;04!|zxVEh%6I9C@&i7Ja4474rorB)sNXOV?VD0{#R3f z>Lll`O*N0g8paA7RgadG)c^DKmsV8 z8@s!}%?=$}S*td&+OX(|xb6)FZHfiH+`aoiOqk8u1njWQl4Q9gW;}tx4QIAvMh%qS zXCG}+Wu0ah9S975Fz(Bh6?3aXX=#TQcOJU~mpF!`Ms>R{d6Zi+C`=XG{--GmCH->2 zE(w?p2As6EmHf%@k^SxCUk%Ry?nA7p;B`6u?DDL9r=C0~iq?3~6@X2FdUc|%?%MyDP+%IGm-WM4_h zG_^_<%Ue;!@l?-_6kM6;InMAS#(hYOKgsz~zyS114FLCv@ttfy->xCxJ|m&|z`d_A z0lfvqC@3fgr$s6X#ny4qR|GcK03HAKZ~x|wvj;D&s!c+aHX%4r8#88%9D0^_OfmZX zLxB7H0`4E(vvh%y1;vboE$&B`U_3edtQhn^Z5*)N9ZeM2P~;5)_YY*`x^VTTUAcBc zY@6#2PKYwrtt#fZi*YF1p2E32CL5DqYqF5C72m4;e1Nqlh-| z8Yg{+S6(nc+`aoy% zk|oQC*OgFXoWVY#8pI+JC`n;lMKso`DvJKi|5Ud6vTDs=rou&3@4?;=0+bsUXnp=C7si( zMN5sJ=w7OhWK8gN7QBzoMT-I&KeT;&_StSZ(cQ6SgPl8bN=AgxsUz+Kw4v^M^y+6F z<$SnW^%_XF1m_b6+{gD3aIY7@eXX|- z-1~NUPkjzqjV&^EA@76l1x^VtXL$#-^da(Asj?hg))T0!_Sv*WYZ=1oTfL}gjaik% z!Y`xx2{9P`MmxNYa{8TanGf7ob9(SFhsTc}??6XD$w+}U5WwjLZPd|A_Xb(&&yTfS z1H*l}SdUYtOmRRz-wDh;FuHjG=mK_z)>WZi$9M&(ymjkV$8z4aYnRg(_xCcF_2|*V zvEYdd0N1sn46us(Nr&r)0tsM51EzWafOz;jZPNpW)22;xQaKnTJV?!T1i;~V0Yw1W zu=fGNeLnrz8oDxP|5Coh^(w|a;4kS%atr_cSI*5HH*@za*5W7>hwQ+RrE`knHi4FTNyydrHC z3_;-jcfb3cYuj%NxF@glJ<6WGNV}zvQRkH1FC|bPynK7dphh2tNI+T%z8^APOw{R@ zNU}uK@gM*AN9)?PtLqcAqnCv{0uRrhK4mv9iXbIlDw<@p6jhmMAH|~diQ4cvomfj+ zzd^wCezChxI`EkI(9wpWo2dTYULaxU#8{|23y@~*(Na&Ia;I0;sxNKYx$7BI8!)|@ zK*bS#dRtTVrOH(V+$)dltwVvb&{AGTgwpE!NPSdLpKvGWGp^tb;Qp@GvYTb(CXKUK zB+I~XTG@EMHsR!S`7&h%I`?xr@2#3Pai;{_Seh{w2BOUIN7@k5lY3?4TfAnSO_W>| zK)w(BofFlR*Egd+66?Q<82`03rezRvC zpcU69mGerm_hG!B)%-%Bjo|a3spimr-MU(g-fL8^rf#TyuV-f`xbd7mBV4DX_Au3S zf*baJsp2IhRiimh&!Ej9kHl$>&3iH%S2^{9!GPy~qIs>p3<#uw6RPY>a}&syd#T=b z9ylmDtDR!ohx{@G=gz*pHdBC1&Uei66SlBCF1-!J8qd5=a5eXaFqIT`- zZKuV!bXl^kUb9V`s?gwBzFZjr|K;s}|I2v$?Qh0v@gguvh60V8J^>l;ic7$qRy84c zmasvMfl9Ni19{MHpDf`19~0-YRhOew?NkJQzZ#%IB8N5BJsBqs z9y)G6NJD?MoV}hnc}@%C%nW%Zq>2^Gi8bEQF~<{ocdfYi7N= zcaT(07waNNzAoqwdA0G%P2RG)$Cb76^*@er4{)D$*V5GYDSx-g$*M4N`1eq~K7FIW zy-3&s%hgr1CS(C0TpF@PET-S?NK$3yoVm7S=@Q$rVVzwRBa48vNTn*(?d#wD!9M-^ z*V;@0vMUb7$$n2mpH4B|u?y#~*^Eg)+xP$dCyf(#wCTL>z=)b+2lpR5%o2MiT70)S zE2G8Y1JdDQ5B#I}&^|{A=5c^E9=IY$AK6&C9;t=!)-CHLo$@E!D`%e<<*$G~>I2dv z&0Ds0&RK_#`dAJ=8_Bq+#k(??7ff*foUGnM>D7oN@7qTYAF!P}WT>7$Q`+{6BHmhB zo70d)&L|u6$ybsVs;G^788?RbbQ33I4*6w4zEGh3?5RJw6BXyro{l)C)Nk0>TC{3! zeFqM=UIOroXb~NfH-gpnLan*96)!H(Tt@hf+Dxw#5SFxfo~0Z;q~|_on3d4N97njr zJ{ad%{f%N8Iq9TFX_R&3cq3-~B|idKJce;E*_lo2*Vx1#{$hs@?X#N#@`Le{hVH$@ zxR38`aorQ&I^$kl#u)+Gmt52dg?+pCSdttFFIg}{5<|BIGCf}pFs>HS5o+qXQDdD9 z6vMtO;@hPcJE`Z2rt#ln>lzAGr6$N?)VBc@Wvn zjZ};35|9;^JfQu5{KtPd#~sbg0v92M7m%bzl?oj_xI1?q$OYkO$DrI-CIL z#|D)RD^6zt{Q>TM8r((thj{o6U^9|ofxq)2O@4DcVZsDwAi(KrFrYOKSctJ8K0e+7 z#PmVtv)5Uxc+fYfagSt9FkXOt!1Mn7`#XaQY$I z6b!x&Aw+n_J$dH!rWyCX?IL+Zx@fnYexPkq@4u8leNZnLZD_mgu%40dnc{z|Wd=;qc zNfTtO$LeG5RHu7F=%2!R#$A!HHtJLp!2KLO=lGeknffAZ_X;BLjaJ*oL2C;c$*Ky} z442FcM4O|J&f5m=$(pZ2*yC#Gp-oP9 z^Q@ayGrF3xe`51he-pH?+9US<5y=%1$QNbYMbb83e)xfPXw%y2s~#P(@g-|)cVnb~ zs1H5oiTaE?;i}KBZRi;oem2RdN*hX2e-5@ijA_VM^^wn(PlpYbgV-1;8Pv6O^*h>W zP6N;6<;FD`(l+S17>K+dh+uqGw6>w$4vz0>zZx>g%4vODRO%T8C6Ag9+y_hQ{rQ{^ z+`k8Pm1n^HlMLYgi58zvI0B|Y$j=K}Xh~36Y{ScT{K#>eHgl={`12eA#SdgD4jnIU zB)#+BeLc#0OG6z7Inp^AEklE?2ClS+=>n9l*wpC@ZRv_NwtLT!XKa1+=9|Ps+2@~* zu(6{DhMp_d+VceXir_cJNxT{qgM%MeFj(my5#FQ|tp(6brE}t>xlTv@cbF zMMtBQ=Fy`E*{^>+#)=ZP2HfyCGu@QUFQjAF-XpeY%U;R#EVY#~QUpV3oi3;($FRc& z#oL#k46~XtdQ`4jNx;3H?-p>ut22KtAcpOOM~`inH0jr`mlajo_Q=iLmNl9a5F?GR1475ZxQ>NHVB&|V@kk4c>tX`$*m1z7NMdNqwtbdz;*2&& z&nFM!#j;$rN<~Qx#acpqXB#xIr(}yNJN9n@KsMD)F!*|50rW_5?NQmRlb-&eqp5O& zd?rs9@;r;l7)$-NYq#w3mFqf5fFsD~APi~4_)xZNDQC#2thxvW(n(o1!x?YeW=_7T zS=0KVOTx-6c;7GKvny-mKOeZyd2NLH!)P`GdrX?~tQV|&H6UOHdC zN@h-0-+ibxe!9WdMt62`I2o~x7wyo_|}ddI^gug>1#f~z>X91x<_Ik>np9t8a3-^!%QA^1!MkO3V`gS z_ujqRwr;ibg9Wl5KCs79Q;tSVL4!t3tYchH>ml}dkHo$jAB$>CLwY82nu!-r^85Gh*#3RHEqUo8X%26aFN5ux zr|37K`UuS_h14EvTbmAX*1BCsYt^>BP6*VJmVI^ArySP-xG=4%vA)osvM8^t{>(I; z58P)TxMv*a1*i*nNZ+C^smD-V7IeDt$g$wm69=}ifw=}C6z~?{9e^0;v0f^Ndg6ZK zMRy+g8g%sW1ppvPK*q&8Jq676ASHb-xZdJgzVkcJ<(;^LfprY*ango?VD{|UPL}8N z>C?f>oHPxLHV+V^)eb1`%OTUnIrsu_NqGRKdtewH^?b6)RRamN1|_bruZx3#cQ>3ydKcDDacuPcj74!#$K6WeU@K-@bhYxDM+c zg8=Oz7y$W+8-N|-M}j1O(CE)9_&iYm-+ue8GYr5g4+i3GB|wOF1fw4ypR%E@dA)A% z3~|r6hw%tt8w}JT<-{q*fBxrxcJ)b~saFq7Q(ln*<#$9W6tjPl`o zcsq~u?6>_JZ3w><$Q&ZW#0e6Be9DNB*T6l1_)}y8b%N&Ut(%%Rm^=jRy7uu@r`a#r zuKfpWqKr-eerS86TTke(b~+@Xm!w$QSgefh%r|c2P=5m8ELfzNt<`Cud1{+$w{Eko z$R{ao+FoTzaP$(`|IeR(V$Eb=gbbhxaesG_2mjGMYN(+(jn9GLrE)flHJ&6;aE|&e zG9=8W{!#$R@*0ai=-bBu_idWRT6HnT>D%FZ#6Z;9{zyB5albF+m}A^em_OexU(3w6 zM_ayuK+vxx73HLIWbAWNIi$fSH0+7|Tu>|+#_mg3uUYDuGd4GQrOi!Bc7}oL8DqV_ z%>%DJ#etB~)*Wad}aWJ|C}oXN-6kz&&Z=*_4}Wr>{z6*x%e3&3!6V zfb{vvt8C)@1-4gX+EJbSCJ;BkeJ7oa8b4yVb<}&q`cYO$<({iCn)(jZyGw)OIwiwC zr)IvNIolbzf^tWs0RvC3jvb_NKfv1Q6iss(XkG`nCr*68J=8iD9|3dJc6Z8o`Jv+{ zGL=$28QME*j_TVr&Ib4F;l{i|YFhyJh4LBqnab*Y`H~OZzXvsyr@;MVG49iE%9^W% zgaaLzthLzzxR<5)q*&d%x9_v*a{4-9YKVQvz=T{wtTfdB^`Abm_#Pd!nXTxK);TE_ zfxJ&Oh}^z$OGnSoIO&?@$(tNQ{PyjTg&F31w=QjLm>B5&ddGzp3&9yI2lYUDgkXuf zTHF?i)jf0iA}7mp;LwRo6KI9G^7&!wet^r*6bPUtXi zR|KG39a zRWd*e=daRcZk=t~y4Rg12rdqo>{*;Qk8L2o0g|*Cfre*u4az0ucvBOZK7<)D_cP(E(`-$e zDFgtZk6Ki8eVnLz4f%Demb=A0%^C-@O=4TxsBvFNf~Bj*=xPpNPL~nzO$ORyk)j2~ z{1-Dy$AbaF7tER>4gV8P-`@8n#w%Fs{RYX2SZ_Hi?Wzq*#j5t;9w5i-jmJ679{~Gx zIngDJ%NNhJInyUNw)nk!nHf>A-(jz}@6^o(j~HVuTer1_O`2(wpfpDSz^Q7q?vV_- zbn(3A(^F#I|7=N1=R5hG`(g2uZbqb@i36-x-$B-)bDU#)BU{H`f*?585(-Ny$DX9w z5wVK4ZP{e=WxUzHXQw-PfdR)|qjVP+;Fj2Lh{g9AV4dT-NTMj(F~;)>xJLr%%H@l$ zzJL7df7pqX!wxj_^-VgEZo+ubGqJw|!Yfw}0cMf%opj>vRH6b%SZZuLRDZn@JWY(Mch7kP$q_$s+;&b2^27m@$3iVJbsW(QfjA`xXsaxfP0Vyyw#jQQsN+RKfp2|@ZbLS zHwWCqv-m+H#wnzp#$I^K$vH~>bcBw#19yX9zFT; zY;k{b!9RoRc;Uns;{?w^zKHpP-y?x5{7&F+7&$O{P=5G4z`#P81_NbpV+BC7`%R|fxeH?=9_Q6 zan5{c1C$dX&w+c57f*E>@-gjEz`Zsd?m2}u)}*U_96gb0n|AE7p9Mzm(usw88pn`w zr0zz`Ao$79Axxv)p{lk@>#}M2Ox?b{}8cx`^wnRwL?3rt+B!}?sNIv zU|K1QkjDK1TfA<)%~+CIVz`OY2Y5( z0QF2epTBaoP0|U6eX7%AVZePy&D)<18!D%=Ei6Wcd-_s%J!kj%!FEL&NICuyE=d~o zPd`tzNz$6fIW8DQFmx7yW=MRz^$>vHNk%zWzq%$EU-0^ueRl0j>Blg1Q)A5Bq?LwI z>*Trfc0O$UZ4w>r+AWToyXl$C2?dxF@`3x874I+p_k7^~7hgr@j_7jC^uPc6zuhJR zmV@79z#w2DGJgDc`}*szpB;~km@OFh5rBI(xJ+VN-N~Wi2`6#0aLF2*zj%#{hJ|Bg z$+5I))x>`H%_xiO+**Ky1MW2lJP{y%?&Mk9FQ)a+Qx@6kb=w_~`alBC+RoRee|r!BNS`;H0-Ka=S)K;Y&Ax`*`dVWU3i zE7<}uJ2;^ru;*nK^a3hF?cN0@$#N?r1g9QWuHI_rFJ2LoQ3jVla0~z$A_n*GZhd74 z=@{3>ISnqPaxEx>jF-p>+@g<~U<5+&jO#aVTZ-y>+47AxSTWNlfabm+wZnUvH3Wb!e`&vNm zR-Lcku)`Kfs_2yb90UW-iJR(_$H<|H*0pmhw=i&Zr;A88U|~tg{~&=tTOqISLvVRe zU(E;Zb6#7a_WEvsdjMU4#0y$n9np9`YwAD5PG4!)u3UC(X~yBU9l8i;9VA(icqh|= z43yt^aeuMm1;iNMY%`}$vu$E=@7uM_wPnWWs?};brtl|U{odNN?c|)?(&ux#IL&V9 z(jJSKkh8RF(lAb1X{(c#+nSZyU|qWKY=gozrNjWQRlA-}1bi$8b{}gP(@=)SvdVkz z!Kdt|G17HM4(_+)6$>O)v|5b#4Gwhnz_-61Nu2r(n>gpH1BZU#7}>}fQKl~|SMtj1 z(IZJOOpoto|J~W6BR22RBPg|AyNz6EV+6_N8;TUe;YQHT?$nSNzSyJP!fTnI4{tFSNJ& zViTS@l`7-YQkx*DoYN;ys7x|%R4VKAzz1W;JEKJ7CQSu&g~~2GPq|1!mbb7mD^y5F z?IlaKclRz^w{p2Hol@<(k~SD~g5|<9C`0t_DMQ%zJO`si zR^vFv4B8QGD4gw%5rewG_W%YJPGg||PnptYavR7SX(kR%5Kuq!1y)Xec-Nr`)!Td)RaYw zZU3=jZm#!z=Zlde?6*o^4Yeiquzn3lo8WXbjyD&tSu4%=g#y!0I<_xm4pY0M*u06I zJ3D8mfY|=toYo0)FAoGh?mKwMrE~hyWzLcAJ?-gzpCP?C?2PZw-V$U49hBHh4nXUP zN&N7&_SinH#E(|_s?A$%1*d`p-Ur$6NX=B$_|#ne?o)xX$O~1|cZh~B8yj8U(tQBv zIG;t6e43odBFA(5^ce?|2geT50wcb=*!I0O=J)H~%}U7lf{y^oA^cjOcIpc7{*vYr zoUTp~6MTi3(dYFY{rq6S08(7#-L*{{>)yVdV@Ee@P~Wk%*)`|34uj9g>NDf@y9DmD zN?)YE`~E^5P#4dE`=bKxPrF;l7v<}Ld){NB>p8$bugaA=dMIUzyPDhnG-09x(XZdS z{mf^DPdmORy0mWP969&x7AMJ8wGq8u)sFnV!FSh&b>A%!E-y%iZsPof_E-7H!NIb3 zaP6;e*Q}W{0>!CMPL&jpC0jcP+oxx4-?CdE`U*=H$jwnh z&m4C;^8(8gdUmi6hxZn!6>CkJH1cJ)gWV;olP=JwXPF@BT4Mtn$k* zu)Se%caLjp{pIv@@W3990l*?dBlHW;B~BHR0eQ$bp>5i*%hs>kVT;AK-?8hUCWIF) zx5(I_Wsfu3{{6aI-Fmfj3{;GMrR`;g0rKUZCEzDb`M)ioeyyG}P4$KB&yiy%mAn`0 zrKXG!ZCf^Wz72*AOOO#q&e&u$&}!o4&&mKhbOlwNr-9-sq{ZSLmCF`^_DMSNfRO{q zpJ2ejZYw$J{e0X|OYGIjP1KZgFz{8}u+Yz8e+ypsOZx2UP;Dt6xX*d5g!=ru0q%>6 zmCmqr_`qRls_(G*vnJWjtsA9pELN8KBMZ153H@!vC>?Qb-co>ZW4EAVQ3t4Bu;5bx z98Yci+Eq63$M0GIMjB`Z#tMT8+p=KM!88S`TOi_L4M3YWEP|iNM#lC=V9F%tHmLR9J@y?i1y0n}*DZh+qS(Phs zX!LW2maUuCS@JRgFMD@61~{9_U?^Q0N5R!>pxEg>68l+$hB2k zVFx9%H02+Ex2>Dj%20Aqd3!DsL3?W6s-1IyJL01cby}dkrad;B0t*9q4W=VIpD9D0 z4l(ArhYY~kGL&M9y3em1SuYt*)nKmWBQ$QV_pUX%=^rM01c^Yu*{8O|{zoH=vS z)~;M(>sPO^jcb$CE^jNy{{ z&l}*Lu?8R*pmn00Od_FzWDfls_Av};0Cya!;aHU5H~!qq3(y`37Vbx$gg}2{ob@0r z?C>T{nmAxJx4=E|(gt}Z05`@4KyHi$!Oc9+Chf5N$Bi53@_?*N@EYREZs3`e5hNgt z6v*VvoH^5h-a*DR>Ebz*7i@pPd+zhZq44MV@*`c0ameoYQx9mMQ_kUIJzy$~ewgq8 z_k8!P_3&$h&*NF-gS21}0AQapXO1hwQ({|^hVa01a3l*u9;p;gE&$#~N*DJMKkWbq zwHO|F4+iQ4@Ygf>F$P3ON4vbgtc-&9zw9&5C2ouo0O5-kEpkQ)_JY(`Fkm>~v;xk2 zIYmPK5Z)GWPkX_rfPV(c{g({fV^s0LJ!SP)fqTtG>^?Z%eqSKpx^3GnSwJohB|SSB z5FBTc0QbKh{gE7CmeuzX4!EVgBeMfocaBpItHdrAaDVQS_Mc+<63~~272Zc6dQbJ) zDwQfk><8}REdJqS0H=~uRHqxZ@05XIk?lEhRHw6VXJQgVB5NgsSX{d{Hb!l*r6fQK z(f1CcoE`_Ys$r^WV9vQ=BQ+E(>N?+1X3Y3mJS5;+Hsr^un`2Aj2Pxm}V^lW+}s`d}H=M<*FWh9@Ri2feq@n6HF6 zyu{@(>>2(meHb?QV-e|KW8>TxR{u7Q@vx!+jf3MG*W+Zjg`|;?9s=O4RFVP@%$j4< zC1FLMzNj`93>e}XXg(d$J5hDq+sbS1C@n0Fwh(E)3f>$1?B+h@`;6v>1ILcL=lvxA z4+P()STmH++y-Eewtw4ZO|7oxKgORYv`w|GLh?bC@0>PRvhT;|eBk~)sHZmx+^g@i zI&~o6eKDlbC7(KTnQa$fy#HW|D;*?LI(29vXNT==*x-0;(l|;Rm?CZw!XQxq@I{E! z)(zWjofz=b=PbAFI}f@^mk5{;J|5NI{_lVJTpM{Y2*loh?MYpOk7jMLS1(!WiPO%3 z>%2v4?53=o-hr#1pj)?$v7So%K&3rF&Rdn)5Mw-t3k%}IJLJ`?H+78qg8ejUfqgGO z0Qc@abkJgDySf%}}- zNN7>>Zh-sZ#kCnP`c%fIEw*m0w8_Q(1$+lw1ZZRvGI01P8~@EeOIy3PRjgDc)F!p? z4}rx`1k9#6Hv3QC{g+P69I%TQ&bdM;Uc7|0Y}?Vg3J@Ru(J0A$2vB+uVxi=`l(K&Z z=|+2>q32|3icS6bJ43!F<=9~--Qr^+{WWXVv8J)D>{nm>USN3qGk_r{3sxUrZrA+cfU2&}prCcKPBtjlBTg&j)9uxXNi!+q_j<8#3}^YtycS9O*`Dn3hDB zHVD}Xlnvp=b+LC-j@r!0KS~ci$u0|Ee;~GcFtEs`4%>C?YMtWbm{E>u8^knqj4M^X z+QIW@5-;T~fmLbpAGUvd`xk-INp@BMH8M;-Fz?o>*T7<1wy_V#erBDzbd%46lBzEp z%Vyp*`g^i^_s`}i{F&3IZ0SNdn^c~5@7$UR5T~s1xq#tg-1y&FyrgoFZYriza&H5; z$4Jg*?w)|j!-vGYo-@_9$#`$(HXWQ460$-~nzeKcLNsb4&AVBZPj3It z+>;O7=N)iQ-2u4&^{;<*EONj^egk+1a7XJL;10kOcD7&h&~ABoz!|{QI|D^h1E4oP zKHjmLVWGneXH0$_b~SyU7y97H`ye?25DM@co-Wc3fR4luV7d>XdCh;z`klE3z?!`U zEc=C$7rDfV16=YF48DxW z0}?--#dJpVp7?lvcJdI6kIz0%+A4BQ)DPu|Q6f@XBM%spD8B^h_rD9^KFGL7I)^;` z(gJk>aF4@dPA0r<;J$#?c@D_c9*xt@u*Z|cB3~^TmD3r%6RJplrH%|SV+ReiaRR{s z_1J&WHd#XzQk%GR<(eHy;()nTxcy zTe^O|l=!~E zv-YSRp>MxZr$&+`^Arq#_SIzs@7bZfeXhBwNpzG|ELYayePBO@@`3wcalKcc^MU*K zpt{~TaIcBwf!NE}uikKa?LSPIYe$Zrl*7*uvxA9hpqS%*1$v`zUr&x!S%5rSniVRn zgZpMl0)LZ|HrS$N>z{%C$d8mQTiOA>|N2kktU~#+VuFaRt&p2Vt-DeGILQ|cK1i}$ zleYekKWSk*H_1+(K5tjANl!2k&@qn@&^&BdZyP+Qr&SgUp=_B_4&>I%=@8pjrNs@D zdKQx=6Z?S!DUxT|X^WSwwIwSyYEpe}E#*iSvMZfCwy-f`!?zc>-c+pbf=s-cyu*W! zTe}rYl@r$^lCR^hByw29;rO;+Viy}cpogS2WIb*i9Wq8J9k0qq@Y$~X zl-A2y1fG!0&jRV)Pm{q0N3Ykehn%qa>zUAzXJ{*_BmnRpY6Bt3908GlQ(6#5daj>f zo;MU9q~jL%waC=nSep-AZurc%wFY`T9~bl?Q~>$6k|sIsbkhr}y_FU-3;CJu34N_+LZa2KQ%}yq8JFJVQa{8(#qf1oM~)94 zly8)Y-^-Y`Mw;TMmEPx)2=oi5-!G@1V?X;+0Ck*XUEa=#0Lqu=>uHjTxvNtOTI?>K zXInR}wS9YbIR66S{gd*BvT?ccnI>cJB}-bi z(6PQbWpPJ8(@fFU1RoA#Xrc2`%sc~Q>6wWp#5#E?BD$)(9+lrI;X zf2RY_eY~_AWPR#JHLyX$kl=~ei3iCOiRJSIr^%tI&$Y3a<%j1G82=dNV4>rD{DKTd zhxYHWMRTXw?j2j?lpd#$nd`fz@&XY4!RXK2Ne~?I;xm8^ice$sb9r9+W647Z_`7>o zM~&64+y&S=ClHRAh_`XOnCAnUF_7$Iu)?prcL-x?_2HK z)yo3ZLh~?bp`QE8DKLhTmTlTeBB!>-_|SO%vNVRL`E|aNEneiQNFm8d$+%als9AA2 zp?)^41Rg+|C=U-Lt`b0rwzmgcxfE9M7hingoMko>6A_^Dml6Q=V3z;afBlyOLIH|B zGnsS)LXI9i+DShGECXIf3X}u&4M5DxgWS|RU=K`X7}DQ=|Gi_+-@JL#jia!T0XcCd z3cEWxIyxe7k0v{;ci7?p!UQBqV4wGv13_d-f^s$40dXSbgWuemLFp#VR|S$yojTP4 z=@=VGcQ9ZmK<)+bo)?T^q<(x`<=uY{-p6Og1719jKsggOP`}8!XS4)r(IbY4iD^J<+FO`_sRv8zi5C!C&i*1{iW+{QG#`2IC%I z5JBg(loM^(r!AP?cm0{V!0?6xVH_a8ap$x$=mj@{HX z{(juY)<*`U8dWMg&_Ano_p*8k8NW@wnjR{R$Lwbrk2dP`5)NvEavbCdj38QRACZ_S z*_;m6T&!`x`_QSijQO6i>17Yo@4n6OPMUefDFOAHcI|dDGnCVBV?73$KmtZ_-_H%Ne zyZZCM9^GA@N{Kv4c-gocyg#>}88`BQ``nhE+Ap`N-Qa|Hll(%=khIk1y?b4q`9A2| zcyG0(K|Om&Z@;CJc`BqnPMdQlVI%Yt;^toB=QDlsirUj!8M9_fS`Vo$yWIcr6rMU}LWZ5mxZI3s%~~C2MW{rrpnEOJLWd zHU81?zV`L_5!z&z3^}#U=A@Tp^(gJ6a`MFaHh1=N+p+u53tHzms^QeYP&tYnD&W3# z`xaJTY;2bY@{z6=gJpy?xxrF{oDc_r_Kz)1hJxh+)qfPzey;%h6tVq-w*lJMs!`R+ z^ZaVeKsg$elbPyO#I_f3uZ>bLJd2z7wM$>KW}7x_tK}bHn{C^9K*joEnkrW+?<8_? z7W*qXy)7#yd`XoldB~~!0rLR39!L4+FI;0kPo8i4_NUmfFy=aG=Gy9Vu-hQIj*}hw zaAY4z3~1As%V!76A*Y{Rxe4fmalh3`<%n^QR8E+mfyRyMT5B0i0PYh7+~Y;wWh93W z`3ub0h+7Ap6+FMM+de*Q(Z3ntxWzT8dyef&l-Q)xJ zuPUX;e+%{Tw+r0stc`0vI4rdS00Tk%zK?DG?3uP~(R?S91NcrTBLJ~VRXMZ%Xqt&SH~yw~;ym-lA0- z0Xcc2x1ODBkj|%1#1fb0@{TQ=ZTh6|okQ2#w{M1yJcmV6rD}ESFYr7*v9H+Joix@} z7SQFU3H9^m8@#aFB7S8P)^9p3>rS#8Dc1>veJbQ z2L@>y#foX8C4;~k9kpMbyxi7GYyQgR=Y9oZ?FEW;>Fyll z#!9*g&3)o~>E=^^#0ZLCl&e=R$@p{D&Ye!x+9IT>%a(<$KWu*tT{Yz|p|*gET6JqH z?&A9Wd3j=JPESwMsesdRN~^i;yFbg&ushSUOO`4vxh63bzxiJ>l#CRhQ^`t{DycFF z)$=P+hVY8Z<@d)KbpRnC1l$X}mq8{UxF4@N&KYn|y8>(mOoZW$Lr*|(Kx9B;{szzu zdpuD96YOr-)&QiwP13LEGm|Gzb_{1Ec3{F2VC%xr2k=AI1vwY44R8B7Z3_OG7#~Or zEPr(F(NiZM!2sw?xu6G68lt149fO!_NQX~LurK=iNh>en;5h)UfWa`y(M~^pJTw>i z>v;~cHGt7Dl%t|JX&c#)!ad}J=aL3A`Z0bWSF~5)1;2-ZFhA0@ zK24F{c`oA(xD)^AuhNJ`SG;>W92=S^*H;=OtClP4y3!ps! zac`|TdUj|RDo52P5HS)L=*}Nenv&P9x20nCE|SrW_C=ioVmED2-~KNdZ2_8bR9i^% z;LFo;+<6CB=c0S{&)3r5y}h3sBfuQZfkw(nqQv)Tvp+-Ot_! z2d;i>3f|{GyEdyh0J(W4O#N%uZ`jJM+nfgd@(mju+n#tR3m;0!KsHL_`QTph)1vaa_FJ?^PApuJtk!zPyFzgyH-zRqWf%5wr&0_bC%e&{T@k!U&kMU$NM zM^1w)OWkzt@?~4Bxkpcyu5eEm*SJ_8&Mdw*F;Tvas_zw2hS$)gJc2@I)GHs2`!0PEMRv<+)kIBA(jY_0?Sl6e9rzcEc>C0jJwIV!DL zyOs|4NQW|=F*fr8JUeM+>;`zhcI~pj5(8EMOmLpfqiU(;nWFL)yCkK9?<5-jz`+ZAjV);3!d2PL3ah+PgP6Ja}+VZE>IEiB{TdIf6be z`KDmN=R(ceb#0(dBXsW8Q>?*~Vl)<&Q@y+yr-RS(pM6tfzMx^k%q^y}D(+rIt+Y<% zlvLNx2kvtR+ygdWmsar(NfH3u1A@a`hb0Y=378679=3YJh7Fy=R{&q%uXyM6?YG}L z(4TufYa6yZtY(0FfOEiJ?j;2KoBJV$|Iqe%5dc8FEl8pact)iB{PKENIa zj08v|O^jhaKGMZ!-id?s0#IU%0NCbPu(>%2flhod;FOm90^DQl@St$;8vog+i?U+B zLfIpqf}xZ$3{E^8aFVqhbLp;ZW!;$KR^bkKUUpD~Z z$n)T=82=2kW$Ffh1i`@bFnmyk$o^m~;Ca3--Ue__x@n*2++%3Kph0<)2426UK%HWE zqCV)$oS30bcoE(TaIa^fNq;!?gnc`GmVo<>ax{BKuE|24u9 zNpW%_fl~!XQcv0{<#D_EGmb`YsbBbh$ult&z#<+!V1V`4DXMy^Q%*SptcUNl9qV29 zz}Ux`?|jJ&t>3=Gc59u1(Iglz>+RB#`9o_yPW3S~Awe=D(bBpP^)0`yB@HCH(RUUe<$%LndX zRYI@+n;Uo4wr}6PXJ;>8vPp6nOaD$0ao~pPI2bBu?y0KNKb#in(Y~DwZVjxKfOhBf zSVTY9S2Aw!*h;#{vG-&!yQIE{Bjq*QwmY8>I}b?yQDd%OwSse$lYx>p`%(YC)=g{V z7|m@ZrPjcB4dY$|Mm}&KtdRHYb3SnY9#q(y1MXSWs{quIFI~Q-h2kNbFP-=aQy1EG z0r>=^S#VDJ+pk91(7`>eW}WJiY7xVmNgG5&pf?gbu=RhMyg>J_wln&SA%M`lSp&)J zbhAW(m_5;A2PD@+^J?N@VewS)UAlBtTDB*g(IIKoW|w}z`(VJKDklK?3RLget(~=$ zquSbaYFJ5utAzpAb^QK$AdQ+J1&lq^V)XizYqm=UfrZP~+1Bj`Z14V~DuU-$dh!I2 z(m+mWM-1*|36iquEM5IFGE_X(pc)?BqE^>G)#57k#909pdu@(%?WfIJ?zGDpV1t20 z7{GaN0nnd}9UKD9#VD6K_XQ?@@V=}*yZYBZw{G24o!zqk`ulX7IBl`Y@0L4-5$XO; z?VDRq84m^syzkPbl`|d)9#dffoJ6`K?|*x%z`Yi7^pU3mLLbPV0lp1p&Rt>q4yD-n z3^^&EL;6N}wI>`gfBNxYIh?F$Wy(sHi3wA{e_jOFc9foc#(mC9Gc@kJUEm(Zd|}a* zZ;BOhMH}4N(+$Bi3)UI34zWnX~VSW1#6Ob>*;Q~f-12X$(X7{~BNlB7CzAxV<>va+! z$uY12NQ2`$OzRQ?&H4=*X$gG?Ndl&w)e>NumKFk&viqzYU#ISd#84rfbht0$@>wmQ zr${nojhN|YRF-$84I2#ftD-uJ-b%g#I>z<10WzXA7Rb$phWvQ&EO<|LK6@aU`_G>{ zBW?ZVPBI5w`kObdWhyJ;V-pS=yj8nS_VK5`R(jeCWPrUUBXwY2AYS4G{Kq-%Pv8Hi zlgqh!`C_K)h!f*UwHmdYetuiY6t$6LQI%>noQ{8S8DEMP(-`Oe2XMg-tilsY@bKYd zfiY=nr`O#n3bgDwQL$so1_y-G#)5Utvr3gJW979e`Ecxb$qJD?p1m!hPhUNwpMd--s?X=ZJ?XlmlL6ag zU|6rdvSP_x)p;t(dlmrgkr8U6lK~AI$)A8WOl*3>^YiS6Jow<&6xw28>_r->vVaaw zcT|>RVk8Ai$_GZtBKg4m`0+Uh?x{C`OF(JZ-hjt|(lCJOCrI6(Z~f_~pE{Ww@0iqW zW_2&^56}?+@6Uh!vt!-z8DNsXA%_wlFJqd3HDq>(Gn{$-I!y%79boaqi4zVSo-SQy zWNctxlZIgMz%xb!q<=^oc>|0Fm;@LP2FixK015-r13n{<1FIiN8}c0tjCoN}QO?K# zqZ<$!Mm%{A55&#&Jd@K6+oahI$PI8G-fy{=d;%&1IOAwHMgSk6GxZQ0-@>1h)pwo` zfKL8W1&*N!k9I$xH~EefkpDrK9;qHQ{Cyh86EEtWz-NGT9N^Nnc=y)?<3;YNuGo~+ z3Gs5G1A_-3J82`0#OdP>wmFO*$jnfNJd64vAF$ZN%boj(8>0v1m>_VG_D$e#)W_QZ z?t^)M-#@=m;9e*DFb_alJ1%3^?t_QyFH@$9dA;dbu~BdRy2i;d?MNq=(puX+ z0ME1mKyCEqaej%TR-DE1JAJC9`cW6@%a7^b&ssHY?4CuOw6)v@?x)S((faAc=`&8+ z2Zy++^1W~~3`pl0T0K}z&1pDuMe82WuzJI0W00fNK`y7NfNAkE{)XnzmsY8)M9tz~fgNcoKyxLs0XKjn)dBRtQL2{>VRT%i5t zUAyIIcd_lz7X|Y0=a%gsEFH z1|`XOoV01P^yjy@6E@*(l65}qw_R*A>!p)CEt|xsomG{;cd5W z-4@gSiezz8Y=e`^TB}ni=bf=D7?^*{y=8{tRO!L)Gy$_7P*cvn$Nh; zeObFL?lmO1|Bz%!J$2qz;iOa=^-Gp-kYzY@6tspw`^F9H+ULI- z>R9BJs#K6=U6e57Wi;>zi5Cm+f~6iiW#9f|w#{3(N({OC+6aU;8i2e2&0RXRv{o(T zZC(?0aFEGH_OrM|Bb)xeFDCQ_f%l6Rud$?+n{4y8eOka@&1A_&e;&qv-P+YHx?W8= z*{yH&qiYL9s_tZ8U`8|X1GF*tGNIoVpnX~K9zB+7hmV}F{W1=4ng9p2!NoMkoa)J_ z!RdmJM)c7!%w|?y+WJK`NJf;%(eID+49aS&(z-w=9X4;>jzF!l{I>KNE02PQX2m@}F$wvIPPpuZx);8fRfxqif!wOAl+^Ru1|E(h4fp!VMOphS{P8q~Ckk zW>1?Uw)jfhyKCDsC!0vCG?XLL&%XJ+q+R-}$TWt*Zg%{vye`4#@$rn}B{)fNSJFR= zrQyCzX_J#w$(sbnc$}`55kq=}P7?GTINTbD=~}T8G6J~=!=I<(<)0`!K>I=kpGX#G zkCS&)2RIxs(22gF%Y412(P9L7dB5LhM_e68AbG(MHp$+J=_E3t3{@DrRYoHo<9 zZ{M+-I*n=L^~`-d2VHv{zG9^5*rltC5M`V}1or-` z$}p7g(8-b=V%n`*u|(}^wli*}r-vAcJcIBu;NC3;^mk6lUB7n4f&Umvwrp7Q>~xEZ zK>u(mrHqVTRpdtiIUzPSq``3a>`nk)Br}K;urIFy&nHc!mvkVPgW-WZ@IAQR1WY4MQJPPA0o(%^!y-nu zg>oP+0{6k@2Ec|H4H%4{0rcPjxjCT_1k4$Ghzsp>P8I-e!|3Ok!7;_>o9A#p;5ZC% z0DBzzqMsj3v%j8G51bMJaHc!~w!Kjx()IqntloY3dE*NJJ1&PPk-qQ~Goi-LMcj|#U=EMR92Tooz5MvX=0P#@{yz+tjNHzZQ-`*r}|3tt&%vl)I zFy=S!-D4BQ$X&1gLU4Oi)!!g#ntv(aKBm6fO^xay;9hmg+>C?MtLnozy_~#ok#nvJ zGaV2YwtJ%FbrL#vl2g;pP8XehY+eM~QaXE8v3)TX%w3UW+w{IyMuSKod1;*v#Nj54 z@kWeKlFT75<#m#fzEPNUhQy%Nq_81`(7P8SWm4{;yZOz|EuZL8eHE{Kh`2YAGm+LYJTT;=L7feyb7{Tz#9YZ3xrrD zX<}_3Jbc1t$+;`~>RWdl5TF!d;KVkqFL{}!Hu?iGd*a$iPrZ~I1ORD;ay#HYMUHIu zi;e#653?jyv&LnJL5U-0y}Gxz-+wb&n}8-du3yVduHnbnvMzxvuFzasKvwd*n*2C5 zuy&oamggnep(Cjd7>^_wQKCdK=VUipX=)HvTbqZ9&S5QbG@*qG&Y{vYk=?Sh=PpXm z{+OLUb5ZQAJDCPwQig^(PIo(ZXkoo1!!vYH59#{Xas~j+vM&JZEU2F9Ik#`$6ASRX z90G5$Nz)cOi5#561_NctLcMXLD9NvMkv3}=$q#g~;>3aVROOr(fyqXzDQyxDJ43?M znM-W_#@*5vel9r_d=9JxobL{md{R3}1J%{Z1r|=^_icoC0o>E(9{}7t#(k22`(w`> zIQu-~!@&Xf&lvZ}G37JvDWALo?ipKX_O7M5CYSv-7uo>7W#C@maS1t{JbL7q9oVza zW=;E9?DWMBI0o<_KkYkrx3QmoV=Y^^w|dbH^c&3I&?emFRi6(^qkGEF-wT*s=h)83 zmk=5?jgz?(LhM_CDA606>Zc z|G3Y8V*`eLzu}T}k0M0T$qineft}XOT93Z~{pULTHb%Eg0U{_lFX4A#1h4|I0m*gDyfbzJ=7R{L| z(E92#qfmHys1IafaD-c@UVVXbm7MepfE_0_=vV-uIGY8W$D!-V6Df8=28Vn1?g&WA ztZz&Fq=VB6Ncwc|)z=av+0;tTUZWc|aV#^c`Bk93j|0a26-h$v5Nj9Ue(6Gh`>RS% z_JMn<6X5OA#S6A*-gG(cU1kUO?Q%eVcv-xw@65Ltw4Cn&$wwvh?PHCkd0IqkG97@( z2kyt`9Jps}XRU-T{f|HX=$v|#G%l5|;N)%CFQXODKA5}#a^4iEenkXZt;7l$TjeA1X#Sq%Bd_`*?n1p{L`VCL1Ex9pV0ys1m%EL-~W zu=oK|g8|T|?cYO2gGl``cz?*S81rb8cV)OmCMs3)L+B-mUd&wQ1@s{~=ivKL7~q-F?_L%OUMlIS5T!wZ)YvgHEYZ z#U<_1*?#|MNI7i+QB0^lGlMjD_sNP^;>uB@X=JUl{VUjO}lKzu0u{kKAjT+ zfxzHex>SkKOJFOEg(5{V94cvc#VXDK3(Mi29MYm?e^>7;=z|~*z;&P za&(hHTURXRi(4Mra_)bbAeYH+GaMB@J@;(>|(9#bEnEdz{i0jnKIS6jq zGDe#-X)`L0yflDNeyj$rT)XK`Ure38#8xD4loM7RiIlM-JRm91Ts{LhQ87wJosN1( zR*3~!UMz6JpBMf;AGrVjr&JE@6x~k77uKyXYXN{+#AGLg+UDB??$xaX+!vD+$v%$S zYqPU>{tVl+Ze=LV%1>cQW+40V#c%)BX{+N{mH^PnBK^sebZzXfiz&X{W=#H3@7wIc zxzlbeqC7fD)}?dz1nJukaysUY*__St$WEC>x`stQV;_L(jq6uz?u;pp@qPHfUguae zcuzTP*kG>Xba&{8v5slX_?z823&xe*&qxy$(J68)@zjf0F`A?YZ9Pb`Iyg!)D zXP*lfmV--yWhJHKiU9@YH*!YAt-<7@ANZe zjeJ!1Uj3clhn`~8HEh@*AGjAFIePSH8=phqp7urC1bo9$=7b3ooPIlNXFzM(7R+(L zPQZ6$OoG5YV*r3En(xWU$xfyO$rt(oKrpOuw97duhHMPrIDg}rc^ya#al?cMWas1n z=^|f%?ZN&>zS#H!()t&GF~5bzo9BI*a=^(d;4`3lXf6AE93dY_)&L44!9y8g5b&qs zNK-KIY+eL_`XouEA?*WT4iFt)HURX?KQ0DRKtfpGFbx_mzQj$sEw0Qsd(h%?*(!u7;W*#WeZ zciK^~UPuS+mV15OP%pl2g6ZTladPs3I*E^uw@zYMQ-(-B@i)@x)5^2+f&1_heD(J? z3EXS)u}9k50a7noy~dWVTW=e+9z3ek6@A@^nH zp8*C?PG$a~#y$)v&82Y<8#>ad0)J0#-T`A_UW2=E;$luxvTc{Y5y~=BfOU`l`Cv)+ zj2$%4s#mJ$h=Sk{KEILf%js{FRX%W^(^7l!de>J}#}GzwguGpI1bXy1sy(g!$Zd`B z!Fr=TFgM^#x}4^V5_;#f1;6Wm*AHkffc_YF?&=-?62UmYV;J+>H;;ABjQe$y9H!PO zrM13?jLJOYuFnVVU#zhA@Rxkx{ynI)HwoOMw|4X9U9qco*`NM0$##mdjx1u%M*$s!#~~#_ife1Q`gRIWWl_t>gK5o!D+S5vyxe z`($q{?sd||FRpU56Z=fv8)ZGrlD#@Kh&9#eFzdUF?h+H^uyxH&1M(zoSF{ zsvuJcLz%x~5QSHkJ}YkCxF$bozP4{!tNBdT=gF(9hTy}yNz+7G_{qP?1P%BKKc6U{ zKk^73t`}A^JlDyR6LL_6q^%oP+e(F8waUuVPOy7|i=1e+ZXYv#ij3A*hop8AuU1?L zo(q9IziD*e<&8h%I*q7S#r(ym>r&cH>sHCihsFjNq7w|gZ34;l+=Eq}ch@712jLz;n9WtrW_6Wg7WWw{0+!C=9x)9N6Jp8d zpXznFPObQF7P$hUwB`22_P7o(aWYtAT3~g@;1R>6wF;)RxPLR@9(4lo6Mba_^IW=g zsR^u(8yN70uXb3F4^;sKLM^s;L~uMqAl$=}`up#{w|!wzjfD0XVk!2UH*cOvV$X58sL1ce!wqhz{CtJ<1wLt>jd?UdUu3-Y>D#X*x;Y8VkP|eW0C@s1E?pI zx$tp+Im4TO!Z|UKfcn9t3S2hfI>tm4toXqY{G2+%_Q)%R`_eJ@mvH|AR`HM2C`-j+ zxV%`RKH`5=cQX*}Z|Sv!gdnTEwM`nM_r~Pm!%V<~Wx9#)`gg2^gGKt`lc!{z3iscx zU2EU5FI>mK3jJT^%~jEPwE1VRrDITE3(mN%oRoYaMcsg$(BQa7%pJ&sM_IbMT_*#z zZ&lc$*xBbz-*GRajIbt#r9DLZ@p_N8Yu&;E(&lMf_@ak+92hrvh*q0L^I4>}|@>kU?viGXbeN5zR*t6GGxEG#K zz`cz2bA+yfdRtc+AOLYvYt>?WoWMClud!wN3?XBRH$vmanyaFE z>e2%-UAs+~~(LB3FL(421FyDNuICd+EL?$ecXh-rXpvT!{+`vJ@UD>+hp#14CU#k!IRPC(( z(g@F<@s>=VGD@uxyGn}|O?7mn9dZm-w6Vb8;i=9VuUWraeq6Oxt=rGY`HPn<<1zK> zNav1fxieyb3C;-#aq15_(nNn>T8jTd$@Qs&rj*YD=Vai8WyubD!LnDjyFzc}#KXqQ+ z5*;!3L@B9P%%zXh@y0gT6b(Oo@z0qtRz|3B-?eKywd7Z~D`gwQ}?XmT70dHn_sFLbwPT*sqI>7}7^3jvK7*hZ_4UXRjRB8{xin%O=vLV;foc z!8CO<)K6E4Rds=VguDmS_kXIoW9)V$zCg>t8-aC!hJS``#hJc0{Byh%Z`ofR?4x%2jt?p z)0Q{5ErF;F0dLmah0?f5Q?t&~eyFjJR2MrrIazY#@G;r7ZL3<2FEv*$&-ETfJwmX3 zS6$FdeP^!uE{~1H5^4X4;_fibqFqJSn>W<;LQ0AW_q)}X_#G8UpQu>ko?waHrhSsk zo&PHp$0w^`rb5kg-wR$iCpzg^;gIv>u}*Ges_U4w>L-1Lq^J*g_}=#<+Q4N@OLgfo zaq2rJ-a}BWRy|Vl=$+u~Ue=O6I|4f<%yTrp!JZvkWX+1@l6>-ritesu^X|t$9m8c# z!$yr|xCSkrpm|JC!7EPP=D;PAGr^AI;+gS8E!OVe&oGxj`*&}bQzs5<+0VE{%0d$s z?&o=v&k*gSbl{fQvb6Z6DG(+6=fjW!yO7lS+obPcGNY{UcP*}eD>LACh)>S z8wtM2+qP|M?sXvC!w)+8zV6RiUtJgO$3g!Of~@&|R-qUHOCjLH`W_P!g{{Zk_x1KO zxIq+Z(V~T|B!K%GtV(cv@X3zA zt*8SC(T*@)`1s!Dzqsw3$rW4^5ZG}|V1fbpD?CvEi$}N!!lVKiIO09>j=bUJTqoEU z?F$0@!lyri$YPQQ@dI#O_%hk^OzQ~jTDR5}u4-kE6#pr2XXT1QU*=8X2P=?W6~XNQZLwR*ofu3lm_ z@MJSx$@1|#@5rR#Lrvg@#jdY~d*l<>76frvtl!tN97;}BfA`69L@mb8sv*LCT@h52 z>m2O=CJ7exF*-rjv9-qh(N!^+;ONycNn`%Niocr2KAn@#>v~UKQos3MYfOMuYHgpX zD<9x;$Wt2HtC!UQ0)=*0;S=LN9LKq@Jni$QzhSj1;t6Fauj{w&$PYTPxO~G#xpDWd z8uh)pA{2SR3!*uE?_+Xi(y*a6sercISNTI*a!-Z(@7Ari)fA{(1PXRf@R#1cWeb_5 zt3u$4B__~>d#&TIH6Zz^3l|F}XmGtkxbNLr<1MOdF$7LV&|j3-U&1|@Ic+oawCi{8 z$fHUlA67ed^ny@0fx*C7sei+oVhX$was+RU0%;N)AkiZMYD|#D+`?4Yr zi2W(t2Sha#p9y~o_vox#xpGT(t4O`oCZW~qt^C~8a04f zQ-N@g+3Y9!0N=1_pZvUThwgh_Zsk-$Q-(cUFu0Hfr5nLq*$au!h%$+8Rsb#Vz4D7|>uvz%E^-uuEO}V5P&| zdzt!R#)hu#!4D7i=;)f}+kTe%l7}C81gLc_3G_|~aXYowA2IQvo<~$1eIVz~rR#*u z7CCezS?l$#ilWagUrs*JrNnG|^QQ6ATl4q!|~$)1$@kTdJbM+T*9s2VJUs6>=mcSqe_uP2sTb4a z@V>(;4CYC^3ik=k64YOJf(DpI@T=Nd?xNcmS0}fegnJ#sKU3j8M<+KCgm$mG$AR@P ze1%`X=2{|MTLsQmZ8}KrenZsH^?36=4nfqF^!|cypPeO#4<1%4>RoEBzs>@KRy7N2 zSmH#;J98Jv_{lR=c&MlDH(;&rzxKhoY#ibKI)aH^OwkF66>24|LCw_-4XoPHM!4EE zQDL{Ov`gwNZ%vq_!Ab{dI|2(!|Kt(ZNmX5S^+5fi-@Jaq#9ssghI^dHI*4{pxDU`y zwQifF!9ja#AlTv3qt5`Hpo1kXt|33S(XL%P6VoB6Lm-Ce4WkT44Ebs9fj*n~cO|B6fANh9b2iF>`>f5wwV-qV_5rKSR zA_Uu^ew@5H9GyH;xVNhF`X7G^_b*kr&&qsYLhb)8|G_NoAsWI>3_9v<)J@K4ZC@a~ z^;CfoV-?h`^XNoy*sB_|1-|j&Vh0wyaJhlhB;Qhe+NhB-NQG_q%QqK`dJj0)gx3&C z*bvtiUQR-QSNOd@qONF8tCce*7jE6lFdy7-=>ZYnxjvnJN_xl9Av&TQF*<1qw?UYg z=&X~c{knEhfB6aK4;*E~u|1X%`PAcF)Kv`-ap9f_0clN)FQAH%0z&nLnMFVNPZ&DH zToxs0ObQ&kw0SS7Y|h{99@Vx99ssgchuET%pX=4i{d{_wxl=*z-7wp3QQGfh*;QI;@z1%OC{y% zs=hwI8|kwYlM;h^bhi~FP1Udf7Z0v&o0w2G1&P9a0gB4}fx>+ys6D?4_j+qvz#A3r zlQsD2PIZf7!BMrvfxq&aY9T+cUpEtF8>rhGxVq8N0ea(@PBd%#Cu)hk@4!iQsiMK( zv||Ema#$1Ahj8CL$wb5UZCmJIKk}EyrF%o-2maQv(ER1;dCV=127JA9>Er%b!k3+PUx4Ry)wmq-Bc)_2a8PEOqw3DjG$+ ztjY9zR7?~=?A@VaGxBmvKV#74K1jm@C|m_-xW#GLHc|TNYKNxk*WLo>;^=_@8L5GgwFl@^9_SF@p`4@F@5PkMvR7A? zq^4ihK+3nRPQV{aJaG@BPC6&GlAd}$*4K%I*LsA-@(2v!K0HEKf~cFKGs$P=&|VFW zwQh^tzjxoYe7s#NY2T^6ieJ5?Q`gSQ1rukUJF~89vV4X6Y_;%#Xnf+>VL5hWpStbP zAlGU|jCP_<-53il3t_u`QYRgdM{E7*Qs1yhUqiqvCjn&Rr!@Kl^JyFKE^TtmEe4TLZlay0@m$_@`n}{vYu0t1TtM`5T4oT8T1(@pUQmY1q`%?S32T!mwY=pLc(MQT=>AhKitwlI7j}SzhfJx{3su;IWT}|kNUvzopZp)zQX|f zd6U2nqC8f0pgzD1b%f7gh}9ps{yf!>Q&%WAu3HNC-Vpy~8-EG+c{%|IS2+)LtZ-i~ zzSr&CC3|#&5!VqC`l`)zG7-WXteKnZ^{2v&-R~w!>NdH#&&(Pd*6j#*c}e>WInUHJ zll~2s*ln6Nlb&jI3(I}P8ABW>^#A>p96=PT+aWsMxN}>ssG-CKy$?>Oq^ZC5^KwZ8 z>B1Ed+~*WCBz`T6xPIaG1Hn2W)_2l&s(q^#lBi;9LIYj7uj5UyE9&0D{^%Fs9yybm zD#!GmJeQU(>DRBRVI3wUbzeQJvwuyUK(C|sJ%nh~K@ELYz)g{EP?~JNR*sT>&}^!( z>}pFd>ZI&hMi-+szfcmi;(p2b)bhGGzjn>1=9{nSlYl0GvK6xm;sMBd~dgfJFH`BCSnYfNk* zi0citYL5sDxBOvsLkqpH2KDT&qJ0yI*K*i(;>UXg`Nui%(ocFVY1|qOl6*^_7nn>s zarT_K&N-v^^Id&DJ=SMQNy*xEeLf@h0s`4~Y1h_VC&9%NRzo0$1XiNs+V^<>D7%;6G6+ZdaHhUIi(bDiB*0l8L`Yp|m&f;Ez8 zjNqyRgXl|_Zm4Le9SQBU!>1P-janM`HL+Q|c0e0ga8<`IyDuIv9?MqfM{6v#LDwgv zdiTjSf%BS*_gAmo61b+htbXqyOv9f)g3r4A->dbHHf;D09q0&c0AXbh@iSUo)L=5A zN#i(k2a~9RJsz4d^;BrnjuONoeS#XBLRop`D+T~rSx+p0?#*m6kMf{1@<1&XwrtoYySMF@gL@9DpYTkZ zNNStZR=V`)EF;H_)Zn81lnMO*x(4Ef%j&9!@)7QzsH>dZ=MYgfD4DiF*RNkucP*E+ zy?LzneYRaMHPwO{VrYZ7c)fSxRH(0}*AfO6E^BXy<8bkDQ^lH_7zn99`KM2Ftj&qg zK?v#>7URtlTk3weZwr^$Ki{2!1!63~-~N>=m(^1GmJK%1{yUaUxaI1_#z`E?r&dgL z>&583fOgDPK40g~5$_+W_sTOKqUc;16Af;QvcsIT`1V#d@^y`ZMPXmMXUi+i-|XlEg6 zLokJ#8;Gh%cqZcoak@o|7Ov;D+r^3J3$7{b4@>s6v^4vS-|%dQPzoUxF~F2dwN7h!!F>{JG;h zCMaD-5P3!2 z;@SW!FhahZgnT2fs9WSOF)`65Hz1;8J8OUPH+J>|E9bg{l|AYN=fKJc@PMF?`f#rk zl-oHM_DA0E495!-CJ@_kegr?pxX!5~)DI>Rtgo4$ANM>VYfgP3f7p(~y;Hm1z57qN zf2i(q^xo8oHLOraFxN|Z??Q0Ys=|ZXd{nnkVY-1nOY5rJN3Be|PV8FK&k#)?WIdA0 zdX3$|st&#HU?7JlS_9Pp8fw2FKCXepY99fjeg0v+EBG61g?u?LZcftK3G zXs$*9ja5getE*`-7RPz*+E*?(x2L3k(y{ytRDA_hlug(+EQ@qYDAFk{h@f-`A_yog zjUq@(cQ+E!4T_4=&C(6h4GJsWu{2Bb&*J-i-}%pZ&Up{Mdv@oUx#PO7`<@wxm-Y&5 zx93{f6rIT6l&;59-oNF90-Yo}pK@1NKUZHQK$gOC-<c`3PQmxu#eL0n4 z1-Y8n+UR}>#N(~42|s<M+CLJB-9n1D@q4AHK$eJZyvZuH)j)` zpZcc>0pJlsR8WGpXgMWOQ*f%(;Qn;;q878%>j(0X%qw_7-0#{$uL-97xyGm!NAnma zF?aO&vpA6|7CVuwM?qtArSJZ4&a5s=x6x99p!3Ne>a}$2a4mn1gQO0zcAR=6ee2%i z3Wx0etO)G8cgcx%vjdK*tL%&8M&uy(wXlQ-Ga0C|H%0CeZsC;@^tuljF(k+{y=SvO z@4D+GcC9F?r`{JZl#&xi7F{WTK73`+DN{Z+FvemMO)FMPNV@-?20No5R0Gcx8XEZ$ z9h?~`2b2C;lo4XFCb{Njbmz0m!=2vm(*c59>_d0TL!L8KnCtpcC&D`i$vmq0&lYpU z#tvWeebBDaL8I@dTw%jyyWg+RA!-a@dE)PuDjzDahE2}gaBCQ+&8Y8U zn)2ea6&*dU?yA~gF1g{Fk-K+4#s-1+5m$}r&!JB7Qw#hUHg)L!;d6T@s+oENhztyP zP~w@I;r^*mnb)XuO}xEAN0+?w-^!ie%C$!utYqJ#lNgvne(WOi?B=7|#&0FW*QxrD>>?nTu3ZHS=F^8UNfv#0(M z_m(I%cZr(>byN3^EjnX_CRKJZiU%=sty|vF#u8i{4n2A{p5ZWFNX3d%HjaB;N=VF4 z_jXM-ndg0z&m@9LyRvPB?zE&zI>=7Rq&dVZ`KR94N7ueVq)#(i!7+zrK0)jyag zJ)0Yx(YmlJ{{1#+f_gt-v6k(E=4eGv%hd%zW+oyMY!k97Hf4eJ?Eoq1R(%c$P~?^o z)YrJJp^p)ynPVs6Rd2fO_p$f8zq~@d8taRs` z?9Bc1vVqy&0~)s$2Z);=Uo>UG)}FsP(H@lv=q8*K%Dsr9$2X?s#cn1JVOUtSB|iLM z6@osa`26>baga-HB)5gcX2AQ#PcF>1124x)pP!5DhcAus7R7xT*okjDQgV86{KQH$ zgVM*L2TDlnLsLrYh@eYC0+C-3@Q6_ZT5l{Zuxh0UG@}@s&ZX$;iC?2rh+rUx~mT6)|azqeC%x}oo6wp zi-eQ0f8w1No&FDi%Evm77!Iu*eKrL|4K6 zqu3;C=5^C;1m~9(FArs0WaILBQqHLwY?3W_)5mM{T`m3fK)?Vk2WFG|nXgopxN2of zvkb|$aFoBx!(Eo0o%Q6#%YFa{=d^QzvEs!09vr0Pn8;Pt&PrlYo6tSEy{42+(oRp* zyKIrYm|dhi2f^%(DToUUp}6aP`}Xv7+UDQJ_`_%fhUEuEBXx6+)n~+MEhW2c?9uUh7wZc8JAdd(Y_$5|FB znECqaLTyCRxs=03o9+-zK<*%B{r*nm7plh>59p;hZ0BiL9c5SjMHjnT?>F5$`7`y< z>(TABttmT%hga36WGCwbM}HP%%Il-%GWkNO`6+CQZ7Qq9Og|$+MM>(VwdN9cLD6ga zv3!b}G--^PEny;A_rt_f z)NJ5Quv`Yhw%U8MpGq2-q(!8~+KsR~U8_>H6J`^IOaam~MmDb8w7b5=Bx<3o?$L-x2HfqFUFvWJ+0x@&Jw$q{39`E+YrI_A^-o|T(@$1Vd)-X)&lujyd7Ft}@q zh?aWPX7ne0P3!zOs3-S02W{bO-=F?`8Cmqz`zxnb*?99UuYJ+bt=EK96dGzWsi_;? zX!$QKG}XAD?@($lhzw$Lx-`nES!IA?BZZ3TDO1q-b5*q~3dC^o@6kRr#g9?`jnAJK zy_w^)DRjH?p4l=S+4DMb>1DfXy)-)Y^fEWwlYNudtjxMpUn-@f@Je5Z!!kv$tFs2~ zdTDPlnTs|Du3E!e9X&NbKjnVpyddwI85M85Dirn} zsOf1P*8ZJSV020mZcWuiG;N+msLnSg z;vy>na<`yE5T$nB-k zOWT2CWdj=8fvSO>Z(h8fdMf84t9CPD){8r{_b3KDKCC+Iuh&yn7ajT;es= z?F0-05Am4a&e$37&Ya1xw!_CoW@3|Hr!@t6=u=qTk-QW>(u-jd)jF7F6*Y`_KHxnd zQpNeZIIybl$D6Z#7dAuJ>LgnD$2@qi)=|Gd+kQop zgVpNa(MQXBX=0_K`qV+nh^0|C-osUXAMP+pWnYK$%?nd*$xo*)y$&Cc+B$evW_qSZc~9;Hh-^5CwHxXg-W zjXGU~o6O%=G3{0C0L8h4Y%XF1gIu%NKoqx#=}uHbtoMVzTvHnsAHzCd+|7?j$Kkh} z5m~9lu#r`r`O>p>*02!hp+^(NzOEPcjYPt5niA`$(eTWD`T6?CO*uTqNOcm0ZQXE7 z6K=(C^E-q5x4Q=)zfTc%&(z-gzNOr_3$ssE^FW?Etv(*a6s~{bv)5%8rSWp7Xf>`E zH?Gx71`qp;l>&)q727D|8f+=s(w&)n`F{U(s4wVJkmd|}0rQRk9a%^LLyXOuM=kLv`Do2TZ<6LL;CWs<~I zB=i~mA@-WI?lwZvM=(AYye0et5h*=7DLWH7 zF47cAMOCK;Bl_sh{)qB6BBG;B0u1ORQW7jMm20cJxWHl~9Of+JeP$D6H4W3ZF{sla zj<2#TF5M7$xT$ zt-jueCq>dBSpEnV&-o=z;&vrDE2tgCE!g!1*@|Z;is+|P@P$f8NxI=7Rk(g=Xv=Cyi6pu+Xeeh1 zbLacK<~(;s2n^HuJtBGNKDR5yf8M4uQuYEb%#td1Tc=wQKC2G1g~Ljf(jL8#i>BrF zIzLW0JKCglV`*Ny9v)5Fmo>y}c^?5!^#Rj_?F9Kof|!4@1umG}KNytgP2|>nyE>3T z5i@3tjqcgvkI4^iLsoeHJl6eagGJ2K*U*vCQl9DS=b#wWJ2DMoLNHOqnLe8r*S1VtW<)3DgM7P<*i&*lT>B(OJyC4P3r^Wf zIy^koGE&ZXqA}xz)L)+{OsjZ5x{}be7vY1g3PTcUWzkj&&x=2Lq)E@=wcCPKW;ZX5 zixg)W4EQAZgN)s5{whTgMih;m^y`;JnGX{EPlI*!8Ep1GTU0u6=uNM_ z8^{#nw45mT)So8QJ5i|n0?j2#S10Hk9775&ILg2YTIzu9qOxsWP7EKr0!`^+v{fyIn2d=KxJHGbAJnW~g+Qwu=Jf9nv zhQZtQTiD^j*?yT=^3KFpG7x6sR;W6RDE~gGredZ-#nO`8uMClD76F0L0?~v0eI+Aw zdVDJ5N@#x1p!j(o?LJ~|VPS#!!Go7GZmTpYVjfjvg}UJG9`oExaUYI5f9_a(&IAHl zQ}dB{SRpxQW!}?22>EE*gq@~q1Lv*Z4Clw&~(Ohq~qF9%fR}R z#BB>k(pw*rWecg*3>8)N?GN%&JG^M0C@L{aLYP&d=noZ1YI}Yt_jByOV&g3@=U?`# zDn%Y?XxGctIh^jB{;6{*z9;Ic8g=h6V+{xCnEVV?T_^a@ki$b5)kR$uhPy^1VbOaLetJcQc^=8NLo#*>wJt2=dTf}|9d9sUmt%u}^=YQFFmd0f)&}%N2{4;M z*gx#(UMd;{%l9r?k#Fyq_WEI*FQ>oueE0TkvQZ#9BkiH<=Z5Z{o-!;kt{QlpQ0wJr z{XI7w%-(}Cb(lN7<@nQq+Jw#Jo^Sc~$YXsGz5FU})B0OE+af=r9XCc^=2=p&;itm~ zSJ%re>qc;pROz21pU%m0(S(??Pw68azQFCaF+Ma|R@0K+p<&|9lY4$VN+~@*qxND~ z2)IfJTHyJ{c;0g>NAhl%mp)IrSdQk=>e9!m@@LBD;e%_FpSNEqD#qn&6;DaxeyNP( z$hV7rR0X2WNR_qj=HNoj0yfgza?ihxP*lEz%cI#Bo%LZW<454q=bl6w5M>`IlE47Q zHl%z{#97IR#cgLsOhB&rWQb(v!8)cfU7XMQ1_a$Y!r@+RkK5k`T5C={mR3oOTlP`S zLC2Kvxx@lsOe6Bu?|;U{yfo(6YTLN-4zB-dN0(R4+WP|HC)G@XsNBYluw);!7>kb| zd#Erm{xpP$rpyezvkE~L>l&3^jPvG`53Azf1)n@p*EWIf$G)Y4$O^+W2F0KW=j>--LFVj&0{>W|?mQ2$gg zY3y!yUh4AG)yF6%?fh)2)38`~Yks%(fO=LqHUzPwxaxmh7%_^l8VJ?vrBQ@qH;-rFvvsYsCo98FVveM zTVF6teZH{~7n!6s*qiyc&e8uc``%bfeB8ZH*xQ5`wGyto&8!L!UT(}#XlTyUT63{V zFnG6|(GHT=rifV}L~VZqt-Sf!c+uH!V{s9E@$b?Oad_(2Q?=b=Xn*`i(hdh$cJGRIB0f{8j+ ze(I&{K0o3W42zwWl-@6#32ok>tG5J3WJ|@X;utjaDW|J%$R?szzaC^nPOyTs+1734 z=>B47sfc`$m&CZpWy1`x5?O9P2es4fcKTZu7O53qbt&_^EttExth{wf%bCz07o`7v zV75QP1&G5AfxL|jhF(78qBvT3Dxjo10lbP<=QjVB8ZNBQ*~dJB@0`;QXX;j2F| zuOsxF`kCyn`W`>7xGu5Mu6$W#{rg>Rvu}mBUcuqUq~g25Ebi^tsXP`>Zfd^I4)ZVU z36vDs;2sWoRv1mlrt`l$Z+j}%NB9_CGFpsHXyD#PG%R;*KciR25pMOuAV;WVi84wQ zzrL?qWix7IB=S7+D~O#lw{OSgY9BpxSW!An@;Rj>I|krhCTbcgf-djawM5Cg$LR`ckk6 zkz3bt5De1D3HjD@VHnDaG@;uVv463)f|a*QnK69H6IK>C^v zP5j#s`uX(i6>I3$7QTADm_t3!=H~Cx2&I?v-UEFKq#Ag=W#eodfgZ2n9uc3w8N1k| zzIJqltzOnO4nkVfpY!*ZlQ`hEe@w~`v@N!+{q2Z`F~t$9eJKZd(dYHKv8NB!z+NV< zKac;|gKM(>RDGzsH{A_iIM;so!q+m~0B>Q-5CSD1DiV(7p^T$5vC8MD04 zein@RF&20kA8lH<+-z6ILt*y>iX zDF%61)`K^}I!d)zxk2A91K?P(DNcrn^|A$;G?(rTI!(pYTVEU8PxExfnb^0fGCc1+ zw90mTiQbeMF8pl3cf2uvH`-EnkOH}jdEQ1OaT}T&bWYtR_7o?iQlhP+?fTp&>(|o# z(XUd{4q>6{5gxFfZif$tD^&2{8zut7L#_^{#}im&m%8=7`%~|x_|rH$<8rr+$n@f5 zkK!5i_N#1WC{KtT5mS7Y&sEJ>tC-$PfKuhYzeriSpYp3D55no*bNnnw$NFylQT_>;gnA|&n4}+Pw2TDK1)S{u>*x{wA4cmg( zs6G0bc267L7Tr+2O+y%zfGB~5L}<6u_^0u)UXx|p?f7(>ieq?^nUoy#3(c;LtZ!pd zAft*~zbN~r;Z7(KPnH+{n@w>H#N{b^%)-#Lj!%cq8D$rNpEa}4YqtDM%c$v8` zqr#_WdlC9|R`l4MEZTR;ktOmXhk6(ej}?pAl#=P=SYMR+(R&74{FdtO?@cH$)3HAo zAW%?Ij3d~Xyb7`Pj_<>-Y}LxY+W0j7?ft=be(QmU>k?m^n5(Sbp}#pe{0&wy-~Ck( z{@_7E>NldvZNjEQe!(kuZ;e4FU zAph|#!@Q%hB@zBOaifOHie9=zRN1TU92Tby z(thV~oEXNZP39@o7IMI|Jzb<-+NxO-K&QzIJ1(o|KU9DGxy61W->%8x4~J#b(12iQKCiV%MZ)^s_$rrcgIBy&nHiI} zlvEq)m4qoDA(`QCVuH~T-EnL$+PjPhGN^1xg|oTV+7A&qruk}y2EpSoTe(l(x1fg# zVb>7g1oEI;$K^2zTdR}TI4p)UXFW0A9@-;g!zTPR&8#@r3z**u@JLg3MIIRF|+Ln-e(Zz&SYrtKqk(&g`{<8vEv~T@N~;ISzgm1 zm+wQ2zE46*(a+wl#ldSF2c>zvGy&h@SnE z@J!Exdl?+`)?&caM)z#4A6s~Fs3eaS9?~Hg3;%W3Ui0ry8WC^!R6TxV#H*ZO7E?d}$bRcaF=U$PEp+QjdxxH==E<_`No_8_&!ALpMP@_h4si zBAW`{C?i!pokE%sbe3B_C8_Or0SvhTF$bdZ{Is)ii)>N7-wD#*?nHUn8x5j&dt{nn z3@iVAqA=Jf_VzGvc%<=-NO^OYn{h(Gb-i-!{i4Av zF2{S5vCDMx=u)v;wUwKlzsi$H_8%7KEiL6GYld&t(8Xn;OM+sf7wiHEn%$mXzxZC_N{dg$#ZKK05o3KsjD=QjalekwI?F(` zC$>H$GW;#_)QjB1wBbY+T12Sug15acO?>?IDyM zo)oNUI(yuqR#`SUOxVukB{nf4*;o*pivhxfGf?s8WO>jVhx z<)B2jrpx=0SBh!wQaWCi%E1s$6*qkVgYr0x4w!gm}yY#m1VztfQ@womEzwwBx z!bS}95q0}>#DN)y_F7Ml&@a4TG-Hj{F@0@V*l|fC($rt|`tVfI?fc@x(38`}_lBAN zT|hv?=7;dTE2PkTs)bP_d!Z#8MbDYf8;l9;bJZH&3;AP$r~>3) zMe8(!)(r#0sb>u>QvSA-9!2wX+iYf=UpF!IBklN4E4D=JR59E0NNLDf0&d~Q^JIvm zEPH9_>O>^yv~>BiF#7GYWDAjSN$0I?+y}A!OFkvTf=r)To+vO&t;|{u59NMt!grT@ z_NPmn=TdG^5M#1gvx(f&-~#A|bo=7UR8}*+Fg7;j%#yhhMGD?eX%=1>Lc$+De27g> zW_OrP%a<~ojg_+qQ&TI%$y)uXeIO_1rnS=)uB@p!ZXcAtEGFw|$odw~-z(EQyRw0| zdtaNGxE?yj5b(q1^EOG>%b79$OzJ439qd0dTa@_I!lo)OUL@dA@|gFfsQC}t?fFrm zg))r32zcX+fd2_soEN9E_*=&>%qYgSO+zw!+F!?H$C*W35|tf}wEKiXcXBfD7CL0p z#@&^WueJ1RIOq6@=hBa`@Je-9mbi85$1y6_2OHmiQfLx<7zxlK#5svVYxmIq? zdVDgV{vODj#Sb->dq0+8%qymfQs4yMLcbP;Gf0EIU{4=e{Wju-^3?lWH!^IGe2W0e zuKc@!^!qZwgu|v4Bvo6}T6ks*iKm>U2}hJVv`J9^IN$5nIde6(?9`27|y??Z2muUr>vOeuTE(<9%VEW<`!xlv-9H@#%b43X-k z&of-)m06!a3>pr2Tv?k+y2`Fhv@8-8;Oq? z8#?6N(m&ZE6Y@3;7l}ng8}DE?_&SZENW6M@r_1v2$IB6*cHzbM2^09KI`n~%D)|(k zV#8s<<^!Pr$4G{f`d;~jy%DcVFNF>^8?XQ+pM z3}^0-+d@0eAFzX;3joE;4C2Gh$zon^-KzNeYTthWB)|f6>MvuLP%_l(Lm}v}9>10W zpx~OG?k|^lAZ;E4fKf9jHQNOApp_L%0Ac+#WQK=_S!b}MXHu|GwT>UpK*fPGR($XU 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 DGuwYw literal 0 HcmV?d00001 diff --git a/docs/user_guide/installation.md b/docs/user_guide/installation.md index d4b3c4687..d4cd73550 100644 --- a/docs/user_guide/installation.md +++ b/docs/user_guide/installation.md @@ -17,6 +17,10 @@ pip install jax-md==0.2.0 ```bash conda install -c conda-forge openmm==7.7.0 ``` ++ Install [RDKit](https://www.rdkit.org/) (required for SMIRKS-based parametrization): +```bash +conda install -c conda-forge rdkit +``` ## 2.2 Install DMFF from Source Code One can download the DMFF source code from github: ```bash diff --git a/docs/user_guide/usage.md b/docs/user_guide/usage.md index 8f6b00a82..81cedd896 100644 --- a/docs/user_guide/usage.md +++ b/docs/user_guide/usage.md @@ -1,4 +1,5 @@ # 3. Basic usage +This chapter will introduce some basic usage of DMFF. All scripts can be found in `examples/` directory in which Jupyter notebook-based demos are provided. ## 3.1 Compute energy DMFF uses OpenMM to parse input files, including coordinates file, topology specification file and force field parameter file. Then, the core class `Hamiltonian` inherited from `openmm.ForceField` will be initialized and the method `createPotential` will be called to create differentiable potential energy functions for different energy terms. Take parametrzing an organic moleclue with GAFF2 force field as an example: ```python @@ -81,7 +82,7 @@ force = -pos_grad_func(positions, box, pairs, params) ## 3.3 Compute parametric gradients Similarly, the derivative of energy with regard to force field parameters can also be computed easily. -``` +```python param_grad_func = jax.grad(nbfunc, argnums=-1) pgrad = param_grad_func(positions, box, pairs, params) print(pgrad["NonbondedForce"]["charge"]) @@ -103,3 +104,102 @@ print(pgrad["NonbondedForce"]["charge"]) 485.1427 512.1267 558.55896 560.4667 562.812 333.74194 ] ``` + +## 3.4 Parametrize molecules with SMIRKS-based force field +### 3.4.1 Background +Besides atom-typing based methods, DMFF also support assigning force field parameters with [SMIRKS](https://www.daylight.com/dayhtml/doc/theory/theory.smirks.html). SMIRKS is an extenstion of [SMARTS](https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html) language which allows users not only to specify chemical substructures with certain patterns, but also to numerically tag the matched atoms for assigning parameters. This approach avoid the duplicate atom-typing definition process, which enables new parameters to be easily introduced to existing force field parameters sets. [OpenFF](https://github.com/openforcefield/openff-toolkit)[[1-2]](#sminorff) series are examples of SMIRKS-based force fields for organic molecules. + +![smirks](../assets/smirks.png) +

    Fig. 1 Illustration of matching chemical substructures with SMIRKS language. Adapted from [[1]](#sminorff).
    + +### 3.4.2 Parametrize molecules with SMIRKS by DMFF +The SMIRKS pattern matching is supported by RDKit package, which can be install with conda: +```bash +conda install rdkit -c conda-forge +``` +To begin with, we need a molecule encoded in `rdkit.Chem.Mol` object. As an example, we will load a N-methylacetamide molecule defined in `examples/smirks/C3H7NO.mol`: +```python +from rdkit import Chem +from dmff import Hamiltonian + +mol = Chem.MolFromMolFile("C3H7NO.mol", removeHs=False) # hydrogens must be preserved +``` +Then load force field parameters in xml format. Instuctions about how to write a SMIRKS-based force field XML file can be found in the [Chapter 4](xml_spec.md). + +```python +h_smk = Hamiltonian("C3H7NO.xml", noOmmSys=True) +``` +Note that the argument `noOmmSys` is set to `False` so that DMFF will not create an openmm system, as `openmm` does not support SMIRKS-based force field definitions. + +Build an openmm topology and parametrize the molecule to create differentiable potential energy functions: +```python +top = h_smk.buildTopologyFromMol(mol) +potObj = h_smk.createPotential(top, rdmol=mol) +``` +So far, we can utilize this `dmff.Potential` object to calculate energy and forces as we did in the previous sections. + +### 3.4.3 Bond Charge Correction (BCC) and Virtual Sites +Bond charge correction[[3-4]](#bcc) is an approach to obtain high-accuracy atomic partial charges (e.g. HF/6-31G* ESP-fit charges) by adopting corrections to low-accuracy atomic charges (e.g. AMI Mulliken charges). In order to ensure a zero of total correction values within a molecule, these correction parameters are usually defined based on bond types, which suggests that they can also be defined by SMIRKS patterns. + +Virtual sites are additional off-centered charged sites which are introduced to improve the desciption of electrostatic effects caused by sigma hole (halogen bond) or lone pairs. The positions of virtual sites are calculated directly by its parent atoms, not by integrating the equations of motion. This approach is well known for its application in TIP4P[[5]](#tip4p) and TIP5P[[6]](#opls4) water models, and it also proves to be useful in drug-like moelcular force fields like OPLS series[[7-8]](#opls3). Basically, the parameters to define a virtual site includes : where to add virtual sites, how the virtual sites' positions are determined and the charges. + +Not surprisingly, all these parameters can all be defined in SMIRKS pattern and as well as can be parsed with DMFF by adding terms in ``, such as: +```xml + + + + + + + + + +``` +In [Chapter 4](xml_spec.md), we will explain the meaning of these XML-format parameters in detail. Here, we will give a simple example to parametrize 2-chloropyridine with BCC parameters and virtual sites. + +As introduced above, we first load molecule and force field parameters. +```python +import jax.numpy as jnp +from rdkit import Chem +from dmff import Hamiltonian + +mol = Chem.MolFromMolFile("clpy.mol", removeHs=False) +h_vsite = Hamiltonian("clpy_vsite.xml", noOmmSys=True) +``` +Next, we build the dmff potential. We can see the BCC and virtual site parameters are successfully parsed. +```python +top = h_vsite.buildTopologyFromMol(mol) +potObj = h_vsite.createPotential(top, rdmol=mol) +``` + +Then we can add virtual sites to the molecule and obtain a new `rdkit.Chem.Mol` object. +```python +mol_vsite = h_vsite.addVirtualSiteToMol(rdmol, h_vsite.getParameters()) +Chem.MolToMolFile(mol_vsite, "clpy_vsite.mol") +``` +By dumping this molecule to mol file and visualize it, we can see that as expected, two virtual sites are added along the bond between aromatic carbon (arC) and chloroine and also along the bisector of the arC-N-arC angle. +![clpy](../assets/clpy.png) + +Alternatively, we can also add coordinates of virtual sites by taking atomic positions matrix as an input. +```python +pos = jnp.array(mol.GetConformer().GetPositions()) / 10 # convert angstrom to nm +pos_vsite = h_vsite.addVirtualSiteCoords(pos, h_vsite.getParameters()) +``` + +## 3.5 Reference +
    +- [1] [Mobley, David L., et al. "Escaping atom types in force fields using direct chemical perception." Journal of chemical theory and computation 14.11 (2018): 6076-6092.](https://doi.org/10.1021/acs.jctc.8b00640) +
    +- [2] [Qiu, Yudong, et al. "Development and Benchmarking of Open Force Field v1. 0.0—the Parsley Small-Molecule Force Field." Journal of Chemical Theory and Computation 17.10 (2021): 6262-6280.](https://doi.org/10.1021/acs.jctc.1c00571) +
    +- [3] [Jakalian, Araz, et al. "Fast, efficient generation of high‐quality atomic charges. AM1‐BCC model: I. Method." Journal of computational chemistry 21.2 (2000): 132-146.](https://doi.org/10.1002/(SICI)1096-987X(20000130)21:2<132::AID-JCC5>3.0.CO;2-P) +
    +- [4] [Jakalian, Araz, David B. Jack, and Christopher I. Bayly. "Fast, efficient generation of high‐quality atomic charges. AM1‐BCC model: II. Parameterization and validation." Journal of computational chemistry 23.16 (2002): 1623-1641.](https://doi.org/10.1002/jcc.10128) +
    +- [5] [Jorgensen, William L., et al. "Comparison of simple potential functions for simulating liquid water." The Journal of chemical physics 79.2 (1983): 926-935.](https://doi.org/10.1063/1.445869) +
    +- [6] [Mahoney, Michael W., and William L. Jorgensen. "A five-site model for liquid water and the reproduction of the density anomaly by rigid, nonpolarizable potential functions." The Journal of chemical physics 112.20 (2000): 8910-8922.](https://doi.org/10.1063/1.481505) +
    +- [7] [Harder, Edward, et al. "OPLS3: a force field providing broad coverage of drug-like small molecules and proteins." Journal of chemical theory and computation 12.1 (2016): 281-296.](https://doi.org/10.1021/acs.jctc.5b00864) +
    +- [8] [Lu, Chao, et al. "OPLS4: Improving force field accuracy on challenging regimes of chemical space." Journal of chemical theory and computation 17.7 (2021): 4291-4300.](https://doi.org/10.1021/acs.jctc.1c00302) \ No newline at end of file From 938a411e361ba3dbc368eb007629c8c1067ad81b Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Mon, 21 Nov 2022 17:54:49 -0800 Subject: [PATCH 11/18] rm api doc in _date/_version --- docs/gen_ref_pages.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/gen_ref_pages.py b/docs/gen_ref_pages.py index 77fbb0a3c..ff00dc02c 100644 --- a/docs/gen_ref_pages.py +++ b/docs/gen_ref_pages.py @@ -7,6 +7,9 @@ nav = mkdocs_gen_files.Nav() for path in sorted(Path("dmff").rglob("*.py")): # + + if path.name.startswith("_"): + continue module_path = path.relative_to('dmff').with_suffix("") # From c2df0d81cb0d29289534bfdc2769919dd1b14962 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Mon, 21 Nov 2022 17:54:57 -0800 Subject: [PATCH 12/18] fix typo --- dmff/generators/classical.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dmff/generators/classical.py b/dmff/generators/classical.py index 3b9c7205f..cda71da45 100644 --- a/dmff/generators/classical.py +++ b/dmff/generators/classical.py @@ -379,7 +379,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): nnode = matches_dict[torsion] ifFound = True n_matched_props += 1 - except KeyboardInterrupt: + except KeyError: ifFound = False if not ifFound: From 78b78acad924551634316bc5d10565b192029315 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Thu, 24 Nov 2022 21:17:47 -0800 Subject: [PATCH 13/18] update (doc): architecture img --- docs/assets/arch.svg | 121 +++++++++++++++++++++++++++++++++++++++++ docs/dev_guide/arch.md | 2 +- 2 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 docs/assets/arch.svg diff --git a/docs/assets/arch.svg b/docs/assets/arch.svg new file mode 100644 index 000000000..f033f9175 --- /dev/null +++ b/docs/assets/arch.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + +ForceField.xml + + +d +mff.Hamiltonian + + +o +penmm.Topology + + + +Force Generators + + + +createPotential + + + +Differentiable +Parameters + + +Init +Calculators + + + + + +potential_fn + + +Positions + + +Pairs + + + + +Input + + + +grad_potential_fn + +j +ax.grad + + + + + + +Forces + + +Virial + + +dVdl + + +Param Grad + + +Energy + +Frontend +Backend + + +Bond + + +Angle + + +Torsion + + +vdW + + +Coulomb + + +MPID +- +like + + + +dmff.NeighborList + + + + +Box + + + diff --git a/docs/dev_guide/arch.md b/docs/dev_guide/arch.md index 4b1aa8c62..d31543c90 100644 --- a/docs/dev_guide/arch.md +++ b/docs/dev_guide/arch.md @@ -1,6 +1,6 @@ # 2. Software architecture -![arch](../assets/arch.png) +![arch](../assets/arch.svg) The overall architechture of DMFF can be divided into two parts: 1. parser & typing and 2. calculators. We usually refer to the former as the *frontend* and the latter as the *backend* for ease of description. From 34606ae7a3cf4c4a42752af28d5432d1a9a1ecc1 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Thu, 24 Nov 2022 21:18:26 -0800 Subject: [PATCH 14/18] update (README): citation and code structure --- README.md | 26 ++++++++++++++++++++++++-- docs/index.md | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 55 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4ad11df2c..1b530e68b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,20 @@ # DMFF +[![doi:10.26434/chemrxiv-2022-2c7gv](https://img.shields.io/badge/DOI-10.26434%2Fchemrxiv--2022--2c7gv-blue)](https://doi.org/10.26434/chemrxiv-2022-2c7gv) + +## About DMFF + **DMFF** (**D**ifferentiable **M**olecular **F**orce **F**ield) is a Jax-based python package that provides a full differentiable implementation of molecular force field models. This project aims to establish an extensible codebase to minimize the efforts in force field parameterization, and to ease the force and virial tensor evaluations for advanced complicated potentials (e.g., polarizable models with geometry-dependent atomic parameters). Currently, this project mainly focuses on the molecular systems such as: water, biological macromolecules (peptides, proteins, nucleic acids), organic polymers, and small organic molecules (organic electrolyte, drug-like molecules) etc. We support both the conventional point charge models (OPLS and AMBER like) and multipolar polarizable models (AMOEBA and MPID like). The entire project is backed by the XLA technique in JAX, thus can be "jitted" and run in GPU devices much more efficiently compared to normal python codes. The behavior of organic molecular systems (e.g., protein folding, polymer structure, etc.) is often determined by a complex effect of many different types of interactions. The existing organic molecular force fields are mainly empirically fitted and their performance relies heavily on error cancellation. Therefore, the transferability and the prediction power of these force fields are insufficient. For new molecules, the parameter fitting process requires essential manual intervention and can be quite cumbersome. In order to automate the parametrization process and increase the robustness of the model, it is necessary to apply modern AI techniques in conventional force field development. This project serves for this purpose by utilizing the automatic differentiable programming technique to develop a codebase, which allows a more convenient incorporation of modern AI optimization techniques. It also helps the realization of many exciting functions including (but not limited to): hybrid machine learning/force field models and parameter optimization based on trajectory. +### License and credits + +The project DMFF is licensed under [GNU LGPL v3.0](LICENSE). If you use this code in any future publications, please cite this using `Wang X, Li J, Yang L, Chen F, Wang Y, Chang J, et al. DMFF: An Open-Source Automatic +Differentiable Platform for Molecular Force Field +Development and Molecular Dynamics +Simulation. ChemRxiv. Cambridge: Cambridge Open Engage; 2022; This content is a preprint and has not been peer-reviewed.` + ## User Guide + [1. Introduction](docs/user_guide/introduction.md) @@ -18,9 +29,20 @@ The behavior of organic molecular systems (e.g., protein folding, polymer struct + [3. Coding conventions](docs/dev_guide/convention.md) + [4. Document writing](docs/dev_guide/write_docs.md) -## Modules -+ [1. ADMP](docs/modules/admp.md) +## Code Structure + +The code is organized as follows: ++ `examples`: demos presented in Jupyter Notebook. ++ `docs`: documentation. ++ `package`: files for constructing packages or images, such as conda recipe and docker files. ++ `tests`: unit tests. ++ `dmff`: DMFF python codes ++ `dmff/admp`: source code of automatic differentiable multipolar polarizable (ADMP) force field module. ++ `dmff/classical`: source code of classical force field module. ++ `dmff/common`: source code of common functions, such as neighbor list. ++ `dmff/generators`: source code of force generators. ++ `dmff/sgnn`: source of subgragh neural network force field model. ## Support and Contribution diff --git a/docs/index.md b/docs/index.md index 5406747fb..d66fa2f09 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,25 +1,47 @@ # DMFF +[![doi:10.26434/chemrxiv-2022-2c7gv](https://img.shields.io/badge/DOI-10.26434%2Fchemrxiv--2022--2c7gv-blue)](https://doi.org/10.26434/chemrxiv-2022-2c7gv) + +## About DMFF + **DMFF** (**D**ifferentiable **M**olecular **F**orce **F**ield) is a Jax-based python package that provides a full differentiable implementation of molecular force field models. This project aims to establish an extensible codebase to minimize the efforts in force field parameterization, and to ease the force and virial tensor evaluations for advanced complicated potentials (e.g., polarizable models with geometry-dependent atomic parameters). Currently, this project mainly focuses on the molecular systems such as: water, biological macromolecules (peptides, proteins, nucleic acids), organic polymers, and small organic molecules (organic electrolyte, drug-like molecules) etc. We support both the conventional point charge models (OPLS and AMBER like) and multipolar polarizable models (AMOEBA and MPID like). The entire project is backed by the XLA technique in JAX, thus can be "jitted" and run in GPU devices much more efficiently compared to normal python codes. The behavior of organic molecular systems (e.g., protein folding, polymer structure, etc.) is often determined by a complex effect of many different types of interactions. The existing organic molecular force fields are mainly empirically fitted and their performance relies heavily on error cancellation. Therefore, the transferability and the prediction power of these force fields are insufficient. For new molecules, the parameter fitting process requires essential manual intervention and can be quite cumbersome. In order to automate the parametrization process and increase the robustness of the model, it is necessary to apply modern AI techniques in conventional force field development. This project serves for this purpose by utilizing the automatic differentiable programming technique to develop a codebase, which allows a more convenient incorporation of modern AI optimization techniques. It also helps the realization of many exciting functions including (but not limited to): hybrid machine learning/force field models and parameter optimization based on trajectory. +### License and credits + +The project DMFF is licensed under [GNU LGPL v3.0](LICENSE). If you use this code in any future publications, please cite this using `Wang X, Li J, Yang L, Chen F, Wang Y, Chang J, et al. DMFF: An Open-Source Automatic +Differentiable Platform for Molecular Force Field +Development and Molecular Dynamics +Simulation. ChemRxiv. Cambridge: Cambridge Open Engage; 2022; This content is a preprint and has not been peer-reviewed. + ## User Guide + [1. Introduction](user_guide/introduction.md) + [2. Installation](user_guide/installation.md) -+ [3. Compute energy and forces](user_guide/compute.md) -+ [4. Compute gradients with auto differentiable framework](user_guide/auto_diff.md) -+ [5. Theories](user_guide/theory.md) -+ [6. Introduction to force field xml files](user_guide/xml_spec.md) ++ [3. Basic usage](user_guide/usage.md) ++ [4. XML format force field](user_guide/xml_spec.md) ++ [5. Theory](user_guide/theory.md) ## Developer Guide + [1. Introduction](dev_guide/introduction.md) -+ [2. Architecture](dev_guide/arch.md) -+ [3. Convention](dev_guide/convention.md) - -## Modules -+ [1. ADMP](modules/admp.md) ++ [2. Software architecture](dev_guide/arch.md) ++ [3. Coding conventions](dev_guide/convention.md) ++ [4. Document writing](dev_guide/write_docs.md) + +## Code Structure +The code is organized as follows: + ++ `examples`: demos presented in Jupyter Notebook. ++ `docs`: documentation. ++ `package`: files for constructing packages or images, such as conda recipe and docker files. ++ `tests`: unit tests. ++ `dmff`: DMFF python codes ++ `dmff/admp`: source code of automatic differentiable multipolar polarizable (ADMP) force field module. ++ `dmff/classical`: source code of classical force field module. ++ `dmff/common`: source code of common functions, such as neighbor list. ++ `dmff/generators`: source code of force generators. ++ `dmff/sgnn`: source of subgragh neural network force field model. ## Support and Contribution From 7cb36dac73b41573ba5001661314ba8134473d27 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Thu, 24 Nov 2022 21:18:59 -0800 Subject: [PATCH 15/18] update (doc): bad rendered latex --- docs/user_guide/theory.md | 45 +++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/docs/user_guide/theory.md b/docs/user_guide/theory.md index 720476852..34e4928b7 100644 --- a/docs/user_guide/theory.md +++ b/docs/user_guide/theory.md @@ -10,7 +10,7 @@ DMFF project aims to implement organic molecular force fields using a differenti All interations involved in DMFF are briefly introduced below and the users are encouraged to read the references for more mathematical details: -## Electrostatic Interaction +## 5.1 Electrostatic Interaction The electrostatic interaction between two atoms can be described using multipole expansion, in which the electron cloud of an atom can be expanded as a series of multipole moments including charges, dipoles, quadrupoles, and octupoles etc. If only the charges (zero-moment) are considered, it is reduced to the point charge model in classical force fields: @@ -33,7 +33,7 @@ $$0, 10, 1c, 1s, 20, 21c, 21s, 22c, 22s, ...$$ The $T_{tu}^{AB}$ represents the interaction tensor between multipoles. The mathematical expression of these tensors can be found in the appendix F of Ref 1. The user can also find the conversion rule between different representations in Ref 1 & 5. -## Coordinate System for Multipoles +## 5.2 Coordinate System for Multipoles Different to charges, the definition of multipole moments depends on the coordinate system. The exact value of the moment tensor will be rotated in accord to different coordinate systems. There are three types of frames involved in DMFF, each used in a different scenario: @@ -44,7 +44,7 @@ Different to charges, the definition of multipole moments depends on the coordin - Quasi internal frame, aka. QI frame: this frame is defined for each pair of interaction sites, in which the z-axis is pointing from one site to another. In this frame, the real-space interaction tensor ($T_{tu}^{AB}$) can be greatly simplified due to symmetry. We thus use this frame in the real space calculation of PME. -## Polarization Interaction +## 5.3 Polarization Interaction DMFF supports polarizable force fields, in which the dipole moment of the atom can respond to the change of the external electric field. In practice, each atom has not only permanent multipoles $Q_t$, but also induced dipoles $U_{ind}$. The induced dipole-induced dipole and induced dipole-permanent multipole interactions needs to be damped at short-range to avoid polarization catastrophe. In DMFF, we use the Thole damping scheme identical to MPID (ref 6), which introduces a damping width ($a_i$) for each atom $i$. The damping function is then computed and applied to the corresponding interaction tensor. Taking $U_{ind}$-permanent charge interaction as an example, the definition of damping function is: @@ -76,7 +76,7 @@ where the off-diagonal term of $K$ matrix is induced-induced dipole interaction, In the current version, we temporarily assume that the polarizability is spherically symmetric, thus the polarizability $\alpha_i$ is a scalar, not a tensor. **Thus the inputs (`polarizabilityXX, polarizabilityYY, polarizabilityZZ`) in the xml API is averaged internally**. In future, it is relatively simple to relax this restriction: simply change the reciprocal of the polarizability to the inverse of the matrix when calculating the diagonal terms of the $K$ matrix. -## Dispersion Interaction +## 5.4 Dispersion Interaction In ADMP, we assume that the following expansion is used for the long-range dispersion interaction: @@ -96,7 +96,7 @@ In ADMP, this long-range dispersion is computed using PME (*vida infra*), just a In the classical module, dispersions are treated as short-range interactions using standard cutoff scheme. -## Long-Range Interaction with PME +## 5.5 Long-Range Interaction with PME The long-range potential includes electrostatic, polarization, and dispersion (in ADMP) interactions. Taking charge-charge interaction as example, the interaction decays in the form of $O(\frac{1}{r})$, and its energy does not converge with the increase of cutoff distance. The multipole electrostatics and dispersion interactions also converge slow with respect to cutoff distance. We therefore use Particle Meshed Ewald(PME) method to calculate these interactions. @@ -141,7 +141,7 @@ where the user needs to specify the cutoff distance $r_c$ when building the neig In the current version, the dispersion PME calculator uses the same parameters as in electrostatic PME. -## Short-Range Interaction +## 5.6 Short-Range Interaction Short-range pair interaction refers to all interactions with the following form: @@ -161,13 +161,14 @@ v(r)=\frac{C^{12}}{r^{12}} $$ - Tang-Tonnies Damping: damping function for short-range electrostatic and dispersion energies. + $$ - f_n(r, \beta) = 1 - e^{-\beta r}\sum_{k=0}^n {\frac{(\beta r)^k}{k!}} +f_n(r,\beta)=1-e^{-\beta r} \sum_{k=0}^{n}\frac{(\beta r)^k}{k!} $$ In ADMP, the user can define a pairwise kernel function $f(dr)=f(dr, m, a_i,a_j,b_i,b_j,\dots)$ ($a_i, b_i$ are atomic parameters), then use `generate_pairwise_interaction` to raise the kernel function into an energy calculator (see details in ADMP manual). -## Combination Rule +## 5.7 Combination Rule For most traditional force fields, pairwise parameters between interacting particles are determined by atomic parameters. This mathematical relationship is called the combination rule. For example, in the calculation of LJ potential, the following combination rule may be used: @@ -181,7 +182,7 @@ $$ In ADMP module, we do not make any assumptions about the specific mathematical forms of the combination rule and $v(r)$. Users need to write them in the definition of the pairwise kernel function. -## Neighbor List +## 5.8 Neighbor List All DMFF real space calculations depends on neighbor list (or "pair list" as we sometimes call in DMFF). Its purpose is to keep a record of all the "neighbors" within a certain distance of the central atom, thus avoiding to go over all pairs explicitly. @@ -189,7 +190,7 @@ In DMFF, we use external code ([jax-md](https://github.com/google/jax-md)) to bu Since the pair list only provides atom **id** information, it does not take part in the differentiation process, so it can be fed in as a normal numpy array (instead of a jax numpy array). -## Topological scaling +## 5.9 Topological scaling In order to avoid double-counting with the bonding term, we often need to scale the non-bonding interactions between two atoms that are topologically connected. The scaling factor depends on the topological distance between the two atoms. We define two atoms separated by one bond as "1-2" interaction, and those separated by two bonds as "1-3" interaction, and so on. For example, in the OPLS-AA force field, all "1-2" nonbonding interactions are turned off completely, while all "1-3" non-bonding interactions are scaled by 50%. DMFF supports such feature, and important variables related to topological scaling include: @@ -200,34 +201,36 @@ In order to avoid double-counting with the bonding term, we often need to scale - `pScales`/`dScales`: similar to `mScales`, but only related to polarizable calculations. They are scaling factors for induced-perm and induced-induced interactions, respectively. -## General Many-Body Interactions (such as ML force field) +## 5.10 General Many-Body Interactions - TODO: +(such as ML force field) TBA -## Bonding Interaction +## 5.11 Bonded Interaction Intramolecular bonding interactions refer to all interactions that depend on internal coordinates (IC), such as bonds, angles, and dihedrals, etc. - * Harmonic Bonding Terms ++ Harmonic Bonding Terms + The definition of the bonding term in DMFF is the same as in OpenMM. For each bond, we have: + $$ E=\frac{1}{2}k(x-x_0)^2 $$ - Note prefactor $1/2$ before the force constant. - * Harmonic Angle Terms - we have: ++ Harmonic Angle Terms + $$ E=\frac{1}{2} k\left(\theta-\theta_{0}\right)^{2} $$ - * Dihedral Terms ++ Dihedral Terms + 1. Proper dihedral 2. Improper dihedral - * Multi IC coupling term ++ Multi IC coupling term -## Typification +## 5.12 Typification Before energy calculation, atomic and IC parameters (such as charge, multipole moment, dispersion coefficient, polarizability, force constant of each bond and angle, etc.) need to be assigned first. @@ -237,7 +240,7 @@ In DMFF, the input parameters that need to be optimized are called **force field The design of the high-level DMFF API is based on the existing framework of OpenMM. DMFF needs to keep the derivation chain uninterrupted when dispatching the force field params into atomic params. Therefore, maintaining the basic design logic of OpenMM, we rewrite the typification part of OpenMM using Jax. Briefly speaking, OpenMM/DMFF requires the users to clearly define the type of each atom in each residue and the connection mode between atoms in residue templates. Then the residue templates are used to match the PDB file to typify the whole system. See the following [documents](../dev_guide/arch.MD) for details. -## References +## 5.13 References 1. [Anthony's book](https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199672394.001.0001/acprof-9780199672394) 2. [The Multipolar Ewald paper in JCTC: J. Chem. Theory Comput. 2015, 11, 2, 436–450](https://pubs.acs.org/doi/abs/10.1021/ct5007983) From fbdcf880b18738a49c740ff37ac631a157bcf37b Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Thu, 24 Nov 2022 21:19:26 -0800 Subject: [PATCH 16/18] update (doc): typo in usage --- docs/user_guide/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user_guide/usage.md b/docs/user_guide/usage.md index 81cedd896..4eeefbf34 100644 --- a/docs/user_guide/usage.md +++ b/docs/user_guide/usage.md @@ -107,7 +107,7 @@ print(pgrad["NonbondedForce"]["charge"]) ## 3.4 Parametrize molecules with SMIRKS-based force field ### 3.4.1 Background -Besides atom-typing based methods, DMFF also support assigning force field parameters with [SMIRKS](https://www.daylight.com/dayhtml/doc/theory/theory.smirks.html). SMIRKS is an extenstion of [SMARTS](https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html) language which allows users not only to specify chemical substructures with certain patterns, but also to numerically tag the matched atoms for assigning parameters. This approach avoid the duplicate atom-typing definition process, which enables new parameters to be easily introduced to existing force field parameters sets. [OpenFF](https://github.com/openforcefield/openff-toolkit)[[1-2]](#sminorff) series are examples of SMIRKS-based force fields for organic molecules. +Besides atom-typing based methods, DMFF also supports assigning force field parameters with [SMIRKS](https://www.daylight.com/dayhtml/doc/theory/theory.smirks.html). SMIRKS is an extenstion of [SMARTS](https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html) language which allows users not only to specify chemical substructures with certain patterns, but also to numerically tag the matched atoms for assigning parameters. This approach avoid the duplicate atom-typing definition process, which enables new parameters to be easily introduced to existing force field parameters sets. [OpenFF](https://github.com/openforcefield/openff-toolkit)[[1-2]](#sminorff) series are examples of SMIRKS-based force fields for organic molecules. ![smirks](../assets/smirks.png)
    Fig. 1 Illustration of matching chemical substructures with SMIRKS language. Adapted from [[1]](#sminorff).
    From 5d329cc4742d7e3426b2445b919fdd22766320f9 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Thu, 24 Nov 2022 22:40:03 -0800 Subject: [PATCH 17/18] update (doc): smirks in XML --- docs/assets/vsite.png | Bin 0 -> 29898 bytes docs/user_guide/xml_spec.md | 165 ++++++++++++++++++++++++++---------- 2 files changed, 120 insertions(+), 45 deletions(-) create mode 100644 docs/assets/vsite.png diff --git a/docs/assets/vsite.png b/docs/assets/vsite.png new file mode 100644 index 0000000000000000000000000000000000000000..ca4874217acd7d6386503c9cb9cd5c88fc8ac8fe GIT binary patch literal 29898 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 aUF*@8=9Pzsm)keNKcb!~pVE(`O;A(- literal 0 HcmV?d00001 diff --git a/docs/user_guide/xml_spec.md b/docs/user_guide/xml_spec.md index 7386c6345..24f7aff09 100644 --- a/docs/user_guide/xml_spec.md +++ b/docs/user_guide/xml_spec.md @@ -1,22 +1,22 @@ -# 4. XML format force field +# 4. XML Format Force Field -The design of openmm force field file is quite modular and convenient to use. Unfortunately, only limited documentations are available right now to explain the details of the file format. Here, the format and the meaning of the OpenMM XML file are sorted in details in below. +DMFF utilizes XML format to describe force fields, which is compatitable with OpenMM. The design of such format is quite modular and convenient to use. Unfortunately, only limited documentations are available right now to explain the details of the file format. Here, the format and the meaning of the OpenMM XML file are sorted in details in below. Overall speaking, the typification process is composed by the following steps: 1. Build the residue topology (draw all bonds) according to the residue name. This is done by matching the residue template in the topology file. -2. Match the residue topology with the right parameter template. +2. Match the residue topology with corresponding parameter templates. 3. Use the information in the matched parameter template to define the potential function. More specifically, go over all forces (i.e., potential components), and for each force (e.g., the bond stretching potential), match all terms (e.g., find all bonds) and register these terms in the total potential. The files involved in this process are introduced below. -## Topology file +## 4.1 Topology File -Topology file is used to describe the bonding information of residues. Whenever a residue name is matched, the OpenMM topology module will add keys for atoms according to the information in the topology file. +Bonding information is necessary for DMFF to assign force field parameters correctly. Such information can be either provided by the PDB file (in `CONECT` keyword) or by the topology file in XML format. -An example of the residue topology XML file is as follows: +An example of the topology XML file of alanine is as follows: ```xml @@ -39,31 +39,24 @@ An example of the residue topology XML file is as follows: ``` -Where "-C" indicates an external bond between the "C" atom and the **previous** residue. During typification, the code will try to match all atoms in the topology template with the actual atoms in the real structure. Once a match is successful, the matched atom will be bonded accordingly. If the match fails, this template atom will be skipped. Therefore, the actual number of bonds in the matched structure can be less than the number of bonds defined in the template. +In the topology file, the chemical bonds are defined in residues and specified by the name of its consisting atoms. Note that here "-C" indicates an external bond between the "C" atom and the **previous** residue. The program (`openmm.topology` module) will first matching the residues in the provided structure with the residues defined in topology files by its residue name. Whenever a residue is matched, the program will then try to match all atoms in the topology template with the actual atoms in the real structure. Once a match is successful, the matched atom will be bonded accordingly. If the match fails, this template atom will be skipped. Therefore, the actual number of bonds in the matched structure can be less than the number of bonds defined in the template. It should also be noted that disulfide bonds are not registered in this step. The `openmm.topolgoy` will look for SG atoms in Cys that are not connected to HG, and connect SG atom pairs within 0.3 nm as disulfide bonds. -The XML file registration method is as follows: +For common molecules such as water, protein, DNA and RNA, the topology files has been constructed and loaded internally, so the users do not need to provide an external one. But for other arbitrary molecules, such as a drug-like organic molecule, an external topology file is required to provide bonding information. Otherwise, users must load pdb files with correct bonding information which is specified by `CONECT` keyword. + +An external topology XML file is registered as: ``` python -try: - import openmm.app as app -except: - import simtk.openmm.app as app +import openmm.app as app -app.Topology.loadBondDefinations("residues.xml") # register residue topology - -# Create topology and add atoms and residues to it, which is automatically performed when reading PDB -top = app.Topology() -... -top.createStandardBonds() # Connect keys according to template files +app.Topology.loadBondDefinations("topology.xml") # register residue topology ``` -After this process, the bonding topologies are constructed in the matched residue, but the force field parameters are not yet assigned. It should be noted that disulfide bonds are not registered in this step. The OpenMM topology class will look for SG atoms in Cys that are not connected to Hg, and connect SG atom pairs within 0.3nm as disulfide bonds. +It should be awared that after this process, the bonding topologies are constructed for the matched residues in the given structure, but the force field parameters are not yet assigned, which is discussed in the next section. -## Force field Parameter File -After all bonds are constructed using the topology file, the force field parameters will be assigned using the force field parameter file. +## 4.2 Force Field Parameter File -The force field parameter file is as follows: +The force field parameters are specified in a XML formatted force field parameter file. A sample force field file of water is given as follows: ``` xml @@ -93,25 +86,18 @@ The force field parameter file is as follows:
    ``` -This file can be further divided into the residue part and the force field part. +The force field parameter file must have one root element `` and can contain serveral children, which can be mainly divided into two parts: (1) residue part and (2) force field part. They are described in detail below. -### Residue Part -``` xml - - - - - - - - - - - - ... - -``` -The `` node of the residue part defines all the atoms involved in the residue and some paramemters per atom, which can be called by the force field part on demand. The `` node defines the bonding information of the residue. The information contained in this part is different from that in the topology file discussed above. Take ALA as an example, we usually have at least three states for ALA, N-end, C-end and in-chain. The corresponding parameter templates in the force field file are as follows: +### 4.2.1 Residue Part +The detailed description of this part can be found in the [OpenMM user guide](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html). Here we just provide a brief summary. + +The residue part refers to contents within the tag ``, in which each residue template is defined in tag ``. The residue template contain the following nodes: + ++ ``: specifies the name of the atom and its atom types, as well as some atom-level parameters (usually atomic ++ ``: specifies atom pairs that are bonded to each other. ++ ``: specified atoms that will be bonded to an atom of different residue, such as the amide bond between amino acid residues. + +It should be clairfied that the bonding information contained in `` tags may be different from that in the topology file. Take alanine (ALA) as an example, we usually have at least three states for ALA: at N-terminal, at C-terminal or inside chains. The corresponding parameter templates in the force field file are as follows: ``` xml @@ -189,10 +175,17 @@ The `` node of the residue part defines all the atoms involved in the resi ``` -In this example, the atom numbers and the bonding configurations of ALA, CALA and NALA are different. When matching each ALA, OpenMM will try to match CALA, NALA, and ALA separately. It will compare each parameter template with the topology of the residue, and select the one with the right number of atoms, element composition, and bonding configurations as the matched template. The parameter template contains atom type and class information, which are then used to assign force field parameters. +In this example, the atom numbers and the bonding configurations of ALA, CALA and NALA are different. When matching each ALA, OpenMM will try to match CALA, NALA, and ALA separately. It will compare each parameter template with the topology of the residue, and select the one with the exactly correct number of atoms, element composition, and bonding configurations as the matched template. The parameter template contains atom type and class information, which are then used to assign force field parameters. + + +### 4.2.2 Force Field Part +DMFF supports two scheme to assign force field parameters: atom typing scheme and SMIRKS-based scheme. The structure of force field file for these two schemes are generally similar but only has some slight different. -### Forcefield Part +#### 4.2.2.1 Atom-typing Scheme +The atom-typing scheme is the most widely adopted way to assign parameters. In this scheme, the types of atoms are first defined and the parameters of bonds/angles/dihedrals are defined and assigned according to atom types. In OpenMM, the force field parameters are constructed in this scheme and DMFF provides a full support of this. Again, a detailed description of how to write and interpret this kind of force field file can also be found in the [OpenMM user guide](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html). + +An example of TIP3P water parameters is provided: ```xml @@ -215,8 +208,90 @@ In this example, the atom numbers and the bonding configurations of ALA, CALA an ``` -The `` node defines all atom types. The `type` label of each atom in the residue part will match the `name` label of each child node of ``. For each atom type, it also defines a `class` tag for different matching scenarios. The `name` tag of different `` must be different, but the `class` tag can be the same. +The `` node contain all atom types, each of which is defined in a child node ``. The `type` label of each atom in the residue part (i.e. `Residues/Residue/Atom`) will match the `name` label of `` . For each atom type, it also has a `class` tag for different a matching scenario, which is designed for situations where there are many rather similar atom types that can be grouped together for simplification. For example, in small molecular force fields (e.g. GAFF), the number of Lennard Jones (LJ) parameters are much more smaller than that of valence force parameters, such as dihedrals. We may need different atom types in order to specify these valence terms, but we can group the atom types with the same LJ parameters in to a certain "atom class" and this will simplify the definition of force field. Thus, be aware that the `name` tag of different `` nodes must be different, but the `class` tag can be the same. + +The `<*Force>` nodes defines parameters as well as the matching rule of different types of interactions. For example, `` defines harmonic bond, and the `` node defines intermolecular interaction. In each kind of force, there are many children nodes and each of them define a specific type. In each type, several tags with name beginning with `type` or `class` define its consisting atoms, and also other necessary parameters to build the interaction. For instance, for ``, there are many `` nodes defining different bond types and in each node, `class1` and `class2` tags specify its consisting two atom classes (or `type1` and `type2` specify atom types) and `k`, `length` define its force constant (in kJ/mol/nm2) and equilibrium bond length (in nm) respcetively. + +Again, for more information about each force, one can refer to the [OpenMM user guide](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html#writing-the-xml-file). + +#### 4.2.2.2 SMIRKS-based Scheme + +DMFF also supports assigning force field parameters with [SMIRKS](https://www.daylight.com/dayhtml/doc/theory/theory.smirks.html). SMIRKS is an extenstion of [SMARTS](https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html) language which allows users not only to specify chemical substructures with certain patterns, but also to numerically tag the matched atoms for assigning parameters. + +An exmple force field based on SMIRKS for ethane molecule is as following: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +The convention of this scheme in XML formatted force field is very similar with that of atom typing scheme, only replacing the `type` (or `class`) that specifying atom types with the tag `smirks`. Note that the `` and `` nodes are also requires as DMFF needs them to search for atomic charge or element type, but the name of atomtypes are not used in matching interaction types. + +In DMFF, SMIRKS patterns are matched sequentially, which means that during building each type of interaction, the program will try to match all the patterns defined in that force and assign parameters with the last matched pattern. Hence, users need to put patterns with more specificity behind the pattern with less specificty in order to assign the exact correct parameters. For example, in the example above, there are two similar smirks patterns in harmonic bonds: `"[#6:1]-[#6:1]"` and `"[#6X4:1]-[#6X4:1]"`. The program will finally use the latter one for ethane molecule, which is a more specifically-defined parameter than the former one. + +SMIRKS-based scheme has two additional features that is not supported by atom typing scheme, bond charge corrections (BCC) and virtual site. They are defined with `` and `` nodes respectively under ``. + +In ``, a pattern matching two atoms is defined with `smirks` tag, and the partial charge of the first atom will be added with the correction value defined in tag `bcc` while the second atoms' charge will substract that value accordingly. + +In ``, three tags are required: `smirks`, `vtype` and `distance`. The tag `smirks` specify the substructure pattern that virtual site is to be added, with the first atom as the parent atom of the virtual site. The tag `vtype` defines the type of the virtual site. Currently only two types are supported, which are along a bond (`"1"`) and along the bisector of an angle (`"2"`). The tag `distance` defines the distance between the virtual site and its parent atom, in nm. + +The charge of the virtual site can only be specified by bond charge correction now. So the user needs to define corresponding BCC terms that can match atom with atomic number 0 (i.e. `"[#0]"`). + +Here is an example of several virtual sites definitions and a graphical illustration: +```xml + + + +``` -The `<*Force>` node defines the matching rule of a potential function. For example, `` defines harmonic bond, and the `` node defines intermolecular interaction. For more information about each force, the readers are referred to this document: [details](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html#writing-the-xml-file). +![vsite](../assets/vsite.png) -In the matching process, OpenMM will iterate all atoms, bonds, angles, dihedrals and impropers, and add all matched entries to the total potential function. Matching can be carried out according to the `type` tag, corresponding to the `name` of each atom defined in ``; It can also be based on the `class` tag, corresponding to the `class` of each atom in ``. This design is applicable to the situation when there are many types of atoms but they are roughly the same. For example, there are few kinds of LJ parameters in small molecular force field, but there are many kinds of intramolecular force parameters. We can even create a separate type for a specific small molecule to define the intra molecular interaction, but it belongs to the same class on LJ, so as to achieve the effect that the small molecule parameters can be tuned and do not affect each other. From 44369481206945d0e1ea071b3a4ff1bb1a4d7f13 Mon Sep 17 00:00:00 2001 From: Yingze Wang Date: Tue, 29 Nov 2022 02:16:38 -0800 Subject: [PATCH 18/18] update (smirks): change bcc err to warning --- dmff/generators/classical.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dmff/generators/classical.py b/dmff/generators/classical.py index cda71da45..0e5f2b526 100644 --- a/dmff/generators/classical.py +++ b/dmff/generators/classical.py @@ -1,6 +1,6 @@ from collections import defaultdict from typing import Dict -from copy import deepcopy +import warnings import numpy as np import jax.numpy as jnp @@ -751,7 +751,7 @@ def addVsiteFunc(pos, params): self.top_mat[query2[0], nnode] += 1 self.top_mat[query2[1], nnode] -= 1 else: - raise DMFFException( + warnings.warn( f"No BCC parameter for bond between Atom{beginAtomIdx} and Atom{endAtomIdx}" ) else: @@ -1187,4 +1187,4 @@ def getJaxPotential(self): return self._jaxPotential -dmff.api.jaxGenerators["LennardJonesForce"] = LennardJonesGenerator \ No newline at end of file +dmff.api.jaxGenerators["LennardJonesForce"] = LennardJonesGenerator