Skip to content
Snippets Groups Projects
user avatar
paradoxe-tech authored
32d10693
History
Name Last commit Last update
eval
model
.gitignore
README.md
env.yaml
main.py

🚀 Flint : AI-powered protein receptor mutation

A computational tool designed to generate protein receptor mutants that allows enhanced binding specificity towards a target ligand, based on PocketGen. While generating a set of mutated receptor structures, Flint evaluates their affinity with the ligand using AutoDock Vina. By default, our custom __MODELNAME__ pre-trained model checkpoint is used for the generation. The key point is that the docking simulation was embedded as the scoring function during the learning transfer, making it the target of the gradient descent (see Model article on the team's wiki).

Outputs and expected results

If executed correctly, Flint will generate a set of unique mutated receptor proteins in PDB format, designed to maximize the binding affinity for the ligand ; and a summary file containing, for each receptor :

  • The corresponding docking score, affinity constant and rank compared to other mutants.
  • Additional information about the receptor-ligand interaction (e.g. ligand position, residues involved).
  • The sequence of mutations that leads to its creation, starting from the original receptor.

Getting started with Flint

git clone https://github.com/Phagevo/Flint.git
cd Flint
git clone https://github.com/Phagevo/PocketGen.git

Install the environment and dependencies using [conda]'s config file

conda env create -f env.yaml
conda activate flint

If you intend to build environment without conda, keep in mind that installing AutoDock Vina from pip or any other package manager is deprecated. Besides, to run the project from Windows, this question on stackoverflow might be helpful.

├── pocketgen # can be cloned from PocketGen repository
├── checkpoints # folder needs to be created manually
│   ├── __MODELNAME__.pt
│   └── pocketgen.pt 

├── eval
├── model
└── main.py

This (above) is what should ressemble your working directory after installing Flint.

Usage from command line

python main.py --receptor <receptor.pdb> --ligand <ligand.sdf> --output <output_directory>
  • <receptor.pdb>: Path to the input protein receptor file in PDB format.
  • <ligand.sdf>: Path to the input ligand file in SDF format.
  • <output_directory>: Directory where the output mutant structures and scores will be saved.