I realized that I'd left CYS out of the OFFXML building and testing. When I include it, I get the following error during OpenFF Toolkit parameterization:
MainChain/CYS/CYS
HarmonicBondForce 1.7237740755081177 kJ/mol
HarmonicAngleForce 3.202056646347046 kJ/mol
PeriodicTorsionForce 46.614627838134766 kJ/mol
NonbondedForce -124.68365478515625 kJ/mol
-73.14317321777344 kJ/mol
[H][C@@](C(=O)N([H])C([H])([H])[H])(C([H])([H])S[H])N([H])C(=O)C([H])([H])[H]
Traceback (most recent call last):
File "test_parameterize.py", line 85, in <module>
off_sys = ff.create_openmm_system(mol.to_topology(),)#allow_nonintegral_charges=True)
File "/Users/jeffreywagner/projects/OpenForceField/openforcefield/openforcefield/typing/engines/smirnoff/forcefield.py", line 1297, in create_openmm_system
parameter_handler.postprocess_system(system, topology, **kwargs)
File "/Users/jeffreywagner/projects/OpenForceField/openforcefield/openforcefield/typing/engines/smirnoff/parameters.py", line 3606, in postprocess_system
raise NonintegralMoleculeChargeException(msg)
openforcefield.typing.engines.smirnoff.parameters.NonintegralMoleculeChargeException: Partial charge sum (0.19329999945122206 e) for molecule 'default_name' (SMILES [H][C@@](C(=O)N([H])C([H])([H])[H])(C([H])([H])S[H])N([H])C(=O)C([H])([H])[H] does not equal formal charge sum (0.0 e). To override this error, provide the 'allow_nonintegral_charges=True' keyword to ForceField.create_openmm_system
This offset is numerically very close to the charge of the HS in the OFFXML (I've done my best to bold it below)
I realized that I'd left CYS out of the OFFXML building and testing. When I include it, I get the following error during OpenFF Toolkit parameterization:
This offset is numerically very close to the charge of the HS in the OFFXML (I've done my best to bold it below)
These do indeed add up to 0
This is probably due to interference between the CYS and CYX parameter. I'll try switching their order in the hierarchy to see if that resolves it.