OpenFreeEnergy / pontibus

Experimental OpenFE Protocols for Force Field Evaluation
MIT License
0 stars 0 forks source link

Work out how to handle packing tolerance in a solvent agnostic manner #2

Open IAlibay opened 1 month ago

IAlibay commented 1 month ago

The default packing tolerance is set at 2.0 * angstrom. This is necessary when you have solvent with rings, otherwise you end up with these kinds of issues:

remember_rings

However, when you do this, you'll end up with issues where some ligands fail to solvate. Here are examples from our test set:

FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCOP(=O)(OCCCC)OCCCC] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCOCCCC] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCCCO] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCN(CC)CC] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCCC] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCCCC] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCC] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[C1CCCCC1] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CC(C)OC(C)C] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCc1ccccc1] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCCO] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCCC(C)C] - openff.interchange.exceptions.PACKMOLRuntimeError
FAILED test_interchange_packmol.py::test_nonwater_solvent[CCCCCCCC] - openff.interchange.exceptions.PACKMOLRuntimeError

The best way to solvate these cases is to lower the tolerance, but then you face a case where this lowered tolerance causes problems for the ring-containing solvents...