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 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


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.7rc0.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.7rc0-py3-none-any.whl (64.6 MB view details)

Uploaded Python 3

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

Hashes for pocketmapper-0.0.7rc0.tar.gz
Algorithm Hash digest
SHA256 b2f893f18fcaf8ac2da1aba647bb3c2049a6623af43d961aae29c2b8097595bc
MD5 b4c89c3adcc4cf25d77db3f678ab11e0
BLAKE2b-256 36a95fb5b59d1e6d5a1b9ac8f8f180f4b0bbcfe6c4aa91b987c03518c838cc06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pocketmapper-0.0.7rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 28dfc08b271d2c015a160fce5022c01271491dd5b0e5aee1eec6b4d3b8dd7f8c
MD5 fd2d244773392099f0a36fc9d2b8bdc4
BLAKE2b-256 cee57a6a2ca65bd2ece19599733cc564c37892989ded17110b8b10d201fdcf7a

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