From f33b97f14562e789bb5f246e25e1bcb370cf7a96 Mon Sep 17 00:00:00 2001 From: qzhu2017 Date: Mon, 8 Apr 2024 16:24:42 -0700 Subject: [PATCH] fix co-crystal #10 --- ost/forcefield.py | 3 +++ ost/parameters.py | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ost/forcefield.py b/ost/forcefield.py index d8bd93c..fba0c16 100644 --- a/ost/forcefield.py +++ b/ost/forcefield.py @@ -50,6 +50,9 @@ def __init__(self, smiles=None, style="gaff", chargemethod="am1bcc"): molecule.set_charges(self.partial_charges[i]) else: molecule.set_charges(self.partial_charges[i].m) + if style == 'openff': + for at in molecule.atoms: + at.atom_type.number = i self.molecules.append(molecule) def set_partial_charges(self): diff --git a/ost/parameters.py b/ost/parameters.py index eec01e5..8d22865 100644 --- a/ost/parameters.py +++ b/ost/parameters.py @@ -1984,18 +1984,19 @@ def clean_ref_dics(self, ref_dics, criteria={"O-O": 2.0}): # db = database('../HT-OCSP/benchmarks/Si.db') db = database("../HT-OCSP/benchmarks/test.db") style = 'gaff' #'openff' + style = 'openff' #xtal = db.get_pyxtal("ACSALA") - xtal = db.get_pyxtal("XAFQON")#"XATJOT") + xtal = db.get_pyxtal("XATJOT") #"XAFQON")# #xtal = db.get_pyxtal("KONTIQ09") smiles = [mol.smile for mol in xtal.molecules] assert smiles[0] is not None - smiles[0] = '[Cl-]' params = ForceFieldParameters(smiles, style=style, ncpu=2) + #smiles[0] = '[Cl-]' print(params) params0 = params.params_init.copy() ase_with_ff = params.get_ase_charmm(params0) ase_with_ff.write_charmmfiles(base='pyxtal')#, style=style) - #ff_dic = params.evaluate_ff_single(xtal.to_ase(resort=False), xtal.numMols); print(ff_dic) + ff_dic = params.evaluate_ff_single(xtal.to_ase(resort=False), xtal.numMols); print(ff_dic) #ref_dic = params.evaluate_ref_single(xtal.to_ase(resort=False), xtal.numMols); print(ref_dic) #if os.path.exists('reference.xml'): # ref_dics = params.load_references('reference.xml')