Skip to main content

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 effecient structural alignment.

# Setup conda environment for pocketmapper
conda create --name=pocketmapper python=3.12

# Pip installation of PocketMapepr
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
  • Preprocess/mmCIF splitting using gemmi
  • Retrieve PISA interface/pocket information and store pocket data
  • Extract CA coordinates from divided 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pocketmapper-0.0.6rc0.tar.gz (64.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pocketmapper-0.0.6rc0-py3-none-any.whl (64.6 MB view details)

Uploaded Python 3

File details

Details for the file pocketmapper-0.0.6rc0.tar.gz.

File metadata

  • Download URL: pocketmapper-0.0.6rc0.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

Hashes for pocketmapper-0.0.6rc0.tar.gz
Algorithm Hash digest
SHA256 f0c58a1611063c8f470b769366a27e53a3183c8ee1034e95a9ce57b380a6db21
MD5 a94333a2dbb8e208aa9cceab9c3372bc
BLAKE2b-256 ad04bc5961561921534dc5a3db6340697bf8b24a422a78d0539504598a720332

See more details on using hashes here.

File details

Details for the file pocketmapper-0.0.6rc0-py3-none-any.whl.

File metadata

File hashes

Hashes for pocketmapper-0.0.6rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 22542d619f99b22c5cd7f3210ff3fffeb49fbe245722f7cb8c087d8946df9fe7
MD5 bf24929ed7684ad6da6da490fd07ac9b
BLAKE2b-256 decd9e75fd064933448e162b7db5949766db3bd72b81a96800a6adf002e58f67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page