document dev scripts for generating jsons

This commit is contained in:
richard gowers
2024-02-05 10:20:01 +00:00
parent 4a73dff83b
commit 55981bb288
2 changed files with 26 additions and 6 deletions

View File

@@ -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)