language: en | |
license: mit | |
datasets: | |
- ronig/protein_binding_sequences | |
## Peptriever: A Bi-Encoder for large-scale protein-peptide binding search | |
For training details see our [Application Note](https://www.biorxiv.org/content/10.1101/2023.07.13.548811v1). | |
Training code can be found in our [Github repo](https://github.com/RoniGurvich/Peptriever). | |
A live demo is available on our [application page](https://peptriever.app) | |
## Usage | |
```python | |
import torch | |
from transformers import AutoModel, AutoTokenizer | |
tokenizer = AutoTokenizer.from_pretrained("ronig/protein_biencoder") | |
model = AutoModel.from_pretrained("ronig/protein_biencoder", trust_remote_code=True) | |
model.eval() | |
peptide_sequence = "AAA" | |
protein_sequence = "MMM" | |
encoded_peptide = tokenizer.encode_plus(peptide_sequence, return_tensors='pt') | |
encoded_protein = tokenizer.encode_plus(protein_sequence, return_tensors='pt') | |
with torch.no_grad(): | |
peptide_output = model.forward1(encoded_peptide) | |
protein_output = model.forward2(encoded_protein) | |
print("distance: ", torch.norm(peptide_output - protein_output, p=2)) | |
``` | |
## Version | |
Model checkpint: `peptriever_2023-06-23T16:07:24.508460` |