This model is a finetuned version of ESM2-3B [1] for protein-protein interaction site prediction.
It predicts whether a certain amino acid in a protein sequence is part of an interaction site (1) or not (0).
For more details on the training and testing on this model, refer to the article [...].
The github repository to use with this model is available here:
https://github.com/RitAreaSciencePark/PPI-Reps
The data for the training and evaluation of this model is available in csv format in this zenodo repository:
https://doi.org/10.5281/zenodo.18802482
1import torch
2from transformers import AutoModel, AutoTokenizer, AutoConfig
3
4model_name = "evillegasgarcia/esm2-ppi-biolip-1"
5
6# Load config
7config = AutoConfig.from_pretrained(model_name, trust_remote_code=True)
8# Load model using the custom remote code
9model = AutoModel.from_pretrained(model_name, trust_remote_code=True)
10# Load tokenizer
11tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
12
13
14#move model to device
15device = "cuda" if torch.cuda.is_available() else "cpu"
16model = model.to(device)
17
18# run over a sample sequence
19sequence = "MKTVRQERLKSIVRILEAAKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG"
20
21inputs = tokenizer.encode(sequence, return_tensors="pt").to(device)
22logits = model(inputs)["logits"]
23probabilities = torch.sigmoid(logits)
24
25probabilities
The model was trained on a curated subset of the biolip dataset taken from [2].
We used the Adam optimizer with default hyperparameters, and weight decay of 0.05.
The learning rate was 1e-5 and we had a gradient accumulation batch size of 2.
The performance of the model was tested on the ZK448 benchmark available from the Zenodo repository and originally curated by [3].
The model has an accuracy of 0.74 and a Matthews Correlation Coefficient (MCC) score of 0.35.