ProtLink: Multispecies HGT for Protein–Protein Interaction Prediction

GitHub Repository: straight-no-chaser/ProtLink

ProtLink is a multispecies heterogeneous graph transformer for protein–protein interaction prediction. The model combines ESM-2 protein sequence embeddings with species-specific PPI context and orthogroup relationships across 516 species, enabling evolutionary information to propagate across species while preserving species-specific interaction structure.

This release uses a 2-layer, 4-head HGT encoder with an MLP link decoder. Protein features are derived from esm2_t33_650m using mean-pooled final-layer residue embeddings. The model is evaluated on human–human PPI prediction, with non-human PPI and protein–orthogroup edges used as graph context.

For the released seed-0 run, ProtLink achieves:

  • ROC-AUC: 0.9581
  • Average Precision: 0.9524
  • F1: 0.8940

The classification threshold is selected on the validation set by maximizing F1 over the precision–recall curve and is then fixed for test evaluation.

Load test

pip install -r requirements.txt
python inference.py --config config.json --weights model.safetensors

A successful run constructs the exact released HGT + MLP decoder and performs load_state_dict(..., strict=True).

Score an edge

inference.py expects the same heterogeneous graph schema used in training. Save the inference HeteroData object as inference_graph.pt, then run:

python inference.py --graph inference_graph.pt --edge 123 456

The two integers are protein node indices in that graph.

Deployment detail

HGT inference is graph-conditioned. The model weights alone do not contain the protein ESM-2 features, PPI context edges, or protein-to-orthogroup membership edges. Those must be reconstructed with the same indexing/schema as training.

Downloads last month
-
Safetensors
Model size
5M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support