openforcefield / smarty

Chemical perception tree automated exploration tool.
http://openforcefield.org
MIT License
19 stars 8 forks source link

Initial support for bond constraints #239

Closed jchodera closed 7 years ago

jchodera commented 7 years ago

I'm adding part of the spec from https://github.com/open-forcefield-group/smarty/issues/100 so that we can support rigid TIP3P water.

jchodera commented 7 years ago

See the constraint spec addition here.

jchodera commented 7 years ago

I'm confused by the failures I'm seeing, which say:

ERROR: Test creation of System object from propane_methane_butanol_0.2_0.3_0.5.pdb to test Parm@frosst parameters with charge method OECharges_AM1BCCSym
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/choderaj/miniconda3/lib/python3.5/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/choderaj/github/open-forcefield-group/smarty/smarty/smarty/tests/test_forcefield.py", line 270, in check_system_creation_from_topology
    check_energy_is_finite(system, positions)
  File "/Users/choderaj/github/open-forcefield-group/smarty/smarty/smarty/tests/test_forcefield.py", line 189, in check_energy_is_finite
    context = openmm.Context(system, integrator)
  File "/Users/choderaj/miniconda3/lib/python3.5/site-packages/simtk/openmm/openmm.py", line 6481, in __init__
    this = _openmm.new_Context(*args)
Exception: All Forces must agree on whether to use a cutoff

----------------------------------------------------------------------
davidlmobley commented 7 years ago

As per discussion on Slack, tests are failing because of missing CONECT entries in the prepared boxes containing water. These were prepared with out-of-the-box SolvationToolkit (which uses PackMol) as were the other boxes in smarty; however, there is apparently a bug in openmoltools which results in CONECT entries being omitted whenever one of the molecules involved is water. Troubleshooting.

See https://github.com/choderalab/openmoltools/issues/253

davidlmobley commented 7 years ago

I generated some water boxes with proper CONECT entries (via taking FreeSolv inputs for GROMACS to PDB format via OpenMM) and made a couple minor corrections to the testing, so now tests pass locally. I've also added a README.md within the data directories which indicates where the solvated boxes come from.

I'll deal with the issue with openmoltools separately.

davidlmobley commented 7 years ago

Tests pass, @jchodera ! Merging.