A tool for mapping surface pockets in PDB structures
Project description
PocketMapper
PocketMapper is a command-line tool to compare the binding surfaces of protein-protein interactions. PocketMapper fetches protein structures from the PDB, fetches contact residues from PDBe (PISA), aligns structures based on sequence (pairwise BLOSUM62) or structure (Foldseek) alignment, and returns information about overlapping surfaces including the conservation of surface residues and their RMSD. It is intended for comparative analysis of binding pockets between query and target protein chains.
Installation
PocketMapper has been tested with Python 3.12 and is available on PyPI. Optionally, Foldseek can be installed to enable efficient structural alignment.
# Setup conda environment for pocketmapper
conda create --name=pocketmapper python=3.12
# Pip installation of PocketMapper
pip install pocketmapper
# Optional - Conda installation of Foldseek
conda install -c conda-forge -c bioconda foldseek
Foldseek also has precompiled binaries available at https://dev.mmseqs.com/foldseek/
Usage
Example commands
Basic sequence alignment run for a single pair:
pocketmapper search --query 4Q5J_B_F --target 4Q5J_A_E --results_dir ./out
Batch mode using files with one PDB_CHAIN_CHAIN per line:
pocketmapper search --query queries.txt --target targets.txt --settings config.json
Using the bundled Foldseek DB:
pocketmapper search --query 4Q5J_B_F --target human_domains --foldseek True --results_dir ./out_fs
Options
--query: Query identifier or path. Accepts a single PDB_CHAIN_CHAIN (e.g. 4Q5J_B_F) or a file with one per line.
--target: Target identifier or path. Accepts single PDB_CHAIN_CHAIN, file, or 'human_domains' for bundled Foldseek DB.
--settings: Path to JSON settings file. CLI args override settings file. Same available arguments as command line.
--cache_dir: Directory for caching downloaded or intermediate files.
--results_dir: Directory to write results and temporary divided structures.
--verbose / --debug: Increase log verbosity.
--foldseek: If true, run Foldseek alignments (requires foldseek binary).
--help: Display the help message
Features
- Download and cache mmCIF files
- Retrieve PISA interface definition
- Extract CA coordinates from PDB structures
- Perform local alignments or Foldseek-based alignments
- Compare pockets using alignment and substitution scoring (BLOSUM62)
- Save tabular results and auxiliary JSON files to a results directory
Outputs
- alignment.tsv: Alignment report (Foldseek or local aligner)
- pocket_comparison.tsv: Final pocket comparison table
- pisa_pockets and intermediate JSON snapshots under pisa_dir
- unknown_ids.json (if unknown Foldseek aliases are encountered e.g., MSE -> M)
- Divided mmCIF files and temporary directories under results_dir
Contact / Authors
See project repository for maintainer and contributor information.
TBD
- Align function to generate aligned structures
- Information on results table
- Some sort of visual output
- Information of querying alphafold domains with human_domains
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pocketmapper-0.0.7rc0.tar.gz.
File metadata
- Download URL: pocketmapper-0.0.7rc0.tar.gz
- Upload date:
- Size: 64.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2f893f18fcaf8ac2da1aba647bb3c2049a6623af43d961aae29c2b8097595bc
|
|
| MD5 |
b4c89c3adcc4cf25d77db3f678ab11e0
|
|
| BLAKE2b-256 |
36a95fb5b59d1e6d5a1b9ac8f8f180f4b0bbcfe6c4aa91b987c03518c838cc06
|
File details
Details for the file pocketmapper-0.0.7rc0-py3-none-any.whl.
File metadata
- Download URL: pocketmapper-0.0.7rc0-py3-none-any.whl
- Upload date:
- Size: 64.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28dfc08b271d2c015a160fce5022c01271491dd5b0e5aee1eec6b4d3b8dd7f8c
|
|
| MD5 |
fd2d244773392099f0a36fc9d2b8bdc4
|
|
| BLAKE2b-256 |
cee57a6a2ca65bd2ece19599733cc564c37892989ded17110b8b10d201fdcf7a
|