From 307715a9387c9d74983bf890e441288bb1f564d9 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 30 Apr 2026 11:05:53 -0700 Subject: [PATCH 1/4] add openfold output cell --- cookbook/openfold3_to_openfe.ipynb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cookbook/openfold3_to_openfe.ipynb b/cookbook/openfold3_to_openfe.ipynb index e048e05..b1f1177 100644 --- a/cookbook/openfold3_to_openfe.ipynb +++ b/cookbook/openfold3_to_openfe.ipynb @@ -218,6 +218,24 @@ "`run_openfold predict --query_json=queries.json --runner_yaml output_settings.yml`" ] }, + { + "cell_type": "markdown", + "id": "9c1ab9ee-71f5-4587-bea1-35097621c039", + "metadata": {}, + "source": [ + "### Evaluating OpenFold output" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "32cd3cbd-9d5f-4214-90da-a84ed645d35b", + "metadata": {}, + "outputs": [], + "source": [ + "# confidence scores for each ligand are at assets/of3_tyk2_output/{lig_name}/*/*confidences*.json" + ] + }, { "cell_type": "markdown", "id": "b4adde29-282a-45f6-96a6-c8de0700a266", From a968c9fe893fffee95009c006e4ebd92926069ce Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 30 Apr 2026 14:21:39 -0700 Subject: [PATCH 2/4] reorganizing sections --- cookbook/openfold3_to_openfe.ipynb | 644 +++++++++++++---------------- 1 file changed, 298 insertions(+), 346 deletions(-) diff --git a/cookbook/openfold3_to_openfe.ipynb b/cookbook/openfold3_to_openfe.ipynb index b1f1177..815584e 100644 --- a/cookbook/openfold3_to_openfe.ipynb +++ b/cookbook/openfold3_to_openfe.ipynb @@ -35,48 +35,18 @@ }, { "cell_type": "markdown", - "id": "1e89d5ef-e362-4335-9cbb-9752341b29f9", + "id": "2fea29c3", "metadata": {}, "source": [ - "## Overview\n", - "\n", - "In this example notebook we demonstrate how to predict and run simulations for different ligands bound to tyrosine kinase 2 (TYK2). The dataset comes from the [Wang et al. JACS 2015 dataset](https://pubs.acs.org/doi/10.1021/ja512751q).\n", - "\n", - "
\n", - "\n", - "\n", - "**The tutorial is broken into the following steps:**\n", - "\n", - "1. Running cofolding with OpenFold3 on a set of TYK2 ligands\n", - "\n", - "2. Processing the OpenFold3 output for use with OpenFE\n", - "\n", - " a) Choosing a reference protein structure\n", - "\n", - " b) Aligning & extracting the necessary ligands & protein structures.\n", - "\n", - " c) Fixing & protonating the reference protein structure.\n", - "\n", - "\n", - "3. Loading structures into OpenFE Components\n", - "\n", - "4. Creating a free energy transformation with 3 protocol options\n", - "\n", - " a) Absolute Binding Free Energy Transformation\n", - "\n", - " b) SepTop Relative Binding Free Energy Transformation\n", - "\n", - " c) Hybrid Topology Relative Binding Free Energy Transformation" + "## 1. Run cofolding with OpenFold3 on a set of TYK2 ligands" ] }, { "cell_type": "markdown", - "id": "2fea29c3", + "id": "ef3bdb1f-504a-4311-8e0a-c28265b006cb", "metadata": {}, "source": [ - "## 1. Run cofolding with OpenFold3 on a set of TYK2 ligands\n", - "\n", - "### Preparing the Input JSON for OpenFold\n", + "### Preparing the input JSON for OpenFold\n", "\n", "First we need to create an input JSON file for OpenFold. This step requires assembling two key pieces of information:\n", "\n", @@ -84,6 +54,7 @@ "- Protein sequence (extracted from the PDB file)\n", "\n", "In this workflow, we begin with an SDF file containing the ligands.\n", + "\n", "We extract the SMILES representation for each ligand and store them in a dictionary alongside their ligand identifiers." ] }, @@ -96,12 +67,14 @@ }, "outputs": [], "source": [ - "ligands_file = \"assets/tyk2_ligands.sdf\"\n", "from rdkit.Chem.Descriptors3D import Asphericity\n", "from rdkit import Chem\n", "\n", + "ligands_file = \"assets/tyk2_ligands.sdf\"\n", + "\n", "ligands_dict = {}\n", "sppl = Chem.SDMolSupplier(ligands_file, removeHs=True)\n", + "\n", "for mol in sppl:\n", " smi = Chem.MolToSmiles(mol)\n", " name = mol.GetProp(\"_Name\")\n", @@ -143,7 +116,7 @@ "id": "80da7967-8046-44e4-aef7-c81ac6712f98", "metadata": {}, "source": [ - "We then create the JSON file that will be the OpenFold input." + "Next we create the JSON file that will be the OpenFold input." ] }, { @@ -199,23 +172,29 @@ "source": [ "### Running OpenFold\n", "\n", - "#### Defining the output settings\n", + "#### Defining the OpenFold settings\n", "\n", - "By default OpenFold3 outputs `.mmcif` files, but OpenFE requires `.pdb` files. We can ask OpenFold to generate this instead by defining it in the output settings.\n", + "we define the following settings in a `settings.yaml` file to be passed to OpenFold:\n", "\n", - "To do this, create an `output_settings.yml` file to specify .pdb as the output file format:\n", + "```json\n", + "model_update:\n", + " presets:\n", + " - predict\n", + " - low_mem\n", + " custom:\n", + " settings:\n", + " memory:\n", + " eval:\n", + " use_cueq_triangle_kernels: true\n", + " use_deepspeed_evo_attention: false\n", "\n", - "```\n", - "output_writer_settings:\n", - " # change output format to pdb (default: mmcif):\n", - " structure_format: pdb\n", - "```\n", "\n", + "```\n", "#### Running OpenFold\n", "\n", "With all these inputs, you can now run OpenFold:\n", "\n", - "`run_openfold predict --query_json=queries.json --runner_yaml output_settings.yml`" + "`run_openfold predict --query_json=queries.json --runner_yaml settings.yaml`" ] }, { @@ -223,361 +202,196 @@ "id": "9c1ab9ee-71f5-4587-bea1-35097621c039", "metadata": {}, "source": [ - "### Evaluating OpenFold output" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "32cd3cbd-9d5f-4214-90da-a84ed645d35b", - "metadata": {}, - "outputs": [], - "source": [ - "# confidence scores for each ligand are at assets/of3_tyk2_output/{lig_name}/*/*confidences*.json" - ] - }, - { - "cell_type": "markdown", - "id": "b4adde29-282a-45f6-96a6-c8de0700a266", - "metadata": {}, - "source": [ - "## 2. Processing the OpenFold3 output for use with OpenFE\n", + "#### Evaluating OpenFold output\n", + "\n", + "confidence scores for each ligand are at ``assets/of3_tyk2_output/{lig_name}/seed_42/*confidences.json``\n", "\n", "
\n", "⚠️ Important Note:\n", - " Here we use the first model for each complex predicted by OpenFold3. In practice you would filter through all predicted models, possibly using pose busters (github.com/maabuu/posebusters) and some other scoring metrics to identify the most plausible inputs.\n", + " Here we use the first model for each complex predicted by OpenFold3. In practice you would filter through all predicted models using confidence scores, and possibly using pose busters (github.com/maabuu/posebusters).\n", "
" ] }, { "cell_type": "markdown", - "id": "eaf920be-9e16-402b-9fc5-8e1d4f3712cf", + "id": "721074db-8266-4c3e-b592-64220e0cfd8f", "metadata": {}, "source": [ - "### Preparing & extracting the structures\n", - "\n", - "Now that we have a set of predicted structures, we must extract the relevant information from the PDB files.\n", - "This means:\n", - "\n", - "a) Choosing a reference protein structure which will be used for all binding affinity predictions\n", - "\n", - " - This is necessary for RBFE simulations, where a single structure must be kept constant throughout the transformations. Note that for ABFE simulations, this step can be avoided.\n", - " - For the sake of this demonstration, we will be choosing the predicted structure that is bound to the ligand occupying the largest volume. The idea here being that hopefully the binding site of that structure can accomodate all the other ligands. We note that in practice this is not always true.\n", - "\n", - "b) Aligning the structures to the reference & extracting the necessary structures\n", - "\n", - " - This is so that we can extract the ligands and use them with the chosen structure.\n", - "\n", - "c) Fixing & protonating the reference protein structure.\n", - "\n", - "\n", - "#### a) Choosing a reference protein structure\n", - "\n", - "As mentioned above, we will select a reference protein structure for all simulations going forward. To do this, we naively select the structure bound to a ligand with the largest volume.\n", - "\n", - "Here we load in all the structures into MDAnalysis, extract the ligands into RDKit molecules using their initial SMILES definitions as bond/formal charge templates, and then get the ligand with the largest volume using the `Asphericity` 3D descriptor." + "## 2. Running OpenFE Protocols with OpenFold structures" ] }, { - "cell_type": "code", - "execution_count": 4, - "id": "25ef33bf-fb1a-45da-96e4-004f77ef7d34", + "cell_type": "markdown", + "id": "249ec515-cfad-4f49-8dba-ee2438b1adf4", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Extracting ligand from lig_ejm_50_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_jmc_23_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_ejm_43_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_ejm_42_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_ejm_31_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_ejm_47_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_ejm_46_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_ejm_48_seed_42_sample_1_model.pdb\n", - "Extracting ligand from lig_jmc_28_seed_42_sample_1_model.pdb\n", - "\n", - "Largest ligand is lig_jmc_27 with volume 0.5209626577896912\n" - ] - } - ], "source": [ - "import pathlib\n", - "import MDAnalysis as mda\n", - "from MDAnalysis.analysis import align\n", - "from rdkit import Chem, rdBase\n", - "from rdkit.Chem import AllChem\n", - "from rdkit.Chem.Descriptors3D import Asphericity\n", - "import warnings\n", + "We will demonstrate how to use OpenFold generated structures with three different OpenFE protocols:\n", "\n", - "# don't show warnings that are expected and not an issue\n", - "warnings.filterwarnings(action=\"ignore\", message=r\"Unit cell dimensions not found\") \n", - "\n", - "# gather all the complexes and align to a single structure\n", - "# which has the largest ligand by volume \n", - "of_results_root = pathlib.Path(\"assets/of3_tyk2_output/\")\n", - "output_root = pathlib.Path(\"openfold_to_openfe\")\n", - "temp_dir = pathlib.Path(output_root,\"temp_ligands\")\n", - "temp_dir.mkdir(exist_ok=True,parents=True)\n", - "# load all the output pdbs and calculate ligand volumes\n", - "ligand_volumes = {}\n", + "a) Absolute Binding Free Energy\n", "\n", - "for output_file in of_results_root.glob(\"*/*/*.pdb\"):\n", - " ligand_name = output_file.name.split('_seed')[0]\n", - " print(f\"Extracting ligand from {output_file.name}\")\n", - " with warnings.catch_warnings(): \n", - " warnings.simplefilter(\"ignore\")\n", - " u = mda.Universe(str(output_file))\n", - " ligand = u.select_atoms(\"resname LIG\")\n", - " # write the ligand to a temporary file\n", - " ligand.write(str(temp_dir / f\"{ligand_name}.pdb\"))\n", - " # now load back with rdkit\n", - " rdkit_mol = Chem.MolFromPDBFile(str(temp_dir / f\"{ligand_name}.pdb\"), removeHs=True)\n", - " # now use a template from the SMILES definitions to make sure the bond orders are correct\n", - " template_mol = Chem.MolFromSmiles(ligands_dict[ligand_name])\n", - " # don't show rdkit's \"WARNING: More than one matching pattern found - picking one\" for every ligand\n", - " with rdBase.BlockLogs(): \n", - " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", - " # calculate the volume\n", - " vsa = Asphericity(rdkit_mol)\n", - " ligand_volumes[ligand_name] = vsa\n", + "b) Separated Topologies\n", "\n", - "# find the ligand with the largest volume\n", - "largest_ligand = max(ligand_volumes, key=ligand_volumes.get)\n", - "print(f\"\\nLargest ligand is {largest_ligand} with volume {ligand_volumes[largest_ligand]}\")" + "c) Hybrid Topology\n" ] }, { "cell_type": "markdown", - "id": "6056e755-0da0-4712-b4ae-7a721c94851d", + "id": "48d2bae8-79d2-41d9-a3eb-61d6c2c25924", "metadata": {}, "source": [ - "#### b) Aligning & extracting the necessary structures\n", - "\n", - "Next we align all the models back to the reference structure. We then extract all the ligands and the protein atoms from the reference." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "26c10e11-f001-44e5-87a4-2939ead048a8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Aligning lig_ejm_50_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_jmc_23_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_ejm_43_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_ejm_42_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_ejm_31_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_ejm_47_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_jmc_27_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_ejm_46_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_ejm_48_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", - "Aligning lig_jmc_28_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n" - ] - } - ], - "source": [ - "reference_pdb = pathlib.Path(of_results_root, largest_ligand, \"seed_42\", f\"{largest_ligand}_seed_42_sample_1_model.pdb\")\n", - "other_pdbs = of_results_root.glob(\"*/*/*_seed_42_sample_1_model.pdb\")\n", - "output_dir = pathlib.Path(\"openfold_to_openfe/p_aligned/\")\n", - "output_dir.mkdir(exist_ok=True)\n", - "\n", - "ref = mda.Universe(reference_pdb)\n", - "for pdb in other_pdbs:\n", - " print(f\"Aligning {pdb.name} to {reference_pdb.name}\")\n", - " ligand = pdb.name.split('_seed')[0]\n", - " mob = mda.Universe(pdb)\n", + "### Creating OpenFE components from the inputs\n", "\n", - " # Align mobile → reference using protein backbone\n", - " ref_prot = ref.select_atoms(\"protein and backbone\")\n", - " mob_prot = mob.select_atoms(\"protein and backbone\")\n", - " \n", - " # Perform alignment in-place\n", - " align.alignto(mob_prot, ref_prot)\n", - " aligned_ligand = mob.select_atoms(\"resname LIG\")\n", - " aligned_ligand.write(f'{output_dir}/{ligand}.pdb')\n", - " # load back into rdkit to add hydrogens\n", - " rdkit_mol = Chem.MolFromPDBFile(f'{output_dir}/{ligand}.pdb', removeHs=True)\n", - " # use the template to assign bond orders\n", - " template_mol = Chem.MolFromSmiles(ligands_dict[ligand])\n", - " with rdBase.BlockLogs(): \n", - " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", - " # Add hydrogens\n", - " rdkit_mol = AllChem.AddHs(rdkit_mol, addCoords=True)\n", - " # Set the molecule name\n", - " rdkit_mol.SetProp('_Name', f\"{ligand}\")\n", - " # write to sdf\n", - " Chem.MolToMolFile(rdkit_mol, output_dir / f\"{ligand}_prepped.sdf\")\n", + "Now we can create OpenFE components from the files we prepared above.\n", + "#### Loading ligands and assigning partial charges\n", "\n", - " # For the reference pdb, save the protein alone\n", - " if pdb.name.split('_seed')[0] == largest_ligand:\n", - " full_protein = mob.select_atoms(\"protein\")\n", - " full_protein.write(f'{output_dir}/protein.pdb')" + "First we load the ligands and assign partial charges to them using OpenFF's NAGL model." ] }, { "cell_type": "markdown", - "id": "fe3ca792-4615-4be3-8a41-feb0819e968d", + "id": "6419b4ec-6513-47ca-bb66-0eb17a7224c3", "metadata": {}, "source": [ - "
\n", - "⚠️ Important Note:\n", - "

\n", - " Here simply we assign ligand protonation states to those we defined at the start of this exercise. Additionally, below we will assign protein protonation states using PDBFixer at pH 7 without accounting for the ligand.

\n", - " In practice more care would be taken when protonating the complexes, using more complex tools such as Maestro or OpenEye's Spruce. For example, ligand protonation states may change depending on the chemical environment they are bound to.\n", - "
" + "### 2a) Absolute Binding Free Energy (ABFE) Transformation\n", + "\n", + "The ABFE protocol requires the least amount of post-processing of the OpenFold outputs.\n", + "\n", + "For the sake of simplicity, we will only create a Transformation for `lig_jmc_27`, but this process is generalizable to the rest of the ligands in the series.\n" ] }, { "cell_type": "markdown", - "id": "10b42b56-2f47-4215-8397-fcf7473c4860", + "id": "cdeee4e3-ce8c-4151-9ef7-5a6017ac3dcb", "metadata": {}, "source": [ - "#### c) Fixing & protonating the reference protein structure\n", - "\n", - "The PDB contains the heavy atoms of the protein but is missing hydrogens and caps. Here we call PDBFixer to add hydrogens at pH 7 and add protein caps." + "#### Loading and assigning partial charges to the ligand(s)" ] }, { "cell_type": "code", "execution_count": 6, - "id": "ea82c47d-9794-424c-8d27-a9c6e69d29e8", + "id": "09725e7d-b959-4221-b027-1488b6fea22a", "metadata": {}, "outputs": [], "source": [ - "# now run the reference protein through pdbfixer\n", - "! pdbfixer openfold_to_openfe/p_aligned/protein.pdb --add-atoms=all --add-residues --output=openfold_to_openfe/p_aligned/protein_fixed.pdb" - ] - }, - { - "cell_type": "markdown", - "id": "89e52270-514c-4b21-8179-07c7319ff468", - "metadata": {}, - "source": [ - "## 3. Creating OpenFE components from the inputs\n", - "\n", - "Now we can create OpenFE components from the files we prepared above.\n", - "\n", - "### Loading ligands and assigning partial charges\n", - "\n", - "First we load the ligands and assign them partial charges using OpenFF's NAGL model." + "import openfe\n", + "supp = Chem.SDMolSupplier(\"assets/tyk2_ligands.sdf\", removeHs=False)\n", + "all_ligands = [openfe.SmallMoleculeComponent.from_rdkit(mol) for mol in supp]\n", + "ligand = [lig for lig in all_ligands if lig.name == 'lig_jmc_27'][0]" ] }, { "cell_type": "code", "execution_count": 7, - "id": "fc97de03", + "id": "0b78ec14-9ef9-4068-84ab-3271e6780d40", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Generating charges: 100%|███████████████████████| 10/10 [00:05<00:00, 1.85it/s]\n" + "Generating charges: 100%|█████████████████████████| 1/1 [00:00<00:00, 1.57it/s]\n" ] } ], "source": [ - "import glob\n", - "import openfe\n", "from openfe.protocols.openmm_utils.omm_settings import OpenFFPartialChargeSettings\n", "from openfe.protocols.openmm_utils.charge_generation import bulk_assign_partial_charges\n", "\n", - "# Load all the ligands\n", - "ligand_sdfs = glob.glob('openfold_to_openfe/p_aligned/*_prepped.sdf')\n", - "ligands = []\n", - "for l in ligand_sdfs:\n", - " ligand = openfe.SmallMoleculeComponent.from_sdf_file(l)\n", - " ligands.append(ligand)\n", - "\n", "# Generate partial charges\n", "charge_settings = OpenFFPartialChargeSettings(partial_charge_method=\"nagl\")\n", "\n", "charged_ligands = bulk_assign_partial_charges(\n", - " molecules=ligands,\n", + " molecules=[ligand],\n", " overwrite=False,\n", " method=charge_settings.partial_charge_method,\n", " toolkit_backend=charge_settings.off_toolkit_backend,\n", " generate_n_conformers=1,\n", " nagl_model=None,\n", - " processors=1\n", + " processors=1,\n", ")" ] }, { "cell_type": "markdown", - "id": "0d1e9f9d-ebe0-4fd5-be6f-fe03f7db75ee", + "id": "a84b9dfa-e92a-43fa-baae-a725778122cb", "metadata": {}, "source": [ - "Then we can load the reference protein to a ProteinComponent." + "#### Fixing & protonating the protein structure\n", + "\n", + "The PDB contains the heavy atoms of the protein but is missing hydrogens and caps. Here we call PDBFixer to add hydrogens at pH 7 and add protein caps." ] }, { "cell_type": "code", "execution_count": 8, - "id": "88bbbbca-4f6a-4496-bea9-f621ffd8183e", + "id": "ea82c47d-9794-424c-8d27-a9c6e69d29e8", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/site-packages/gufe/components/explicitmoleculecomponent.py:59: UserWarning: Molecule (name='tyk2') doesn't have any hydrogen atoms present. If this is unexpected, consider loading the molecule with `removeHs=False`\n", - " warnings.warn(\n" + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=37394) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", + " pid, fd = os.forkpty()\n" ] } ], "source": [ - "protein = openfe.ProteinComponent.from_pdb_file(\"openfold_to_openfe/p_aligned/protein.pdb\", name=\"tyk2\")" + "# now run the reference protein through pdbfixer\n", + "! pdbfixer assets/of3_tyk2_output/lig_jmc_27/seed_42/lig_jmc_27_seed_42_sample_1_model.pdb --add-atoms=all --add-residues --output=openfold_to_openfe/lig_jmc_27_seed_42_sample_1_model_fixed.pdb" ] }, { "cell_type": "markdown", - "id": "7936a780-99a5-4bcb-addf-64646b9f3a4d", + "id": "8c55d160-558f-426f-8a8c-9ae46d191cff", "metadata": {}, "source": [ - "Finally, let's also define a SolventComponent which we will use to define our Transformations." + "Then we can load the reference protein to a ProteinComponent." ] }, { "cell_type": "code", "execution_count": 9, - "id": "30373ee0-d777-4828-b89a-5a8fdbc56c41", - "metadata": {}, - "outputs": [], + "id": "88bbbbca-4f6a-4496-bea9-f621ffd8183e", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "ProteinComponent(name=tyk2)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "solvent = openfe.SolventComponent()" + "protein = openfe.ProteinComponent.from_pdb_file(\"openfold_to_openfe/lig_jmc_27_seed_42_sample_1_model_fixed.pdb\", name=\"tyk2\")\n", + "protein" ] }, { "cell_type": "markdown", - "id": "8a83aff9-a356-4a3f-aeed-cc3a0e989cf5", + "id": "4d11803b-6d4b-4507-8c98-6ff40f75680e", "metadata": {}, "source": [ - "## 4. Creating a Binding Free Energy Transformation\n", - "\n", - "### 4a) Absolute Binding Free Energy\n", - "Using these inputs, we can create ABFE Transformations. For the sake of simplicity, we will only create a Transformation for `lig_jmc_27`, but this process is generalizable to the rest of the ligands in the series.\n", - "\n", - "First we create the `ChemicalSystems` defining the end states of the simulation:" + "We must also define a SolventComponent which we will use to define our Transformations." ] }, { "cell_type": "code", "execution_count": 10, - "id": "c405e50c-1df3-4bef-8278-393550e1fc6a", + "id": "30373ee0-d777-4828-b89a-5a8fdbc56c41", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "SmallMoleculeComponent(name=lig_jmc_27)" + "SolventComponent(name=O, Na+, Cl-)" ] }, "execution_count": 10, @@ -586,9 +400,24 @@ } ], "source": [ - "# choose the first ligand\n", - "ligand = [l for l in charged_ligands if l.name == 'lig_jmc_27'][0]\n", - "ligand" + "solvent = openfe.SolventComponent()\n", + "solvent" + ] + }, + { + "cell_type": "markdown", + "id": "e1ef09d2-ec8b-4577-8510-c67cb89fc5b5", + "metadata": {}, + "source": [ + "#### Creating the ``Transformation``" + ] + }, + { + "cell_type": "markdown", + "id": "695c61c4-3fa6-4e1a-939f-5349e6829627", + "metadata": {}, + "source": [ + "Create the `ChemicalSystems` defining the end states of the simulation:" ] }, { @@ -598,15 +427,13 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "(ChemicalSystem(name=state_A, components={'ligand': SmallMoleculeComponent(name=lig_jmc_27), 'protein': ProteinComponent(name=tyk2), 'solvent': SolventComponent(name=O, Na+, Cl-)}),\n", - " ChemicalSystem(name=state_B, components={'protein': ProteinComponent(name=tyk2), 'solvent': SolventComponent(name=O, Na+, Cl-)}))" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "ChemicalSystem(name=complex, components={'ligand': SmallMoleculeComponent(name=lig_jmc_27), 'protein': ProteinComponent(name=tyk2), 'solvent': SolventComponent(name=O, Na+, Cl-)})\n", + "\n", + "ChemicalSystem(name=solvent, components={'protein': ProteinComponent(name=tyk2), 'solvent': SolventComponent(name=O, Na+, Cl-)})\n" + ] } ], "source": [ @@ -617,20 +444,22 @@ " 'ligand': ligand,\n", " 'protein': protein,\n", " 'solvent': solvent,\n", - "}, name=\"state_A\")\n", + "}, name=\"complex\")\n", "\n", "# state B is the system without the ligand\n", "stateB = openfe.ChemicalSystem({\n", " 'protein': protein,\n", " 'solvent': solvent,\n", - "}, name=\"state_B\")\n", + "}, name=\"solvent\")\n", "\n", - "stateA, stateB" + "print(stateA)\n", + "print(\"\")\n", + "print(stateB)" ] }, { "cell_type": "markdown", - "id": "b576d9b0-b81e-4dc1-8bf0-26fc1585b757", + "id": "e32fb4ef-dbf5-4a9a-90c4-b64d9e5af6ce", "metadata": {}, "source": [ "Next we create the Protocol. We use the default settings, except to help us execute in parallel we set the number of repeats to 1." @@ -652,7 +481,7 @@ }, { "cell_type": "markdown", - "id": "8a643c9b-5510-4ae4-9b10-0af779821e66", + "id": "6bf8af4c-9894-4af3-84f8-2ed3830120ad", "metadata": {}, "source": [ "Finally we create the `Transformation` object." @@ -676,7 +505,7 @@ }, { "cell_type": "markdown", - "id": "f89a9800-9d25-470c-845f-87479095806e", + "id": "34ec9c8d-cb7f-4cad-9794-b73629a11246", "metadata": {}, "source": [ "This transformation can now be run using `openfe quickrun`." @@ -684,17 +513,23 @@ }, { "cell_type": "markdown", - "id": "f9e4f4a1-ed28-4d33-b73b-865dc5023b93", + "id": "cc023ddb-d32a-4f78-bea1-a4f9efddf902", + "metadata": {}, + "source": [ + "### 2b) Separated Topologies RBFE Transformation" + ] + }, + { + "cell_type": "markdown", + "id": "a90d2205-1c68-4349-95b1-e20f607d4a86", "metadata": {}, "source": [ - "### 4b) Separated Topologies Relative Binding Free Energy Transformation\n", - "\n", "We can instead build a SepTop RBFE Transformation. Here we will do the transformation between `lig_jmc_27` and `lig_ejm_46`." ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "7ad01abd-097c-466d-9a3f-74a67e4d9015", "metadata": {}, "outputs": [], @@ -705,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "71d4ff18-a837-443d-bc02-69554e7d76cf", "metadata": {}, "outputs": [], @@ -729,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "ebde65ab-8a9c-4426-a0c4-91aefd6dea68", + "id": "54484f2f-347b-498e-b5e2-60e8c8db446a", "metadata": {}, "source": [ "Next we create the Protocol. We use the default settings, except to help us execute in parallel we set the number of repeats to 1." @@ -737,7 +572,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "3e343c11-b693-4700-b1ea-2fa7951afa88", "metadata": {}, "outputs": [], @@ -751,7 +586,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "a531a0cb-3eda-4d25-89d8-347f470d40ea", "metadata": {}, "outputs": [], @@ -767,7 +602,7 @@ }, { "cell_type": "markdown", - "id": "d59f5d1b-f078-49c2-9965-9cb8abc64a71", + "id": "db4344c5-c300-4b6e-aa0a-a7cae9c6380f", "metadata": {}, "source": [ "This transformation can now be run using `openfe quickrun`." @@ -775,17 +610,166 @@ }, { "cell_type": "markdown", - "id": "316727a4-aa8b-43dd-916d-b73244ee829a", + "id": "6e16e781-c6dc-4a62-85a7-0bc59678e916", "metadata": {}, "source": [ - "### 4c) Creating a Hybrid Topology Relative Binding Free Energy Transformation\n", + "### 2c) Creating a Hybrid Topology Relative Binding Free Energy Transformation\n", "\n", "Finally we create a Hybrid Topology RBFE Transformation. Again, as per the SepTop example above, we will do the transformation between `lig_jmc_27` and `lig_ejm_46`." ] }, + { + "cell_type": "markdown", + "id": "eaf920be-9e16-402b-9fc5-8e1d4f3712cf", + "metadata": {}, + "source": [ + "### Preparing & extracting the structures\n", + "\n", + "Now that we have a set of predicted structures, we must extract the relevant information from the PDB files.\n", + "This means:\n", + "\n", + "a) Choosing a reference protein structure which will be used for all binding affinity predictions\n", + "\n", + " - This is necessary for RBFE simulations, where a single structure must be kept constant throughout the transformations. Note that for ABFE simulations, this step can be avoided.\n", + " - For the sake of this demonstration, we will be choosing the predicted structure that is bound to the ligand occupying the largest volume. The idea here being that hopefully the binding site of that structure can accomodate all the other ligands. We note that in practice this is not always true.\n", + "\n", + "b) Aligning the structures to the reference & extracting the necessary structures\n", + "\n", + " - This is so that we can extract the ligands and use them with the chosen structure.\n", + "\n", + "c) Fixing & protonating the reference protein structure.\n", + "\n", + "\n", + "#### a) Choosing a reference protein structure\n", + "\n", + "As mentioned above, we will select a reference protein structure for all simulations going forward. To do this, we naively select the structure bound to a ligand with the largest volume.\n", + "\n", + "Here we load in all the structures into MDAnalysis, extract the ligands into RDKit molecules using their initial SMILES definitions as bond/formal charge templates, and then get the ligand with the largest volume using the `Asphericity` 3D descriptor." + ] + }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, + "id": "25ef33bf-fb1a-45da-96e4-004f77ef7d34", + "metadata": {}, + "outputs": [], + "source": [ + "import pathlib\n", + "import MDAnalysis as mda\n", + "from MDAnalysis.analysis import align\n", + "from rdkit import Chem, rdBase\n", + "from rdkit.Chem import AllChem\n", + "from rdkit.Chem.Descriptors3D import Asphericity\n", + "import warnings\n", + "\n", + "# don't show warnings that are expected and not an issue\n", + "warnings.filterwarnings(action=\"ignore\", message=r\"Unit cell dimensions not found\") \n", + "\n", + "# gather all the complexes and align to a single structure\n", + "# which has the largest ligand by volume \n", + "of_results_root = pathlib.Path(\"assets/of3_tyk2_output/\")\n", + "output_root = pathlib.Path(\"openfold_to_openfe\")\n", + "temp_dir = pathlib.Path(output_root,\"temp_ligands\")\n", + "temp_dir.mkdir(exist_ok=True,parents=True)\n", + "# load all the output pdbs and calculate ligand volumes\n", + "ligand_volumes = {}\n", + "\n", + "for output_file in of_results_root.glob(\"*/*/*.pdb\"):\n", + " ligand_name = output_file.name.split('_seed')[0]\n", + " print(f\"Extracting ligand from {output_file.name}\")\n", + " with warnings.catch_warnings(): \n", + " warnings.simplefilter(\"ignore\")\n", + " u = mda.Universe(str(output_file))\n", + " ligand = u.select_atoms(\"resname LIG\")\n", + " # write the ligand to a temporary file\n", + " ligand.write(str(temp_dir / f\"{ligand_name}.pdb\"))\n", + " # now load back with rdkit\n", + " rdkit_mol = Chem.MolFromPDBFile(str(temp_dir / f\"{ligand_name}.pdb\"), removeHs=True)\n", + " # now use a template from the SMILES definitions to make sure the bond orders are correct\n", + " template_mol = Chem.MolFromSmiles(ligands_dict[ligand_name])\n", + " # don't show rdkit's \"WARNING: More than one matching pattern found - picking one\" for every ligand\n", + " with rdBase.BlockLogs(): \n", + " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", + " # calculate the volume\n", + " vsa = Asphericity(rdkit_mol)\n", + " ligand_volumes[ligand_name] = vsa\n", + "\n", + "# find the ligand with the largest volume\n", + "largest_ligand = max(ligand_volumes, key=ligand_volumes.get)\n", + "print(f\"\\nLargest ligand is {largest_ligand} with volume {ligand_volumes[largest_ligand]}\")" + ] + }, + { + "cell_type": "markdown", + "id": "6056e755-0da0-4712-b4ae-7a721c94851d", + "metadata": {}, + "source": [ + "#### b) Aligning & extracting the necessary structures\n", + "\n", + "Next we align all the models back to the reference structure. We then extract all the ligands and the protein atoms from the reference." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26c10e11-f001-44e5-87a4-2939ead048a8", + "metadata": {}, + "outputs": [], + "source": [ + "reference_pdb = pathlib.Path(of_results_root, largest_ligand, \"seed_42\", f\"{largest_ligand}_seed_42_sample_1_model.pdb\")\n", + "other_pdbs = of_results_root.glob(\"*/*/*_seed_42_sample_1_model.pdb\")\n", + "output_dir = pathlib.Path(\"openfold_to_openfe/p_aligned/\")\n", + "output_dir.mkdir(exist_ok=True)\n", + "\n", + "ref = mda.Universe(reference_pdb)\n", + "for pdb in other_pdbs:\n", + " print(f\"Aligning {pdb.name} to {reference_pdb.name}\")\n", + " ligand = pdb.name.split('_seed')[0]\n", + " mob = mda.Universe(pdb)\n", + "\n", + " # Align mobile → reference using protein backbone\n", + " ref_prot = ref.select_atoms(\"protein and backbone\")\n", + " mob_prot = mob.select_atoms(\"protein and backbone\")\n", + " \n", + " # Perform alignment in-place\n", + " align.alignto(mob_prot, ref_prot)\n", + " aligned_ligand = mob.select_atoms(\"resname LIG\")\n", + " aligned_ligand.write(f'{output_dir}/{ligand}.pdb')\n", + " # load back into rdkit to add hydrogens\n", + " rdkit_mol = Chem.MolFromPDBFile(f'{output_dir}/{ligand}.pdb', removeHs=True)\n", + " # use the template to assign bond orders\n", + " template_mol = Chem.MolFromSmiles(ligands_dict[ligand])\n", + " with rdBase.BlockLogs(): \n", + " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", + " # Add hydrogens\n", + " rdkit_mol = AllChem.AddHs(rdkit_mol, addCoords=True)\n", + " # Set the molecule name\n", + " rdkit_mol.SetProp('_Name', f\"{ligand}\")\n", + " # write to sdf\n", + " Chem.MolToMolFile(rdkit_mol, output_dir / f\"{ligand}_prepped.sdf\")\n", + "\n", + " # For the reference pdb, save the protein alone\n", + " if pdb.name.split('_seed')[0] == largest_ligand:\n", + " full_protein = mob.select_atoms(\"protein\")\n", + " full_protein.write(f'{output_dir}/protein.pdb')" + ] + }, + { + "cell_type": "markdown", + "id": "fe3ca792-4615-4be3-8a41-feb0819e968d", + "metadata": {}, + "source": [ + "
\n", + "⚠️ Important Note:\n", + "

\n", + " Here simply we assign ligand protonation states to those we defined at the start of this exercise. Additionally, below we will assign protein protonation states using PDBFixer at pH 7 without accounting for the ligand.

\n", + " In practice more care would be taken when protonating the complexes, using more complex tools such as Maestro or OpenEye's Spruce. For example, ligand protonation states may change depending on the chemical environment they are bound to.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "31d18f6d-b938-4de3-9b2f-3c6e9bedd827", "metadata": {}, "outputs": [], @@ -815,7 +799,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "b5186710-f89e-4c86-998f-4e9fe076a2d8", "metadata": {}, "outputs": [], @@ -837,42 +821,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "c8db1e94-c146-4daf-bdb2-4383b4fcd0d6", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:kartograf.atom_mapper:#################################\n", - "INFO:kartograf.atom_mapper:Map Heavy Atoms \n", - "INFO:kartograf.atom_mapper:#################################\n", - "INFO:kartograf.atom_mapper:Masking Atoms\n", - "INFO:kartograf.atom_mapper:Build Distance Matrix\n", - "INFO:kartograf.atom_mapper:Calculate Mapping\n", - "INFO:kartograf.atom_mapper:Find Maximal overlapping connected sets of mapped atoms\n", - "INFO:kartograf.atom_mapper:#################################\n", - "INFO:kartograf.atom_mapper:Map Hydrogen Atoms: \n", - "INFO:kartograf.atom_mapper:#################################\n", - "INFO:kartograf.atom_mapper:Masking Atoms\n", - "INFO:kartograf.atom_mapper:Build Distance Matrix\n", - "INFO:kartograf.atom_mapper:Calculate Mapping\n", - "INFO:kartograf.atom_mapper:Find Maximal overlapping connected sets of mapped atoms\n", - "INFO:kartograf.atom_mapper:Filtering bond breaks\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from kartograf import KartografAtomMapper\n", "\n", @@ -891,7 +843,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "7d3c436c-fd93-4a3e-9933-e43b00783931", "metadata": {}, "outputs": [], @@ -915,7 +867,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "b161b5b6-7718-4a47-b834-e3d88082bb31", "metadata": {}, "outputs": [], @@ -945,7 +897,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "3bbd3d6d-35f0-490f-8fdd-4debc7874e23", "metadata": {}, "outputs": [], @@ -975,7 +927,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "8b374e77-64fb-48a1-b9ae-9b1dba74ebb5", "metadata": {}, "outputs": [], From 96b8b76e28691729a92761caddbb20ef679d5585 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 30 Apr 2026 14:42:34 -0700 Subject: [PATCH 3/4] adjusting ordering logic --- cookbook/openfold3_to_openfe.ipynb | 511 +++++++++++++++++++++-------- 1 file changed, 368 insertions(+), 143 deletions(-) diff --git a/cookbook/openfold3_to_openfe.ipynb b/cookbook/openfold3_to_openfe.ipynb index 815584e..999264d 100644 --- a/cookbook/openfold3_to_openfe.ipynb +++ b/cookbook/openfold3_to_openfe.ipynb @@ -226,25 +226,7 @@ "metadata": {}, "source": [ "We will demonstrate how to use OpenFold generated structures with three different OpenFE protocols:\n", - "\n", - "a) Absolute Binding Free Energy\n", - "\n", - "b) Separated Topologies\n", - "\n", - "c) Hybrid Topology\n" - ] - }, - { - "cell_type": "markdown", - "id": "48d2bae8-79d2-41d9-a3eb-61d6c2c25924", - "metadata": {}, - "source": [ - "### Creating OpenFE components from the inputs\n", - "\n", - "Now we can create OpenFE components from the files we prepared above.\n", - "#### Loading ligands and assigning partial charges\n", - "\n", - "First we load the ligands and assign partial charges to them using OpenFF's NAGL model." + "Absolute Binding Free Energy (ABFE), Separated Topologies RBFE, and Hybrid Topology RBFE.\n" ] }, { @@ -252,7 +234,7 @@ "id": "6419b4ec-6513-47ca-bb66-0eb17a7224c3", "metadata": {}, "source": [ - "### 2a) Absolute Binding Free Energy (ABFE) Transformation\n", + "### Creating an Absolute Binding Free Energy (ABFE) Transformation\n", "\n", "The ABFE protocol requires the least amount of post-processing of the OpenFold outputs.\n", "\n", @@ -269,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "09725e7d-b959-4221-b027-1488b6fea22a", "metadata": {}, "outputs": [], @@ -282,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "0b78ec14-9ef9-4068-84ab-3271e6780d40", "metadata": {}, "outputs": [ @@ -290,7 +272,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Generating charges: 100%|█████████████████████████| 1/1 [00:00<00:00, 1.57it/s]\n" + "Generating charges: 100%|█████████████████████████| 1/1 [00:00<00:00, 1.68it/s]\n" ] } ], @@ -324,7 +306,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "id": "ea82c47d-9794-424c-8d27-a9c6e69d29e8", "metadata": {}, "outputs": [ @@ -332,7 +314,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=37394) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=39178) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", " pid, fd = os.forkpty()\n" ] } @@ -352,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "id": "88bbbbca-4f6a-4496-bea9-f621ffd8183e", "metadata": { "scrolled": true @@ -364,7 +346,7 @@ "ProteinComponent(name=tyk2)" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -384,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "id": "30373ee0-d777-4828-b89a-5a8fdbc56c41", "metadata": {}, "outputs": [ @@ -394,7 +376,7 @@ "SolventComponent(name=O, Na+, Cl-)" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -409,7 +391,7 @@ "id": "e1ef09d2-ec8b-4577-8510-c67cb89fc5b5", "metadata": {}, "source": [ - "#### Creating the ``Transformation``" + "#### Creating the ABFE ``Transformation``" ] }, { @@ -422,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "id": "987a1657-82d0-4310-9fe7-4eecd289632a", "metadata": {}, "outputs": [ @@ -467,7 +449,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "id": "037cb959-8f0c-4a09-844a-30e39590eabf", "metadata": {}, "outputs": [], @@ -489,7 +471,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "id": "ef7a9ebf-e0d7-4dda-aac5-d4428b120814", "metadata": {}, "outputs": [], @@ -511,12 +493,287 @@ "This transformation can now be run using `openfe quickrun`." ] }, + { + "cell_type": "markdown", + "id": "df8cb66d-c201-4a22-b87a-a1e5501d4be4", + "metadata": {}, + "source": [ + "### Preparing OpenFold outputs for Relative Binding Free Energies" + ] + }, + { + "cell_type": "markdown", + "id": "9dd96548-7190-4851-b1ed-fb2d8c1bd87b", + "metadata": {}, + "source": [ + "RBFE transformations require additional preparation, including:\n", + "\n", + "a) Choosing a reference protein structure which will be used for all binding affinity predictions\n", + "\n", + " - This is necessary for RBFE simulations, where a single structure must be kept constant throughout the transformations. Note that for ABFE simulations, this step can be avoided.\n", + " - For the sake of this demonstration, we will be choosing the predicted structure that is bound to the ligand occupying the largest volume. The idea here being that hopefully the binding site of that structure can accomodate all the other ligands. We note that in practice this is not always true.\n", + "\n", + "b) Aligning the structures to the reference & extracting the necessary structures\n", + "\n", + " - This is so that we can extract the ligands and use them with the chosen structure.\n", + "\n", + "c) Fixing & protonating the reference protein structure, as we did above for the ABFE protein structure.\n" + ] + }, + { + "cell_type": "markdown", + "id": "02a82dbd-5a01-43c5-af33-654b706a5721", + "metadata": {}, + "source": [ + "\n", + "#### a) Choosing a reference protein structure\n", + "\n", + "As mentioned above, we will select a reference protein structure for all simulations going forward. To do this, we naively select the structure bound to a ligand with the largest volume.\n", + "\n", + "Here we load in all the structures into MDAnalysis, extract the ligands into RDKit molecules using their initial SMILES definitions as bond/formal charge templates, and then get the ligand with the largest volume using the `Asphericity` 3D descriptor." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c7b239c1-eaf3-466e-84ef-0700eab300e6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ligand from lig_ejm_50_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_jmc_23_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_43_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_42_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_31_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_47_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_46_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_48_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_jmc_28_seed_42_sample_1_model.pdb\n", + "\n", + "Largest ligand is lig_jmc_27 with volume 0.5209626577896912\n" + ] + } + ], + "source": [ + "import pathlib\n", + "import MDAnalysis as mda\n", + "from MDAnalysis.analysis import align\n", + "from rdkit import Chem, rdBase\n", + "from rdkit.Chem import AllChem\n", + "from rdkit.Chem.Descriptors3D import Asphericity\n", + "import warnings\n", + "\n", + "# don't show warnings that are expected and not an issue\n", + "warnings.filterwarnings(action=\"ignore\", message=r\"Unit cell dimensions not found\") \n", + "\n", + "# gather all the complexes and align to a single structure\n", + "# which has the largest ligand by volume \n", + "of_results_root = pathlib.Path(\"assets/of3_tyk2_output/\")\n", + "output_root = pathlib.Path(\"openfold_to_openfe\")\n", + "temp_dir = pathlib.Path(output_root,\"temp_ligands\")\n", + "temp_dir.mkdir(exist_ok=True,parents=True)\n", + "# load all the output pdbs and calculate ligand volumes\n", + "ligand_volumes = {}\n", + "\n", + "for output_file in of_results_root.glob(\"*/*/*.pdb\"):\n", + " ligand_name = output_file.name.split('_seed')[0]\n", + " print(f\"Extracting ligand from {output_file.name}\")\n", + " with warnings.catch_warnings(): \n", + " warnings.simplefilter(\"ignore\")\n", + " u = mda.Universe(str(output_file))\n", + " ligand = u.select_atoms(\"resname LIG\")\n", + " # write the ligand to a temporary file\n", + " ligand.write(str(temp_dir / f\"{ligand_name}.pdb\"))\n", + " # now load back with rdkit\n", + " rdkit_mol = Chem.MolFromPDBFile(str(temp_dir / f\"{ligand_name}.pdb\"), removeHs=True)\n", + " # now use a template from the SMILES definitions to make sure the bond orders are correct\n", + " template_mol = Chem.MolFromSmiles(ligands_dict[ligand_name])\n", + " # don't show rdkit's \"WARNING: More than one matching pattern found - picking one\" for every ligand\n", + " with rdBase.BlockLogs(): \n", + " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", + " # calculate the volume\n", + " vsa = Asphericity(rdkit_mol)\n", + " ligand_volumes[ligand_name] = vsa\n", + "\n", + "# find the ligand with the largest volume\n", + "largest_ligand = max(ligand_volumes, key=ligand_volumes.get)\n", + "print(f\"\\nLargest ligand is {largest_ligand} with volume {ligand_volumes[largest_ligand]}\")" + ] + }, + { + "cell_type": "markdown", + "id": "193dc76a-6e43-4e25-8b9d-5c0e4a79c3e9", + "metadata": {}, + "source": [ + "#### b) Aligning & extracting the necessary structures\n", + "\n", + "Next we align all the models back to the reference structure. We then extract all the ligands and the protein atoms from the reference." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "26c10e11-f001-44e5-87a4-2939ead048a8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Aligning lig_ejm_50_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_jmc_23_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_ejm_43_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_ejm_42_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_ejm_31_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_ejm_47_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_jmc_27_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_ejm_46_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_ejm_48_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Aligning lig_jmc_28_seed_42_sample_1_model.pdb to lig_jmc_27_seed_42_sample_1_model.pdb\n" + ] + } + ], + "source": [ + "reference_pdb = pathlib.Path(of_results_root, largest_ligand, \"seed_42\", f\"{largest_ligand}_seed_42_sample_1_model.pdb\")\n", + "other_pdbs = of_results_root.glob(\"*/*/*_seed_42_sample_1_model.pdb\")\n", + "output_dir = pathlib.Path(\"openfold_to_openfe/p_aligned/\")\n", + "output_dir.mkdir(exist_ok=True)\n", + "\n", + "ref = mda.Universe(reference_pdb)\n", + "for pdb in other_pdbs:\n", + " print(f\"Aligning {pdb.name} to {reference_pdb.name}\")\n", + " ligand = pdb.name.split('_seed')[0]\n", + " mob = mda.Universe(pdb)\n", + "\n", + " # Align mobile → reference using protein backbone\n", + " ref_prot = ref.select_atoms(\"protein and backbone\")\n", + " mob_prot = mob.select_atoms(\"protein and backbone\")\n", + " \n", + " # Perform alignment in-place\n", + " align.alignto(mob_prot, ref_prot)\n", + " aligned_ligand = mob.select_atoms(\"resname LIG\")\n", + " aligned_ligand.write(f'{output_dir}/{ligand}.pdb')\n", + " # load back into rdkit to add hydrogens\n", + " rdkit_mol = Chem.MolFromPDBFile(f'{output_dir}/{ligand}.pdb', removeHs=True)\n", + " # use the template to assign bond orders\n", + " template_mol = Chem.MolFromSmiles(ligands_dict[ligand])\n", + " with rdBase.BlockLogs(): \n", + " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", + " # Add hydrogens\n", + " rdkit_mol = AllChem.AddHs(rdkit_mol, addCoords=True)\n", + " # Set the molecule name\n", + " rdkit_mol.SetProp('_Name', f\"{ligand}\")\n", + " # write to sdf\n", + " Chem.MolToMolFile(rdkit_mol, output_dir / f\"{ligand}_prepped.sdf\")\n", + "\n", + " # For the reference pdb, save the protein alone\n", + " if pdb.name.split('_seed')[0] == largest_ligand:\n", + " full_protein = mob.select_atoms(\"protein\")\n", + " full_protein.write(f'{output_dir}/protein.pdb')" + ] + }, + { + "cell_type": "markdown", + "id": "e5b5141e-efe0-4bea-89e9-4896c00f4311", + "metadata": {}, + "source": [ + "
\n", + "⚠️ Important Note:\n", + "

\n", + " Here simply we assign ligand protonation states to those we defined at the start of this exercise. Additionally, below we will assign protein protonation states using PDBFixer at pH 7 without accounting for the ligand.

\n", + " In practice more care would be taken when protonating the complexes, using more complex tools such as Maestro or OpenEye's Spruce. For example, ligand protonation states may change depending on the chemical environment they are bound to.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "6bf56d93-222a-4651-b8cf-f451f0360878", + "metadata": {}, + "source": [ + "#### c) Fixing & protonating the reference protein structure\n", + "\n", + "The PDB contains the heavy atoms of the protein but is missing hydrogens and caps. Here we call PDBFixer to add hydrogens at pH 7 and add protein caps." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "fdfd428e-42af-49d3-9857-7a1b086f9ab2", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=39178) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", + " pid, fd = os.forkpty()\n" + ] + } + ], + "source": [ + "# now run the reference protein through pdbfixer\n", + "! pdbfixer openfold_to_openfe/p_aligned/protein.pdb --add-atoms=all --add-residues --output=openfold_to_openfe/p_aligned/protein_fixed.pdb" + ] + }, + { + "cell_type": "markdown", + "id": "1153dbd0-998a-4f3f-8e47-a950c806d1dd", + "metadata": {}, + "source": [ + "#### d) Loading and assigning partial charges to the aligned ligands" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "992d53f3-d086-4283-9d6a-055be01588ad", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generating charges: 100%|███████████████████████| 10/10 [00:05<00:00, 1.86it/s]\n" + ] + } + ], + "source": [ + "import glob\n", + "import openfe\n", + "from openfe.protocols.openmm_utils.omm_settings import OpenFFPartialChargeSettings\n", + "from openfe.protocols.openmm_utils.charge_generation import bulk_assign_partial_charges\n", + "\n", + "# Load all the ligands\n", + "ligand_sdfs = glob.glob('openfold_to_openfe/p_aligned/*_prepped.sdf')\n", + "ligands = []\n", + "for l in ligand_sdfs:\n", + " ligand = openfe.SmallMoleculeComponent.from_sdf_file(l)\n", + " ligands.append(ligand)\n", + "\n", + "# Generate partial charges\n", + "charge_settings = OpenFFPartialChargeSettings(partial_charge_method=\"nagl\")\n", + "\n", + "charged_ligands = bulk_assign_partial_charges(\n", + " molecules=ligands,\n", + " overwrite=False,\n", + " method=charge_settings.partial_charge_method,\n", + " toolkit_backend=charge_settings.off_toolkit_backend,\n", + " generate_n_conformers=1,\n", + " nagl_model=None,\n", + " processors=1\n", + ")" + ] + }, { "cell_type": "markdown", "id": "cc023ddb-d32a-4f78-bea1-a4f9efddf902", "metadata": {}, "source": [ - "### 2b) Separated Topologies RBFE Transformation" + "### Creating a Separated Topologies RBFE Transformation" ] }, { @@ -524,12 +781,12 @@ "id": "a90d2205-1c68-4349-95b1-e20f607d4a86", "metadata": {}, "source": [ - "We can instead build a SepTop RBFE Transformation. Here we will do the transformation between `lig_jmc_27` and `lig_ejm_46`." + "We can now SepTop RBFE Transformation. Here we will do the transformation between `lig_jmc_27` and `lig_ejm_46`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "7ad01abd-097c-466d-9a3f-74a67e4d9015", "metadata": {}, "outputs": [], @@ -540,7 +797,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "71d4ff18-a837-443d-bc02-69554e7d76cf", "metadata": {}, "outputs": [], @@ -572,7 +829,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "3e343c11-b693-4700-b1ea-2fa7951afa88", "metadata": {}, "outputs": [], @@ -586,7 +843,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "a531a0cb-3eda-4d25-89d8-347f470d40ea", "metadata": {}, "outputs": [], @@ -613,7 +870,7 @@ "id": "6e16e781-c6dc-4a62-85a7-0bc59678e916", "metadata": {}, "source": [ - "### 2c) Creating a Hybrid Topology Relative Binding Free Energy Transformation\n", + "### Creating a Hybrid Topology Relative Binding Free Energy Transformation\n", "\n", "Finally we create a Hybrid Topology RBFE Transformation. Again, as per the SepTop example above, we will do the transformation between `lig_jmc_27` and `lig_ejm_46`." ] @@ -622,37 +879,33 @@ "cell_type": "markdown", "id": "eaf920be-9e16-402b-9fc5-8e1d4f3712cf", "metadata": {}, - "source": [ - "### Preparing & extracting the structures\n", - "\n", - "Now that we have a set of predicted structures, we must extract the relevant information from the PDB files.\n", - "This means:\n", - "\n", - "a) Choosing a reference protein structure which will be used for all binding affinity predictions\n", - "\n", - " - This is necessary for RBFE simulations, where a single structure must be kept constant throughout the transformations. Note that for ABFE simulations, this step can be avoided.\n", - " - For the sake of this demonstration, we will be choosing the predicted structure that is bound to the ligand occupying the largest volume. The idea here being that hopefully the binding site of that structure can accomodate all the other ligands. We note that in practice this is not always true.\n", - "\n", - "b) Aligning the structures to the reference & extracting the necessary structures\n", - "\n", - " - This is so that we can extract the ligands and use them with the chosen structure.\n", - "\n", - "c) Fixing & protonating the reference protein structure.\n", - "\n", - "\n", - "#### a) Choosing a reference protein structure\n", - "\n", - "As mentioned above, we will select a reference protein structure for all simulations going forward. To do this, we naively select the structure bound to a ligand with the largest volume.\n", - "\n", - "Here we load in all the structures into MDAnalysis, extract the ligands into RDKit molecules using their initial SMILES definitions as bond/formal charge templates, and then get the ligand with the largest volume using the `Asphericity` 3D descriptor." - ] + "source": [] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "25ef33bf-fb1a-45da-96e4-004f77ef7d34", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracting ligand from lig_ejm_50_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_jmc_23_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_43_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_42_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_31_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_47_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_jmc_27_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_46_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_ejm_48_seed_42_sample_1_model.pdb\n", + "Extracting ligand from lig_jmc_28_seed_42_sample_1_model.pdb\n", + "\n", + "Largest ligand is lig_jmc_27 with volume 0.5209626577896912\n" + ] + } + ], "source": [ "import pathlib\n", "import MDAnalysis as mda\n", @@ -699,77 +952,9 @@ "print(f\"\\nLargest ligand is {largest_ligand} with volume {ligand_volumes[largest_ligand]}\")" ] }, - { - "cell_type": "markdown", - "id": "6056e755-0da0-4712-b4ae-7a721c94851d", - "metadata": {}, - "source": [ - "#### b) Aligning & extracting the necessary structures\n", - "\n", - "Next we align all the models back to the reference structure. We then extract all the ligands and the protein atoms from the reference." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "26c10e11-f001-44e5-87a4-2939ead048a8", - "metadata": {}, - "outputs": [], - "source": [ - "reference_pdb = pathlib.Path(of_results_root, largest_ligand, \"seed_42\", f\"{largest_ligand}_seed_42_sample_1_model.pdb\")\n", - "other_pdbs = of_results_root.glob(\"*/*/*_seed_42_sample_1_model.pdb\")\n", - "output_dir = pathlib.Path(\"openfold_to_openfe/p_aligned/\")\n", - "output_dir.mkdir(exist_ok=True)\n", - "\n", - "ref = mda.Universe(reference_pdb)\n", - "for pdb in other_pdbs:\n", - " print(f\"Aligning {pdb.name} to {reference_pdb.name}\")\n", - " ligand = pdb.name.split('_seed')[0]\n", - " mob = mda.Universe(pdb)\n", - "\n", - " # Align mobile → reference using protein backbone\n", - " ref_prot = ref.select_atoms(\"protein and backbone\")\n", - " mob_prot = mob.select_atoms(\"protein and backbone\")\n", - " \n", - " # Perform alignment in-place\n", - " align.alignto(mob_prot, ref_prot)\n", - " aligned_ligand = mob.select_atoms(\"resname LIG\")\n", - " aligned_ligand.write(f'{output_dir}/{ligand}.pdb')\n", - " # load back into rdkit to add hydrogens\n", - " rdkit_mol = Chem.MolFromPDBFile(f'{output_dir}/{ligand}.pdb', removeHs=True)\n", - " # use the template to assign bond orders\n", - " template_mol = Chem.MolFromSmiles(ligands_dict[ligand])\n", - " with rdBase.BlockLogs(): \n", - " rdkit_mol = AllChem.AssignBondOrdersFromTemplate(template_mol, rdkit_mol)\n", - " # Add hydrogens\n", - " rdkit_mol = AllChem.AddHs(rdkit_mol, addCoords=True)\n", - " # Set the molecule name\n", - " rdkit_mol.SetProp('_Name', f\"{ligand}\")\n", - " # write to sdf\n", - " Chem.MolToMolFile(rdkit_mol, output_dir / f\"{ligand}_prepped.sdf\")\n", - "\n", - " # For the reference pdb, save the protein alone\n", - " if pdb.name.split('_seed')[0] == largest_ligand:\n", - " full_protein = mob.select_atoms(\"protein\")\n", - " full_protein.write(f'{output_dir}/protein.pdb')" - ] - }, - { - "cell_type": "markdown", - "id": "fe3ca792-4615-4be3-8a41-feb0819e968d", - "metadata": {}, - "source": [ - "
\n", - "⚠️ Important Note:\n", - "

\n", - " Here simply we assign ligand protonation states to those we defined at the start of this exercise. Additionally, below we will assign protein protonation states using PDBFixer at pH 7 without accounting for the ligand.

\n", - " In practice more care would be taken when protonating the complexes, using more complex tools such as Maestro or OpenEye's Spruce. For example, ligand protonation states may change depending on the chemical environment they are bound to.\n", - "
" - ] - }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "31d18f6d-b938-4de3-9b2f-3c6e9bedd827", "metadata": {}, "outputs": [], @@ -799,7 +984,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "b5186710-f89e-4c86-998f-4e9fe076a2d8", "metadata": {}, "outputs": [], @@ -821,10 +1006,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "c8db1e94-c146-4daf-bdb2-4383b4fcd0d6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:kartograf.atom_mapper:#################################\n", + "INFO:kartograf.atom_mapper:Map Heavy Atoms \n", + "INFO:kartograf.atom_mapper:#################################\n", + "INFO:kartograf.atom_mapper:Masking Atoms\n", + "INFO:kartograf.atom_mapper:Build Distance Matrix\n", + "INFO:kartograf.atom_mapper:Calculate Mapping\n", + "INFO:kartograf.atom_mapper:Find Maximal overlapping connected sets of mapped atoms\n", + "INFO:kartograf.atom_mapper:#################################\n", + "INFO:kartograf.atom_mapper:Map Hydrogen Atoms: \n", + "INFO:kartograf.atom_mapper:#################################\n", + "INFO:kartograf.atom_mapper:Masking Atoms\n", + "INFO:kartograf.atom_mapper:Build Distance Matrix\n", + "INFO:kartograf.atom_mapper:Calculate Mapping\n", + "INFO:kartograf.atom_mapper:Find Maximal overlapping connected sets of mapped atoms\n", + "INFO:kartograf.atom_mapper:Filtering bond breaks\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from kartograf import KartografAtomMapper\n", "\n", @@ -843,7 +1060,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "7d3c436c-fd93-4a3e-9933-e43b00783931", "metadata": {}, "outputs": [], @@ -867,7 +1084,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "b161b5b6-7718-4a47-b834-e3d88082bb31", "metadata": {}, "outputs": [], @@ -897,7 +1114,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "3bbd3d6d-35f0-490f-8fdd-4debc7874e23", "metadata": {}, "outputs": [], @@ -927,7 +1144,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "8b374e77-64fb-48a1-b9ae-9b1dba74ebb5", "metadata": {}, "outputs": [], @@ -962,11 +1179,19 @@ "id": "6cae5156-f80f-4520-baee-4199774d441a", "metadata": {}, "source": [ - "## 5. Creating networks and running the simulations\n", + "## 5. Running the ``Transformation`` simulations\n", "\n", "In practice, one would create entire network of Transformations, and then run all the simulations.\n", "This notebook will not cover these aspects. To find out more about this, please see the [OpenFE Tutorials](https://docs.openfree.energy/en/latest/tutorials/index.html)." ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f09a0d21-c0d3-4c39-9c9d-b0b1d61be2ae", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 04a1fdd61191550c01e8917e54da8e3fc96bfc6d Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 1 May 2026 18:26:42 -0700 Subject: [PATCH 4/4] add example portal image --- .../tyk2_lig_ejm_31_openfold_portal.png | Bin 0 -> 187526 bytes cookbook/openfold3_to_openfe.ipynb | 56 ++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 cookbook/assets/tyk2_lig_ejm_31_openfold_portal.png diff --git a/cookbook/assets/tyk2_lig_ejm_31_openfold_portal.png b/cookbook/assets/tyk2_lig_ejm_31_openfold_portal.png new file mode 100644 index 0000000000000000000000000000000000000000..7527e1487a526f29cd243afeefc943a57a329b6a GIT binary patch literal 187526 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%0Ad(M1{Ze=VV2ot*qV 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 literal 0 HcmV?d00001 diff --git a/cookbook/openfold3_to_openfe.ipynb b/cookbook/openfold3_to_openfe.ipynb index 999264d..dce7eea 100644 --- a/cookbook/openfold3_to_openfe.ipynb +++ b/cookbook/openfold3_to_openfe.ipynb @@ -17,7 +17,7 @@ "source": [ "## Introduction\n", "\n", - "This notebook offers a brief preview of some of the steps you may need to go through to calculate binding affinities using [OpenFE](https://docs.openfree.energy/en/latest/) with [OpenFold3](https://openfold-3.readthedocs.io/en/latest/) generated structures.\n", + "Here we show a brief preview of some of the steps you may need to go through to calculate binding affinities using [OpenFE](https://docs.openfree.energy/en/latest/) with [OpenFold3](https://openfold-3.readthedocs.io/en/latest/) generated structures.\n", "\n", "Notably, we will demonstrate how to generate a set of predictions, clean them up for use in molecular dynamics simulations, and then apply them to both relative binding free energy (RBFE) and absolute binding free energy (ABFE) methods." ] @@ -33,6 +33,42 @@ "" ] }, + { + "cell_type": "markdown", + "id": "f0d1c067-d461-4a28-b154-396f1517161b", + "metadata": {}, + "source": [ + "## Overview\n", + "\n", + "In this example notebook we demonstrate how to predict and run simulations for different ligands bound to tyrosine kinase 2 (TYK2). The dataset comes from the [Wang et al. JACS 2015 dataset](https://pubs.acs.org/doi/10.1021/ja512751q).\n", + "\n", + "
\n", + "\n", + "\n", + "**The tutorial is broken into the following steps:**\n", + "\n", + "1. Running cofolding with OpenFold3 on a set of TYK2 ligands\n", + "\n", + "2. Processing the OpenFold3 output for use with OpenFE\n", + "\n", + " a) Choosing a reference protein structure\n", + "\n", + " b) Aligning & extracting the necessary ligands & protein structures.\n", + "\n", + " c) Fixing & protonating the reference protein structure.\n", + "\n", + "\n", + "3. Loading structures into OpenFE Components\n", + "\n", + "4. Creating a free energy transformation with 3 protocol options\n", + "\n", + " a) Absolute Binding Free Energy Transformation\n", + "\n", + " b) SepTop Relative Binding Free Energy Transformation\n", + "\n", + " c) Hybrid Topology Relative Binding Free Energy Transformation" + ] + }, { "cell_type": "markdown", "id": "2fea29c3", @@ -206,6 +242,16 @@ "\n", "confidence scores for each ligand are at ``assets/of3_tyk2_output/{lig_name}/seed_42/*confidences.json``\n", "\n", + "If you are using the OpenFold portal, you can view the confidence scores interactively:\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "id": "9481baf0-9f31-41f2-acf2-ec9b62552345", + "metadata": {}, + "source": [ "
\n", "⚠️ Important Note:\n", " Here we use the first model for each complex predicted by OpenFold3. In practice you would filter through all predicted models using confidence scores, and possibly using pose busters (github.com/maabuu/posebusters).\n", @@ -272,7 +318,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Generating charges: 100%|█████████████████████████| 1/1 [00:00<00:00, 1.68it/s]\n" + "Generating charges: 100%|█████████████████████████| 1/1 [00:00<00:00, 1.49it/s]\n" ] } ], @@ -314,7 +360,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=39178) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=74212) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", " pid, fd = os.forkpty()\n" ] } @@ -709,7 +755,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=39178) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", + "/Users/atravitz/micromamba/envs/openfe-notebooks/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=74212) is multi-threaded, use of forkpty() may lead to deadlocks in the child.\n", " pid, fd = os.forkpty()\n" ] } @@ -737,7 +783,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Generating charges: 100%|███████████████████████| 10/10 [00:05<00:00, 1.86it/s]\n" + "Generating charges: 100%|███████████████████████| 10/10 [00:05<00:00, 1.83it/s]\n" ] } ],