This pipeline automatically places and expands fragments in a binding pocket of a given kinase structure – based on a user-defined subpocket path – to generate numerous possible kinase inhibitors. It allows the user to customize this process by e.g. setting the starting subpocket and the subpocket path for fragment growing and defining thresholds.
BioSolveIT's SeeSAR (3D desktop modeling platform to prepare the protein input files) and the following SeeSAR command-line tools need to be installed and attached with a valid license:
- FlexX - for docking
- HYDE - for scoring and optimization The SeeSAR command-line tools should be be preferable placed within the root directory of the project.
Note: since we employ the FlexX docking and HYDE scoring tool, you need a valid SeeSAR license to succesfully run this pipeline.
Create a conda environment containing all required packages:
conda env create -f environment.yml# When using a MacBook with an M1 chip you may need:
CONDA_SUBDIR=osx-64 conda env create -f environment.ymlActivate the new environment:
conda activate kinfraglib_pocket_enumDownload and install KinFragLib package:
git clone https://github.com/volkamerlab/KinFragLib.git
# now we can continue installing the package
pip install -e KinFragLibInstall the KinFragLib_PocketEnum package itself (required to run the notebooks):
cd ..
# install package
pip install -e KinFragLib_PocketEnum.flexxand.hydescorerbinding pocket, and pharmacophore (i.e., subpocket) definition files need to be prepared and downloaded for every subpocket using the SeeSAR GUI. All these files need to be placed in one directory that is named only by the pdb ID of the structure (e.g.,5n1f) and should be named according to the following scheme:<subpocket>.flexx(<subpocket>.hydescorer),<subpocket>needs to be replaced with the subpocket of this file. E.g. the FlexX file for the AP subpocket needs to be stored asAP.flexx. By default, the program will search for this directory within theconfigdirectory, however, this can be changed within thesettings.jsonfile. For an example see theconfig/5n1fdirectory.- Create a JSON configuration file, such that the structure pdb id, the core subpocket, path of subpockets for fragment growing, the path to the fragment library, the path to the FlexX and HYDE executable, and the path to the folder containing folder (named with the PDB ID) with the
.flexxand.hydescorerfiles is defined. A template file is given inconfig/templates/settings.json, where all required arguments are labeled with aTODO(TODOneeds to be replaced by the argument) and all optional arguments are set by their default value.config/5n1f/settings.jsonprovides an example configuration file.
Note: We provide a script (pocket_definition/pocket_definition.py) that determines the 85 KLIFS binding pocket and subpocket-specific anchor residues, which might be handy if the kinase structure of interest is not listed in KLIFS.
python3 src/fragment_docking.py -s <JSON_settings_file> -r <path_to_results_folder> Here, <JSON_settings_file> should be replaced by the path to the JSON configuration file (e.g., conf/5n1f/settings.json), and <path_to_results_folder> by a path to a result folder, by default this will be set to results.
For help run:
python3 src/fragment_docking.py -hNote: The process can be tracked on https://wandb.ai/home: To enable this, just run the subpocket-based docking program (as instructed) and follow the instructions (either select (1) to create an account or (2) to log in if an account exists already) If this is not wanted, choose option (3)
All output files are located in a folder named with the PDB ID followed by the submitting date within the specified result directory (<path_to_results_folder> / <PDB ID>_<submit_date>, e.g. results/5n1f_2024_01_31):
program_statistics.json: contains program statistics, such as the runtime, or quantities of the ligand generation processresults.sdf: comprising the generated ligands (for each ligand, only the docking conformation of the highest scoring pose is given)SPx.sdf: comprising all docking conformations of the ligands that have been docking in thex-th iteration
Buchthal K, Kramer PL, Hubach D, Bach G, Wagner N, Krieger J, et al. Novel Kinase Ligand Generation Using Subpocket-Based Docking. ChemRxiv. 2025; doi:10.26434/chemrxiv-2025-f9ctg. This content is a preprint and has not been peer-reviewed.
