Let's say we have the structure of a hit compound and want to build a congeneric series of ligands bound to a protein. A common task in free energy setup.
We can use the very cool mols2grid package to interactively select functional groups to add to the core from a library.
We can use @RDKit_org to attach the functional groups, enumerate the conformers and filter out the ones that clash with the protein.
Which remaining conformer is lowest in energy? We perform structural optimisation using a hybrid machine learning / MM potential (with the ANI2x deep learning potential) in @openmm_toolkit.
And optionally output simple ADMET properties and binding affinity predictions for the final structures using the very user-friendly gnina convolutional neural network scoring function: github.com/gnina/gnina
We've built several of the Mpro inhibitors using this workflow, and computed relative binding free energies with biosimspace/SOMD (biosimspace.org), with pretty good agreement with experiment.
Many thanks to all the open science software, blogs and tutorials that went into this workflow. They're hopefully listed in full here: cole-group.github.io/FEgrow/acknowl…
This was a bit of a fun, side-project for us, but we hope it's useful to others too. Feel free to send comments, issues & feature requests.