Autopocket2crest
AutoPocket2CREST — Automated pipeline for preparing protein–ligand binding pockets for CREST conformational sampling. This workflow extracts a local pocket around the bound ligand, adds hydrogens, formats the structure for CREST, generates backbone constraints, and runs the CREST conformer search—all in one reproducible process.
Install / Use
/learn @molinfo-vienna/Autopocket2crestREADME
AutoPocket2CREST
Automated protein–ligand pocket extraction and preparation pipeline for CREST conformational sampling.
Overview
AutoPocket2CREST automates the preparation of protein–ligand binding pockets for CREST simulations.
Starting from a protein .pdb and ligand .mol2 file, it automatically:
- Extracts and cleans the binding pocket surrounding the ligand
- Adds and optimizes hydrogen atoms
- Generates CREST-compatible input files (
.pdb,.xyz,.mol2) - Builds constraint files for pocket backbone atoms
- Optionally runs CREST directly on the prepared system
The pipeline ensures reproducible, chemically sound local environments ready for quantum mechanical conformer searches.
Features
Automatic pocket detection – radius expands dynamically until a sufficient local environment is captured
Hydrogenation and protonation – Open Babel–based hydrogen addition at pH 7.4
Structure refinement – removes alternate locations, unbonded and isolated atoms
Constraint generation – automatically identifies and compresses backbone atom indices for CREST
Charge detection – calculates total formal charge via RDKit
CREST-ready output – .pdb, .xyz, .mol2, and constraints files ready to run
Automated cleanup of intermediate and temporary files
Input Requirements
| File | Description |
|------|--------------|
| protein.pdb | Full protein structure including the bound ligand |
| ligand.mol2 | Ligand structure file |
| PDBID | PDB identifier (used for folder and dataset lookup) |
Important Output
| File | Purpose |
|------|----------|
| test_pocket_extended_h_fixed.pdb | Final CREST-ready pocket structure |
| constraints.inp | CREST constraint file |
| crest.out | CREST output log |
| crest_conformers_updated.pdb | Conformers in PDB format |
Dependencies
You’ll need the following tools installed and accessible:
| Tool | Purpose | |------|----------| | Python 3.8+ | Core scripting language | | MDAnalysis | Structural analysis | | RDKit | Charge and chemistry operations | | Open Babel | Hydrogenation and file conversion | | CREST | Conformer sampling engine | | pdbfixer | Structure repair and hydrogen addition | | OpenMM | PDB parsing backend |
Installation
conda create -n autopocket2crest python=3.10
conda activate autopocket2crest
conda install -c conda-forge mdanalysis rdkit openbabel pdbfixer openmm crest
Alternatively you can also use the provided environment.yml file:
conda env create -f environment.yml
Make sure you are in the downloaded autopocket2crest folder and type:
pip install .
Usage
Run AutoPocket2CREST directly from the command line (the requried files need to be in the same Folder):
autopocket2crest <protein_file.pdb> <ligand_file.mol2> <PDB_ID>
Example:
autopocket2crest 1ABC_protein.pdb 1ABC_ligand.mol2 1ABC
This will:
-
Create a working directory /{pwd}/1ABC
-
Automatically extract and prepare the ligand pocket
-
Generate hydrogenated, CREST-ready structures
-
Run CREST and save results
Example Workflow
Input: 1ABC_protein.pdb + 1ABC_ligand.mol2
↓
AutoPocket2CREST
↓
Pocket extraction → Hydrogenation → Cleanup → Constraint generation → CREST
↓
Output: test_pocket_extended_h_fixed.pdb, constraints.inp, crest.out, and the full crest conformer output
Why use AutoPocket2CREST
-
Fully automated pocket generation and preparation
-
Reproducible, standardized quantum-ready systems
-
Compatible with CREST workflows
-
Simplifies pre-QM preparation for enzyme or receptor-ligand studies
Author & Citation
Developed by Christian Fellinger (Github: Dragon3221)
This will be part of my Doctoral Thesis. I will share how to Cite it as soon as it is available.
Acknowledgements
This project builds on tools from the MDAnalysis, RDKit, Open Babel, CREST, and OpenMM communities. Thank you for all this hard work!
