X-PAIR: A Unified Multi-Task Framework for PPI Network Reconstruction and Interface Prediction
Project description
X-PAIR
X-PAIR is a multi-task deep learning framework designed to jointly predict protein–protein interactions (PPI) and localize residue-level interaction interfaces. It operates directly on protein sequences, leveraging pretrained protein language model (PLM) embeddings and a cross-attention architecture to model interactions between residue representations.
Given pairs of protein sequences, X-PAIR can be trained in three modes:
interaction-only: predict whether two proteins interactinterface-only: predict which residues belong to the interaction interface, assuming the pair is interactingmulti-task: predict both interaction and residue-level interface labels
⚙️ Installation
X-PAIR requires Python 3.10 or newer. To install the package, run:
pip install xpair
📌 Usage
This package provides three command-line entry points:
xpair-train: train an interaction-only, interface-only, or multi-task modelxpair-test: evaluate a trained checkpoint on labeled test dataxpair-predict: run inference on unlabeled protein pairs
The package already includes a pretrained version of the model (multitask_xfair.ckpt), which is used by default for prediction unless a different checkpoint is specified. This model is trained in a multi-task setting to jointly predict protein–protein interactions and residue-level interfaces for protein sequences ranging from 50 to 2000 amino acids. The interaction training dataset was constructed from STRING v12 and includes protein pairs from four species (H. sapiens, G. gallus, D. melanogaster, and S. cerevisiae). The interface training dataset was derived from PPI3D, which maps experimentally resolved protein structures from the PDB to protein sequences and is not restricted to any particular species.
All other pretrained models used in the experiments reported in the paper can be found and downloaded from the pretrained_models directory.
🚀 Quick start
X-PAIR predicts whether two proteins interact and, if so, identifies the residues involved in interaction interface.
The simplest way to use X-PAIR is:
Use --predict_output_path to choose the output location and file name:
xpair-predict --predict_pairs_path pairs_id.tsv --predict_fasta_path sequences.fasta --predict_output_path ./predictions/my_predictions.csv
The file pairs_id.tsv contains protein ID pairs separated by tabs. Example:
id1 id2
protA protB
protA protC
The xpair-predict command generates a CSV file at the location specified by --predict_output_path. The output contains both interaction-level and residue-level interface predictions for all protein pairs listed in pairs_id.tsv.
📚 Citation
If you find this useful, please cite:
Rescalli, S. and Carbone, A. X-PAIR: an ultrafast multitask framework for proteome-scale reconstruction of PPI networks and partner-specific interfaces from sequence. bioRxiv preprint (2026). https://doi.org/10.64898/2026.07.20.739596
The full documentation for the package is available in the X-PAIR documentation.
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 xpair-0.1.0.tar.gz.
File metadata
- Download URL: xpair-0.1.0.tar.gz
- Upload date:
- Size: 5.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd3478e0422b77ded29960716f0088aae7628b0f1d7e1f3d7c38d0641fc6e3c7
|
|
| MD5 |
0258bceb8352502aece9b0dfb884982f
|
|
| BLAKE2b-256 |
1b15b9644c0fb230920dc98b431410fedcd82981c6f3fe6745ea17ce5d3c5e20
|
File details
Details for the file xpair-0.1.0-py3-none-any.whl.
File metadata
- Download URL: xpair-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbd8b3934ae26f15784a77f4f987c248365d3059c0f8475addf793135541144c
|
|
| MD5 |
e1520340d50a322ae4eb1e9866f3596c
|
|
| BLAKE2b-256 |
1b1c98ee6bd103de2cfab9a90c1d64c4a6e98062f88e382c02b158f0132ae46c
|