def test_pressure_coupling_should_add_barostat(self): PRESS = 2.0 * atmosphere STEPS = 50 pcouple_params = PressureCouplingParams( enable=True, temperature=self.TEMP, pressure=PRESS, steps=STEPS) pme_params = PMEParams( enable=True, tolerance=0.0005) with mock.patch('meld.system.openmm_runner.runner.MonteCarloBarostat', spec=MonteCarloBarostat) as mock_baro: mock_baro.return_value = mock.sentinel.baro_force _create_openmm_system( self.mock_parm, solvation_type='explicit', cutoff=1.0, use_big_timestep=False, use_bigger_timestep=False, implicit_solvent='vacuum', pme_params=pme_params, pcouple_params=pcouple_params, remove_com=True, temperature=self.TEMP) mock_baro.assert_called_with(PRESS, self.TEMP, STEPS) mock_sys = self.mock_parm.createSystem.return_value mock_sys.addForce.assert_called_with(mock.sentinel.baro_force)
def test_no_pme_uses_cutoffs(self): pme_params = PMEParams(enable=False, tolerance=0.0001) _create_openmm_system( self.mock_parm, solvation_type="explicit", cutoff=1.0, use_big_timestep=False, use_bigger_timestep=False, implicit_solvent="vacuum", pme_params=pme_params, pcouple_params=self.pcouple_params, remove_com=True, temperature=self.TEMP, extra_bonds=[], extra_restricted_angles=[], extra_torsions=[], implicitSolventSaltConc=None, soluteDielectric=None, solventDielectric=None, ) self.mock_parm.createSystem.assert_called_with( removeCMMotion=True, nonbondedMethod=ff.CutoffPeriodic, nonbondedCutoff=1.0, constraints=ff.HBonds, implicitSolvent=None, rigidWater=True, hydrogenMass=None, ewaldErrorTolerance=pme_params.tolerance, )
def setUp(self): self.mock_parm = mock.Mock(spec=AmberPrmtopFile) self.TEMP = 300 * kelvin self.pcouple_params = PressureCouplingParams(temperature=300 * kelvin, pressure=1.0 * atmosphere, steps=25, enable=False) self.pme_params = PMEParams(enable=False, tolerance=0.005)
def test_pressure_coupling_should_add_barostat(self): PRESS = 2.0 * atmosphere STEPS = 50 pcouple_params = PressureCouplingParams(enable=True, temperature=self.TEMP, pressure=PRESS, steps=STEPS) pme_params = PMEParams(enable=True, tolerance=0.0005) with mock.patch( "meld.system.openmm_runner.runner.MonteCarloBarostat", spec=MonteCarloBarostat, ) as mock_baro: mock_baro.return_value = mock.sentinel.baro_force _create_openmm_system( self.mock_parm, solvation_type="explicit", cutoff=1.0, use_big_timestep=False, use_bigger_timestep=False, implicit_solvent="vacuum", pme_params=pme_params, pcouple_params=pcouple_params, remove_com=True, temperature=self.TEMP, extra_bonds=[], extra_restricted_angles=[], extra_torsions=[], implicitSolventSaltConc=None, soluteDielectric=None, solventDielectric=None, ) mock_baro.assert_called_with(PRESS, self.TEMP, STEPS) mock_sys = self.mock_parm.createSystem.return_value mock_sys.addForce.assert_called_with(mock.sentinel.baro_force)
def test_no_pme_uses_cutoffs(self): pme_params = PMEParams( enable=False, tolerance=0.0001) _create_openmm_system( self.mock_parm, solvation_type='explicit', cutoff=1.0, use_big_timestep=False, use_bigger_timestep=False, implicit_solvent='vacuum', pme_params=pme_params, pcouple_params=self.pcouple_params, remove_com=True, temperature=self.TEMP) self.mock_parm.createSystem.assert_called_with( removeCMMotion=True, nonbondedMethod=ff.CutoffPeriodic, nonbondedCutoff=1.0, constraints=ff.HBonds, implicitSolvent=None, rigidWater=True, hydrogenMass=None, ewaldErrorTolerance=pme_params.tolerance)