In this post we will show you how to use the expanded BioSimSpace’s mapping functionality (available in 2024.2 release) to set up alchemical calculations for computing the change in the binding affinity of a ligand as a result of protein mutations. Specifically, we are going to focus on protein aldose reductase (AR), which is a drug target for the treatment of diabetic nephropathy. It is recommended to complete previous BioSimSpace tutorials before attempting this one.
The relative change in the binding affinity as a result of a mutation, ΔΔGmut can be calculated from the difference between free energy of mutation in the holo (bound) and apo (unbound) simulation legs, i.e.

ΔΔGmut = ΔGholo − ΔGapo
To get started, let’s go through a simple example of generating the required input files in order to set up an alchemical mutation.
Aldose Reductase – Alchemical System Generation
In order to create an alchemical protein system in BioSimSpace, we need two input protein structures, a wild-type and a mutant. We also need to make sure that the atom ordering between the two proteins is identical. Don’t worry, this is an easy assumption to satisfy.
There are multiple of ways of generating a mutant structure from a wild-type protein, some examples are: – Pymol Mutagenesis Plugin (when exporting the mutant structure, you want to make you select ‘retain atom ids’ under ‘PDB Options’) – HTMD – FoldX – pdb4amber. Once the protein structures have been obtained, we can standardize the atom ordering between them by passing the wild-type and mutant protein structures through tools like pdb4amber (note that this step might not be necessary depending on how input structures have been created) and load them into BioSimSpace.

Apo System
For this short tutorial, we are going to focus on the aldose reductase system and set up an alchemical transformation in both apo and holo forms of the protein. The input files (2PDG_8.0) were taken from the SI of a paper by Aldeghi et. al, residue 47 mutated via PyMol (V47I), and standardized via pdb4amber.

Now we want to compute the mapping between the two proteins, first let’s figure out the residue index of our residue of interest (ROI):

Alternatively, we can also automatically detect the different residues between the two proteins:

We can see that the residue with the index of 45 is different between the two proteins. Let’s pass this value to the BioSimSpace.Align.matchAtoms function and then visualize it (you can also pass multiple residues of interest indices to the mapping function if you wish to mutate several residues simultaneously):

The mapping shows that the perturbation will transform a hydrogen to a methyl group. Is this what we would expect for a valine to isoleucine transformation? If we are happy, we can now proceed to align the two residues of interest and create a merged alchemical protein system:

The alchemical protein can now be solvated, ionised and exported to different file formats, for example GROMACS or SOMD2, our OpenMM-based FEP engine:

Holo System
To set up a holo (bound) system, we are going to load in the associated ligand and the cofactor of aldose reductase:

We can then simply add the ligands to our alchemical protein in order to create an alchemical holo system. This way we are assuming that the ligands are already placed correctly with respect to the protein:

As before we can now proceed to solvate, ionise and export our prepared system or use BioSimSpace’s functionality to further set up and execute the alchemical simulations.

If you want to try this out for yourself, log in to our JupyterHub server at try.openbiosim.org (GitHub account required) where you can use an up to date BioSimSpace environment to reproduce this tutorial.
This post was written by Audrius Kalpokas.

