openmmtools
openmmtools copied to clipboard
KeyError in test_alchemy.py:TestAbsoluteAlchemicalFactorySlow
Using openmmtools 0.20.3 pyhd8ed1ab_0 conda-forge and running the following test:
cd /home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/openmmtools/tests
nosetests --verbosity=2 test_alchemy.py:TestAbsoluteAlchemicalFactorySlow
I am seeing:
======================================================================
ERROR: test suite for <class 'test_alchemy.TestAbsoluteAlchemicalFactorySlow'>
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/nose/suite.py", line 209, in run
self.setUp()
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/nose/suite.py", line 292, in setUp
self.setupContext(ancestor)
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/nose/suite.py", line 315, in setupContext
try_run(context, names)
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/nose/util.py", line 471, in try_run
return func()
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/openmmtools/tests/test_alchemy.py", line 1321, in setup_class
cls.define_regions()
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/openmmtools/tests/test_alchemy.py", line 1844, in define_regions
super(TestAbsoluteAlchemicalFactorySlow, cls).define_regions()
File "/home/mjw/miniconda3/envs/openmm/lib/python3.9/site-packages/openmmtools/tests/test_alchemy.py", line 1366, in define_regions
for atom in cls.test_systems['TIP4P-EW WaterBox and NaCl with PME'].topology.atoms():
KeyError: 'TIP4P-EW WaterBox and NaCl with PME'
One possible fix for this could be to edit here with:
@attr('slow')
class TestAbsoluteAlchemicalFactorySlow(TestAbsoluteAlchemicalFactory):
"""Test AbsoluteAlchemicalFactory class with a more comprehensive set of systems."""
@classmethod
def define_systems(cls):
super(TestAbsoluteAlchemicalFactorySlow, cls).define_systems()
"""Create test systems and shared objects."""
cls.test_systems['LennardJonesFluid without dispersion correction'] = \
testsystems.LennardJonesFluid(nparticles=100, dispersion_correction=False)
but this might duplicate tests... I've not fully checked.