An interaction fingerprint for analyzing protein-ligand contacts, binding site and binding mode similarities.
This project provides tools for:
- Generating Extended Connectivity Interaction Fingerprints (ECIFP) for protein-ligand complexes in the PDB
- Identifying and analyzing binding sites
- Computing binding mode and binding site similarity
- Comparing protein-ligand interaction patterns
- Python ≥ 3.12
- uv package manager
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# With pip
pip install uvgit clone https://github.com/PDBeurope/ecifp.git
cd ecifp# Create a virtual environment and install all dependencies
uv sync
# This will:
# - Create a .venv directory
# - Install Python 3.12 if needed
# - Install all dependencies from pyproject.toml
# - Lock versions in uv.lock# macOS/Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate# Start Jupyter Lab
jupyter lab
# Navigate to the nbs/ directory and open any notebookThe nbs/ directory contains the following Jupyter notebooks:
Note
Before running the notebooks, download data from 10.5281/zenodo.18557398 and set the path
to data in conf.ini file
Generates Extended Connectivity Interaction Fingerprints (ECIFP) for protein-ligand complexes using their interaction data
Generates fingerprints for binding sites of proteins based on their ligand interacting residues
Clusters ligands to distinct non-overlapping binding sites based on the similarity of their binding site fingerprints
Evaluating the performance of ECIFP for binding site comparisons using benchmark data from
Demonstrating the use of ECIFP for binding mode simialrities of ligands
ecifp/
├── README.md # This file
├── pyproject.toml # Project dependencies and configuration
├── uv.lock # Locked dependency versions
├── ecifp/ # Main Python package
│ ├── __init__.py
│ ├── fp_sim.py # Fingerprint generation and similarity calculations
│ └── utils.py # Utility functions
├── nbs/ # Jupyter notebooks
│ ├── generate_ecifp.ipynb
│ ├── generate_binding_site_fp.ipynb
│ ├── binding_site_identification.ipynb
│ ├── binding_site_similarity.ipynb
│ └── binding_mode_similarity.ipynb
└── images/ # figures
[Add citation information if applicable]
