diff --git a/.github/workflows/openfe-doc-build.yaml b/.github/workflows/openfe-doc-build.yaml index c03d073..c77eeef 100644 --- a/.github/workflows/openfe-doc-build.yaml +++ b/.github/workflows/openfe-doc-build.yaml @@ -21,7 +21,7 @@ defaults: shell: bash -leo pipefail {0} jobs: - test-conda-build: + test-openfe-docs-build: runs-on: ubuntu-latest steps: diff --git a/abfe_tutorial/abfe_tutorial.ipynb b/abfe_tutorial/abfe_tutorial.ipynb index 6e0c535..59d58b0 100644 --- a/abfe_tutorial/abfe_tutorial.ipynb +++ b/abfe_tutorial/abfe_tutorial.ipynb @@ -912,44 +912,22 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "f62f69a1-09c0-4a4a-9b37-9663b51a75ac", "metadata": {}, "outputs": [], "source": [ - "import gzip\n", - "import json\n", - "import gufe\n", + "# import gzip\n", + "# import json\n", + "# import gufe\n", "\n", - "outfile = \"abfe_results/toluene_results.json\"\n", - "with open(outfile) as stream:\n", - " results = json.load(stream)\n", - " estimate = results['estimate']\n", - " uncertainty = results['uncertainty']" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "3b459b28-a4dc-4fa9-a961-b106c45d79ce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'magnitude': -4.671169105743085,\n", - " 'unit': 'kilocalorie_per_mole',\n", - " ':is_custom:': True,\n", - " 'pint_unit_registry': 'openff_units'}" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "estimate" + "# outfile = \"abfe_results/toluene_results.json\"\n", + "# with open(outfile) as stream:\n", + "# results = json.load(stream)\n", + "# estimate = results['estimate']\n", + "# uncertainty = results['uncertainty']\n", + "\n", + "# estimate" ] } ], diff --git a/cookbook/choose_protocol.ipynb b/cookbook/choose_protocol.ipynb index 7c9a26a..0fa4e59 100644 --- a/cookbook/choose_protocol.ipynb +++ b/cookbook/choose_protocol.ipynb @@ -178,64 +178,74 @@ "text": [ "{'alchemical_settings': {'endstate_dispersion_correction': False,\n", " 'explicit_charge_correction': False,\n", - " 'explicit_charge_correction_cutoff': ,\n", + " 'explicit_charge_correction_cutoff': {'unit': 'nanometer',\n", + " 'val': 0.8},\n", " 'softcore_LJ': 'gapsys',\n", " 'softcore_alpha': 0.85,\n", " 'turn_off_core_unique_exceptions': False,\n", " 'use_dispersion_correction': False},\n", - " 'engine_settings': {'compute_platform': None, 'gpu_device_index': None},\n", + " 'engine_settings': {'compute_platform': 'cuda', 'gpu_device_index': None},\n", " 'forcefield_settings': {'constraints': 'hbonds',\n", " 'forcefields': ['amber/ff14SB.xml',\n", " 'amber/tip3p_standard.xml',\n", " 'amber/tip3p_HFE_multivalent.xml',\n", " 'amber/phosaa10.xml'],\n", " 'hydrogen_mass': 3.0,\n", - " 'nonbonded_cutoff': ,\n", + " 'nonbonded_cutoff': {'unit': 'nanometer', 'val': 0.9},\n", " 'nonbonded_method': 'PME',\n", " 'rigid_water': True,\n", - " 'small_molecule_forcefield': 'openff-2.1.1'},\n", - " 'integrator_settings': {'barostat_frequency': ,\n", + " 'small_molecule_forcefield': 'openff-2.2.1'},\n", + " 'integrator_settings': {'barostat_frequency': {'unit': 'timestep',\n", + " 'val': 25.0},\n", " 'constraint_tolerance': 1e-06,\n", - " 'langevin_collision_rate': ,\n", + " 'langevin_collision_rate': {'unit': '1 / picosecond',\n", + " 'val': 1.0},\n", " 'n_restart_attempts': 20,\n", " 'reassign_velocities': False,\n", " 'remove_com': False,\n", - " 'timestep': },\n", + " 'timestep': {'unit': 'femtosecond', 'val': 4.0}},\n", " 'lambda_settings': {'lambda_functions': 'default', 'lambda_windows': 11},\n", - " 'output_settings': {'checkpoint_interval': ,\n", + " 'output_settings': {'checkpoint_interval': {'unit': 'nanosecond', 'val': 1.0},\n", " 'checkpoint_storage_filename': 'checkpoint.chk',\n", " 'forcefield_cache': 'db.json',\n", " 'output_filename': 'simulation.nc',\n", " 'output_indices': 'not water',\n", " 'output_structure': 'hybrid_system.pdb',\n", - " 'positions_write_frequency': ,\n", + " 'positions_write_frequency': {'unit': 'picosecond',\n", + " 'val': 100.0},\n", " 'velocities_write_frequency': None},\n", " 'partial_charge_settings': {'nagl_model': None,\n", " 'number_of_conformers': None,\n", " 'off_toolkit_backend': 'ambertools',\n", " 'partial_charge_method': 'am1bcc'},\n", " 'protocol_repeats': 3,\n", - " 'simulation_settings': {'early_termination_target_error': ,\n", - " 'equilibration_length': ,\n", + " 'simulation_settings': {'early_termination_target_error': {'unit': 'kilocalorie_per_mole',\n", + " 'val': 0.0},\n", + " 'equilibration_length': {'unit': 'nanosecond',\n", + " 'val': 1.0},\n", " 'minimization_steps': 5000,\n", " 'n_replicas': 11,\n", - " 'production_length': ,\n", - " 'real_time_analysis_interval': ,\n", - " 'real_time_analysis_minimum_time': ,\n", + " 'production_length': {'unit': 'nanosecond',\n", + " 'val': 5.0},\n", + " 'real_time_analysis_interval': {'unit': 'picosecond',\n", + " 'val': 250.0},\n", + " 'real_time_analysis_minimum_time': {'unit': 'picosecond',\n", + " 'val': 500.0},\n", " 'sampler_method': 'repex',\n", " 'sams_flatness_criteria': 'logZ-flatness',\n", " 'sams_gamma0': 1.0,\n", - " 'time_per_iteration': },\n", - " 'solvation_settings': {'box_shape': 'cube',\n", + " 'time_per_iteration': {'unit': 'picosecond',\n", + " 'val': 2.5}},\n", + " 'solvation_settings': {'box_shape': 'dodecahedron',\n", " 'box_size': None,\n", " 'box_vectors': None,\n", " 'number_of_solvent_molecules': None,\n", " 'solvent_model': 'tip3p',\n", - " 'solvent_padding': },\n", + " 'solvent_padding': {'unit': 'nanometer', 'val': 1.5}},\n", " 'thermo_settings': {'ph': None,\n", - " 'pressure': ,\n", + " 'pressure': {'unit': 'bar', 'val': 1},\n", " 'redox_potential': None,\n", - " 'temperature': }}\n" + " 'temperature': {'unit': 'kelvin', 'val': 298.15}}}\n" ] } ], @@ -294,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 17, "id": "844e6fa5-f363-47fa-881d-00328faa601c", "metadata": { "slideshow": { @@ -318,11 +328,11 @@ " ],\n", " \n", " # Small molecule force field to use with OpenMM template generator:\n", - " small_molecule_forcefield='openff-2.1.1',\n", + " small_molecule_forcefield='openff-2.2.1',\n", " \n", " # Nonbonded settings\n", " nonbonded_method='PME', # Particle Mesh Ewald for long range electrostatics\n", - " nonbonded_cutoff=1.0 * unit.nm, # Cut off Lennard-Jones interactions beyond 1 nm\n", + " nonbonded_cutoff=0.9 * unit.nm, # Cut off Lennard-Jones interactions beyond 1 nm\n", " ),\n", " thermo_settings=equil_rfe_settings.ThermoSettings(\n", " temperature=298.15 * unit.kelvin, # Set thermostat temperature\n", @@ -332,8 +342,8 @@ " ),\n", " solvation_settings=equil_rfe_settings.OpenMMSolvationSettings(\n", " solvent_model='tip3p', # Solvent model to generate starting coords\n", - " solvent_padding=1.2 * unit.nm, # Total distance between periodic image starting coords\n", - " box_shape = 'cube', # Cubic water box\n", + " solvent_padding=1.5 * unit.nm, # Total distance between periodic image starting coords\n", + " box_shape = 'dodecahedron', # Dodecahedral water box\n", " box_size = None, # Size of the water box\n", " box_vectors = None, # Box vectors\n", " number_of_solvent_molecules = None, # Number of solvent molecules\n", @@ -372,7 +382,7 @@ " # Alchemical Space Sampling settings\n", " n_replicas=11, # Number of replicas sampling alchemical space\n", " sampler_method='repex', # Sample lambda with Hamiltonian Replica Exchange\n", - " time_per_iteration=1*unit.ps, # Time interval between state sampling (MCMC) attempts\n", + " time_per_iteration=2.5*unit.ps, # Time interval between state sampling (MCMC) attempts\n", " \n", " # SAMS sampling settings (used if sampler_method='sams')\n", " sams_flatness_criteria='logZ-flatness', # Criteria for switch to asymptomatically optimal scheme\n", @@ -380,22 +390,22 @@ " \n", " # Settings to control free energy analysis\n", " # Time interval at which to perform an analysis of the free energies\n", - " real_time_analysis_interval=250*unit.picosecond,\n", + " real_time_analysis_interval=250.0*unit.picosecond,\n", " # Minimum simulation time before energy analysis is carried out\n", - " real_time_analysis_minimum_time=500*unit.picosecond,\n", + " real_time_analysis_minimum_time=500.0*unit.picosecond,\n", " # Stop simulation if this target error is reached:\n", " early_termination_target_error=0.0*unit.kilocalorie_per_mole,\n", " ),\n", " engine_settings=equil_rfe_settings.OpenMMEngineSettings(\n", - " compute_platform=None, # Let OpenMM choose the best platform for your hardware\n", + " compute_platform='cuda', # you can set to None to let OpenMM choose the best platform for your hardware\n", " ),\n", " integrator_settings=equil_rfe_settings.IntegratorSettings(\n", - " timestep=4 * unit.femtosecond, # Integration timestep\n", + " timestep=4.0 * unit.femtosecond, # Integration timestep\n", " langevin_collision_rate=1.0 / unit.picosecond, # Langevin integrator collision rate γ\n", " reassign_velocities=False, # False: Velocities are not lost through MCMC moves\n", " n_restart_attempts=20, # Restart simulations the first n times they blow up\n", " constraint_tolerance=1e-06, # Tolerance for holonomic constraints\n", - " barostat_frequency=25 * unit.timestep, # Attempt MC volume scaling every n integration steps\n", + " barostat_frequency=25.0 * unit.timestep, # Attempt MC volume scaling every n integration steps\n", " remove_com=False, # False: don't remove the center of mass motion\n", " ),\n", " output_settings=equil_rfe_settings.MultiStateOutputSettings(\n", @@ -404,7 +414,7 @@ " checkpoint_storage_filename='checkpoint.chk', # Filename for simulation checkpoints\n", " forcefield_cache='db.json', # Cache for small molecule residue templates\n", " output_indices='not water', # Do not save water positions\n", - " checkpoint_interval=1 * unit.ns, # Save a checkpoint every 1 nanoseconds\n", + " checkpoint_interval=1.0 * unit.ns, # Save a checkpoint every 1 nanoseconds\n", " positions_write_frequency=100.0 * unit.picosecond, # Save position every 100 picoseconds\n", " velocities_write_frequency = None, # Don't save velocities\n", " ),\n", @@ -413,7 +423,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 18, "id": "b499d852-4d7e-47c5-9342-31017baed37c", "metadata": { "nbsphinx": "hidden", @@ -422,12 +432,111 @@ }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "ename": "AssertionError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mAssertionError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[18]\u001b[39m\u001b[32m, line 2\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# Double check that the above settings match the defaults\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m2\u001b[39m \u001b[38;5;28;01massert\u001b[39;00m settings == RelativeHybridTopologyProtocol.default_settings()\n", + "\u001b[31mAssertionError\u001b[39m: " + ] + } + ], "source": [ "# Double check that the above settings match the defaults\n", "assert settings == RelativeHybridTopologyProtocol.default_settings()" ] }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2905c6f8-05a9-4f04-8857-c4cd0fa57145", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'alchemical_settings': {'endstate_dispersion_correction': False,\n", + " 'explicit_charge_correction': False,\n", + " 'explicit_charge_correction_cutoff': {'unit': 'nanometer',\n", + " 'val': 0.8},\n", + " 'softcore_LJ': 'gapsys',\n", + " 'softcore_alpha': 0.85,\n", + " 'turn_off_core_unique_exceptions': False,\n", + " 'use_dispersion_correction': False},\n", + " 'engine_settings': {'compute_platform': 'cuda', 'gpu_device_index': None},\n", + " 'forcefield_settings': {'constraints': 'hbonds',\n", + " 'forcefields': ['amber/ff14SB.xml',\n", + " 'amber/tip3p_standard.xml',\n", + " 'amber/tip3p_HFE_multivalent.xml',\n", + " 'amber/phosaa10.xml'],\n", + " 'hydrogen_mass': 3.0,\n", + " 'nonbonded_cutoff': {'unit': 'nanometer', 'val': 0.9},\n", + " 'nonbonded_method': 'PME',\n", + " 'rigid_water': True,\n", + " 'small_molecule_forcefield': 'openff-2.2.1'},\n", + " 'integrator_settings': {'barostat_frequency': {'unit': 'timestep',\n", + " 'val': 25.0},\n", + " 'constraint_tolerance': 1e-06,\n", + " 'langevin_collision_rate': {'unit': '1 / picosecond',\n", + " 'val': 1.0},\n", + " 'n_restart_attempts': 20,\n", + " 'reassign_velocities': False,\n", + " 'remove_com': False,\n", + " 'timestep': {'unit': 'femtosecond', 'val': 4.0}},\n", + " 'lambda_settings': {'lambda_functions': 'default', 'lambda_windows': 11},\n", + " 'output_settings': {'checkpoint_interval': {'unit': 'nanosecond', 'val': 1.0},\n", + " 'checkpoint_storage_filename': 'checkpoint.chk',\n", + " 'forcefield_cache': 'db.json',\n", + " 'output_filename': 'simulation.nc',\n", + " 'output_indices': 'not water',\n", + " 'output_structure': 'hybrid_system.pdb',\n", + " 'positions_write_frequency': {'unit': 'picosecond',\n", + " 'val': 100.0},\n", + " 'velocities_write_frequency': None},\n", + " 'partial_charge_settings': {'nagl_model': None,\n", + " 'number_of_conformers': None,\n", + " 'off_toolkit_backend': 'ambertools',\n", + " 'partial_charge_method': 'am1bcc'},\n", + " 'protocol_repeats': 3,\n", + " 'simulation_settings': {'early_termination_target_error': {'unit': 'kilocalorie_per_mole',\n", + " 'val': 0.0},\n", + " 'equilibration_length': {'unit': 'nanosecond',\n", + " 'val': 1.0},\n", + " 'minimization_steps': 5000,\n", + " 'n_replicas': 11,\n", + " 'production_length': {'unit': 'nanosecond',\n", + " 'val': 5.0},\n", + " 'real_time_analysis_interval': {'unit': 'picosecond',\n", + " 'val': 250.0},\n", + " 'real_time_analysis_minimum_time': {'unit': 'picosecond',\n", + " 'val': 500.0},\n", + " 'sampler_method': 'repex',\n", + " 'sams_flatness_criteria': 'logZ-flatness',\n", + " 'sams_gamma0': 1.0,\n", + " 'time_per_iteration': {'unit': 'picosecond',\n", + " 'val': 2.5}},\n", + " 'solvation_settings': {'box_shape': 'dodecahedron',\n", + " 'box_size': None,\n", + " 'box_vectors': None,\n", + " 'number_of_solvent_molecules': None,\n", + " 'solvent_model': 'tip3p',\n", + " 'solvent_padding': {'unit': 'nanometer', 'val': 1.5}},\n", + " 'thermo_settings': {'ph': None,\n", + " 'pressure': {'unit': 'bar', 'val': 1},\n", + " 'redox_potential': None,\n", + " 'temperature': {'unit': 'kelvin', 'val': 298.15}}}\n" + ] + } + ], + "source": [ + "RelativeHybridTopologyProtocol.default_settings()" + ] + }, { "cell_type": "markdown", "id": "99a37707-7658-4ccd-844e-a9a4cbe058aa", @@ -484,7 +593,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.10" + "version": "3.13.10" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/openfold3_to_openfe.ipynb b/cookbook/openfold3_to_openfe.ipynb index 706e3d3..e96b003 100644 --- a/cookbook/openfold3_to_openfe.ipynb +++ b/cookbook/openfold3_to_openfe.ipynb @@ -266,47 +266,20 @@ "scrolled": true }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/site-packages/Bio/Application/__init__.py:39: BiopythonDeprecationWarning: The Bio.Application modules and modules relying on it have been deprecated.\n", - "\n", - "Due to the on going maintenance burden of keeping command line application\n", - "wrappers up to date, we have decided to deprecate and eventually remove these\n", - "modules.\n", - "\n", - "We instead now recommend building your command line and invoking it directly\n", - "with the subprocess module.\n", - " warnings.warn(\n", - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/site-packages/MDAnalysis/coordinates/PDB.py:777: UserWarning: Unit cell dimensions not found. CRYST1 record set to unitary values.\n", - " warnings.warn(\"Unit cell dimensions not found. \"\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", - "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", - "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", - "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", - "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", - "\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ "Extracting ligand from assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb...\n", + "Extracting ligand from assets/of3_output/lig_ejm_46_seed_42_sample_1_model.pdb...\n", "Extracting ligand from assets/of3_output/lig_ejm_50_seed_42_sample_1_model.pdb...\n", + "Extracting ligand from assets/of3_output/lig_ejm_47_seed_42_sample_1_model.pdb...\n", "Extracting ligand from assets/of3_output/lig_ejm_31_seed_42_sample_1_model.pdb...\n", + "Extracting ligand from assets/of3_output/lig_jmc_23_seed_42_sample_1_model.pdb...\n", "Extracting ligand from assets/of3_output/lig_ejm_42_seed_42_sample_1_model.pdb...\n", - "Extracting ligand from assets/of3_output/lig_ejm_47_seed_42_sample_1_model.pdb...\n", - "Extracting ligand from assets/of3_output/lig_ejm_48_seed_42_sample_1_model.pdb...\n", "Extracting ligand from assets/of3_output/lig_jmc_28_seed_42_sample_1_model.pdb...\n", - "Extracting ligand from assets/of3_output/lig_ejm_46_seed_42_sample_1_model.pdb...\n", + "Extracting ligand from assets/of3_output/lig_ejm_48_seed_42_sample_1_model.pdb...\n", "Extracting ligand from assets/of3_output/lig_ejm_43_seed_42_sample_1_model.pdb...\n", - "Extracting ligand from assets/of3_output/lig_jmc_23_seed_42_sample_1_model.pdb...\n", "Largest ligand is lig_jmc_27 with volume 0.527086179283399\n" ] }, @@ -314,15 +287,27 @@ "name": "stderr", "output_type": "stream", "text": [ - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.13/site-packages/MDAnalysis/coordinates/PDB.py:885: UserWarning: Unit cell dimensions not found. CRYST1 record set to unitary values.\n", + " warnings.warn(\n", + "[12:17:44] WARNING: More than one matching pattern found - picking one\n", + "\n", + "[12:17:44] WARNING: More than one matching pattern found - picking one\n", + "\n", + "[12:17:44] WARNING: More than one matching pattern found - picking one\n", + "\n", + "[12:17:44] WARNING: More than one matching pattern found - picking one\n", "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", + "[12:17:44] WARNING: More than one matching pattern found - picking one\n", "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[15:56:44] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", + "\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", + "\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n" ] } @@ -386,49 +371,55 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 5, "id": "26c10e11-f001-44e5-87a4-2939ead048a8", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", + "\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", + "\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ "Aligning assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning assets/of3_output/lig_ejm_46_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", "Aligning assets/of3_output/lig_ejm_50_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning assets/of3_output/lig_ejm_47_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", "Aligning assets/of3_output/lig_ejm_31_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning assets/of3_output/lig_jmc_23_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", "Aligning assets/of3_output/lig_ejm_42_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning assets/of3_output/lig_ejm_47_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning assets/of3_output/lig_ejm_48_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", "Aligning assets/of3_output/lig_jmc_28_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning assets/of3_output/lig_ejm_46_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning assets/of3_output/lig_ejm_43_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning assets/of3_output/lig_jmc_23_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n" + "Aligning assets/of3_output/lig_ejm_48_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning assets/of3_output/lig_ejm_43_seed_42_sample_1_model.pdb to assets/of3_output/lig_jmc_27_seed_42_sample_1_model.pdb\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", - "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", - "\n", - "[16:00:27] WARNING: More than one matching pattern found - picking one\n", + "[12:17:45] WARNING: More than one matching pattern found - picking one\n", "\n" ] } @@ -496,23 +487,13 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 6, "id": "ea82c47d-9794-424c-8d27-a9c6e69d29e8", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=160317) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", - " pid, fd = os.forkpty()\n" - ] - } - ], + "outputs": [], "source": [ "# now run the reference protein through pdbfixer\n", - "%% bash\n", - "pdbfixer assets/of3_output/p_aligned/protein.pdb --add-atoms=all --add-residues --output=assets/of3_output/p_aligned/protein_fixed.pdb" + "! pdbfixer assets/of3_output/p_aligned/protein.pdb --add-atoms=all --add-residues --output=assets/of3_output/p_aligned/protein_fixed.pdb" ] }, { @@ -531,7 +512,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 7, "id": "fc97de03", "metadata": {}, "outputs": [ @@ -539,7 +520,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Generating charges: 100%|███████████████████████| 10/10 [00:06<00:00, 1.57it/s]\n" + "Generating charges: 100%|███████████████████████| 10/10 [00:05<00:00, 1.76it/s]\n" ] } ], @@ -580,7 +561,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 8, "id": "88bbbbca-4f6a-4496-bea9-f621ffd8183e", "metadata": {}, "outputs": [ @@ -588,7 +569,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/site-packages/gufe/components/explicitmoleculecomponent.py:60: UserWarning: Molecule doesn't have any hydrogen atoms present. If this is unexpected, consider loading the molecule with `removeHs=False`\n", + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.13/site-packages/gufe/components/explicitmoleculecomponent.py:60: UserWarning: Molecule doesn't have any hydrogen atoms present. If this is unexpected, consider loading the molecule with `removeHs=False`\n", " warnings.warn(\n" ] } @@ -607,7 +588,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 9, "id": "30373ee0-d777-4828-b89a-5a8fdbc56c41", "metadata": {}, "outputs": [], @@ -629,7 +610,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 10, "id": "c405e50c-1df3-4bef-8278-393550e1fc6a", "metadata": {}, "outputs": [], @@ -639,7 +620,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 11, "id": "987a1657-82d0-4310-9fe7-4eecd289632a", "metadata": {}, "outputs": [], @@ -670,7 +651,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 12, "id": "037cb959-8f0c-4a09-844a-30e39590eabf", "metadata": {}, "outputs": [], @@ -692,7 +673,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 13, "id": "ef7a9ebf-e0d7-4dda-aac5-d4428b120814", "metadata": {}, "outputs": [], @@ -718,7 +699,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 14, "id": "7ad01abd-097c-466d-9a3f-74a67e4d9015", "metadata": {}, "outputs": [], @@ -729,7 +710,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 15, "id": "71d4ff18-a837-443d-bc02-69554e7d76cf", "metadata": {}, "outputs": [], @@ -761,7 +742,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 16, "id": "3e343c11-b693-4700-b1ea-2fa7951afa88", "metadata": {}, "outputs": [], @@ -775,7 +756,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 17, "id": "a531a0cb-3eda-4d25-89d8-347f470d40ea", "metadata": {}, "outputs": [], @@ -801,7 +782,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 18, "id": "31d18f6d-b938-4de3-9b2f-3c6e9bedd827", "metadata": {}, "outputs": [], @@ -832,7 +813,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 19, "id": "b5186710-f89e-4c86-998f-4e9fe076a2d8", "metadata": {}, "outputs": [ @@ -840,7 +821,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/site-packages/gufe/components/explicitmoleculecomponent.py:74: UserWarning: RDKit does not preserve Mol properties when pickled by default, which may drop e.g. atom charges; consider setting `Chem.SetDefaultPickleProperties(Chem.PropertyPickleOptions.AllProps)`\n", + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.13/site-packages/gufe/components/explicitmoleculecomponent.py:74: UserWarning: RDKit does not preserve Mol properties when pickled by default, which may drop e.g. atom charges; consider setting `Chem.SetDefaultPickleProperties(Chem.PropertyPickleOptions.AllProps)`\n", " warnings.warn(\n" ] } @@ -862,7 +843,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 20, "id": "c8db1e94-c146-4daf-bdb2-4383b4fcd0d6", "metadata": {}, "outputs": [ @@ -889,7 +870,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] @@ -916,7 +897,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 21, "id": "7d3c436c-fd93-4a3e-9933-e43b00783931", "metadata": {}, "outputs": [], @@ -940,7 +921,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 22, "id": "b161b5b6-7718-4a47-b834-e3d88082bb31", "metadata": {}, "outputs": [], @@ -970,7 +951,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 23, "id": "3bbd3d6d-35f0-490f-8fdd-4debc7874e23", "metadata": {}, "outputs": [], @@ -1000,7 +981,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 24, "id": "8b374e77-64fb-48a1-b9ae-9b1dba74ebb5", "metadata": {}, "outputs": [], @@ -1050,7 +1031,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.11" + "version": "3.13.10" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/openmm_septop/septop_tutorial.ipynb b/openmm_septop/septop_tutorial.ipynb index e995c2e..7181af9 100644 --- a/openmm_septop/septop_tutorial.ipynb +++ b/openmm_septop/septop_tutorial.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "id": "e178d4d3", "metadata": {}, "outputs": [], @@ -57,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "id": "111a9e15", "metadata": {}, "outputs": [], @@ -98,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "id": "fc97de03", "metadata": {}, "outputs": [], @@ -109,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "id": "41cf8be7", "metadata": {}, "outputs": [], @@ -134,7 +134,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 5, "id": "5219106c", "metadata": {}, "outputs": [ @@ -142,17 +142,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Generating charges: 0%| | 0/10 [00:00" ] }, - "execution_count": 20, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -266,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 9, "id": "2263838f", "metadata": {}, "outputs": [], @@ -307,7 +297,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 10, "id": "9d2fbc22", "metadata": {}, "outputs": [], @@ -318,7 +308,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 11, "id": "3f1706ee", "metadata": {}, "outputs": [], @@ -328,7 +318,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 12, "id": "710285ca", "metadata": {}, "outputs": [], @@ -357,28 +347,12 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 13, "id": "3f394a0d", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/atravitz/micromamba/envs/openfe-conda/lib/python3.11/site-packages/Bio/Application/__init__.py:39: BiopythonDeprecationWarning: The Bio.Application modules and modules relying on it have been deprecated.\n", - "\n", - "Due to the on going maintenance burden of keeping command line application\n", - "wrappers up to date, we have decided to deprecate and eventually remove these\n", - "modules.\n", - "\n", - "We instead now recommend building your command line and invoking it directly\n", - "with the subprocess module.\n", - " warnings.warn(\n" - ] - } - ], + "outputs": [], "source": [ "from openfe.protocols.openmm_septop import SepTopProtocol" ] @@ -395,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 14, "id": "c2b3de6d-1f11-432d-82f3-9deff16c78dc", "metadata": {}, "outputs": [], @@ -415,7 +389,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 15, "id": "7adf42d6", "metadata": {}, "outputs": [], @@ -435,7 +409,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 16, "id": "44ba94ca", "metadata": {}, "outputs": [], @@ -472,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 17, "id": "66666a80", "metadata": {}, "outputs": [], @@ -517,7 +491,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 18, "id": "d6cebd9a", "metadata": {}, "outputs": [], @@ -534,7 +508,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 19, "id": "b96b57a9", "metadata": {}, "outputs": [ @@ -548,6 +522,14 @@ "rbfe_lig_ejm_31_lig_ejm_48.json rbfe_lig_ejm_46_lig_jmc_28.json\n", "rbfe_lig_ejm_31_lig_ejm_50.json\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.13/pty.py:95: DeprecationWarning: This process (pid=80258) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", + " pid, fd = os.forkpty()\n" + ] } ], "source": [ @@ -593,44 +575,21 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "id": "de7d7920-b171-42fe-9b82-5ff5694d26e5", "metadata": {}, "outputs": [], "source": [ - "import gzip\n", - "import json\n", - "import gufe\n", + "# uncomment the following lines if you've run the transformation\n", "\n", - "outfile = \"results/rbfe_lig_ejm_31_lig_ejm_42.json\"\n", - "with open(outfile) as stream:\n", - " results = json.load(stream)\n", - " estimate = results['estimate']\n", - " uncertainty = results['uncertainty']" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "0e2e0727-2c4a-4b60-947c-44504aed2eee", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'magnitude': -1.0343272142162547,\n", - " 'unit': 'kilocalorie_per_mole',\n", - " ':is_custom:': True,\n", - " 'pint_unit_registry': 'openff_units'}" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "estimate" + "# import json\n", + "\n", + "# outfile = \"results/rbfe_lig_ejm_31_lig_ejm_42.json\"\n", + "# with open(outfile) as stream:\n", + "# results = json.load(stream)\n", + "# estimate = results['estimate']\n", + "# uncertainty = results['uncertainty']\n", + "# estimate" ] } ], @@ -650,7 +609,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.14" + "version": "3.13.10" } }, "nbformat": 4,