diff --git a/devtools/data/gen-serialized-results.py b/devtools/data/gen-serialized-results.py index d11d5730..ca7ff220 100644 --- a/devtools/data/gen-serialized-results.py +++ b/devtools/data/gen-serialized-results.py @@ -1,3 +1,14 @@ +""" +Dev script to generate some result jsons that are used for testing + +Generates +- AHFEProtocol_json_results.gz + - used in afe_solvation_json fixture +- RHFEProtocol_json_results.gz + - used in rfe_transformation_json fixture +- MDProtocol_json_results.gz + - used in md_json fixture +""" import gzip import json import logging @@ -60,7 +71,7 @@ def generate_md_json(smc): settings.simulation_settings.equilibration_length_nvt = 0.01 * unit.nanosecond settings.simulation_settings.equilibration_length = 0.01 * unit.nanosecond settings.simulation_settings.production_length = 0.01 * unit.nanosecond - settings.system_settings.nonbonded_method = "nocutoff" + settings.forcefield_settings.nonbonded_method = "nocutoff" protocol = PlainMDProtocol(settings=settings) system = openfe.ChemicalSystem({"ligand": smc}) dag = protocol.create(stateA=system, stateB=system, mapping=None) @@ -80,9 +91,11 @@ def generate_ahfe_json(smc): settings.lambda_settings.lambda_vdw = [0.0, 0.0, 0.0, 0.0, 0.0, 0.12, 0.24, 0.36, 0.48, 0.6, 0.7, 0.77, 0.85, 1.0] - settings.alchemsampler_settings.n_repeats = 3 - settings.alchemsampler_settings.n_replicas = 14 - settings.alchemsampler_settings.online_analysis_target_error = 0.2 * unit.boltzmann_constant * unit.kelvin + settings.protocol_repeats = 3 + settings.solvent_simulation_settings.n_replicas = 14 + settings.vacuum_simulation_settings.n_replicas = 14 + settings.solvent_simulation_settings.early_termination_target_error = 0.12 * unit.kilocalorie_per_mole + settings.vacuum_simulation_settings.early_termination_target_error = 0.12 * unit.kilocalorie_per_mole settings.vacuum_engine_settings.compute_platform = 'CPU' settings.solvent_engine_settings.compute_platform = 'CUDA' @@ -103,7 +116,7 @@ def generate_rfe_json(smcA, smcB): settings = RelativeHybridTopologyProtocol.default_settings() settings.simulation_settings.equilibration_length = 10 * unit.picosecond settings.simulation_settings.production_length = 250 * unit.picosecond - settings.system_settings.nonbonded_method = "nocutoff" + settings.forcefield_settings.nonbonded_method = "nocutoff" protocol = RelativeHybridTopologyProtocol(settings=settings) a_smcB = align_mol_shape(smcB, ref_mol=smcA) diff --git a/openfe/tests/protocols/conftest.py b/openfe/tests/protocols/conftest.py index fcaf13fb..67cc21d1 100644 --- a/openfe/tests/protocols/conftest.py +++ b/openfe/tests/protocols/conftest.py @@ -195,7 +195,10 @@ def toluene_many_solv_system(benzene_modifications): @pytest.fixture def rfe_transformation_json() -> str: - """string of a RFE results similar to quickrun""" + """string of a RFE results similar to quickrun + + generated with gen-serialized-results.py + """ d = resources.files('openfe.tests.data.openmm_rfe') with gzip.open((d / 'RHFEProtocol_json_results.gz').as_posix(), 'r') as f: # type: ignore @@ -206,6 +209,8 @@ def rfe_transformation_json() -> str: def afe_solv_transformation_json() -> str: """ string of a Absolute Solvation result (CN in water) generated by quickrun + + generated with gen-serialized-results.py """ d = resources.files('openfe.tests.data.openmm_afe') fname = "AHFEProtocol_json_results.gz" @@ -218,6 +223,8 @@ def afe_solv_transformation_json() -> str: def md_json() -> str: """ string of a MD result (TYK ligand lig_ejm_31 in water) generated by quickrun + + generated with gen-serialized-results.py """ d = resources.files('openfe.tests.data.openmm_md') fname = "MDProtocol_json_results.gz"