| Graphical abstract. Traditional protein language models that are trained purely on masked-language modelling underperform sequence alignment models on TCR specificity prediction. In contrast, our model SCEPTR is jointly trained on masked-language modelling and contrastive learning, allowing it to outperform other language models as well as the best sequence alignment models to achieve state-of-the-art performance. |
SCEPTR (Simple Contrastive Embedding of the Primary sequence of T cell Receptors) is a small, fast, and informative TCR representation model that can be used for alignment-free TCR analysis, including for TCR-pMHC interaction prediction and TCR clustering (metaclonotype discovery). Our manuscript demonstrates that SCEPTR can be used for few-shot TCR specificity prediction with improved accuracy over previous methods.
SCEPTR is a BERT-like transformer-based neural network implemented in Pytorch. With the default model providing best-in-class performance with only 153,108 parameters (typical protein language models have tens or hundreds of millions), SCEPTR runs fast- even on a CPU! And if your computer does have a CUDA-enabled GPU, the sceptr package will automatically detect and use it, giving you blazingly fast performance without the hassle.
sceptr's API exposes four intuitive functions: calc_cdist_matrix, calc_pdist_vector, calc_vector_representations, and calc_residue_representations -- and it's all you need to make full use of the SCEPTR models.
What's even better is that they are fully compliant with pyrepseq's tcr_metric API, so sceptr will fit snugly into the rest of your repertoire analysis workflow.
Installation
pip install sceptr
Citing SCEPTR
Please cite our manuscript.
BibTex
@article{nagano_contrastive_2025,
title = {Contrastive learning of {T} cell receptor representations},
volume = {16},
issn = {2405-4712, 2405-4720},
url = {https://www.cell.com/cell-systems/abstract/S2405-4712(24)00369-7},
doi = {10.1016/j.cels.2024.12.006},
language = {English},
number = {1},
urldate = {2025-01-19},
journal = {Cell Systems},
author = {Nagano, Yuta and Pyo, Andrew G. T. and Milighetti, Martina and Henderson, James and Shawe-Taylor, John and Chain, Benny and Tiffeau-Mayer, Andreas},
month = jan,
year = {2025},
pmid = {39778580},
note = {Publisher: Elsevier},
keywords = {contrastive learning, protein language models, representation learning, T cell receptor, T cell specificity, TCR, TCR repertoire},
}
Release files for sceptr 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sceptr-1.2.0.tar.gz | 11.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sceptr-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.0 MB
Release files / sceptr-1.2.0.tar.gz
| Download URL | sceptr-1.2.0.tar.gz |
|---|---|
| Size | 11.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f9e0b5630e0d032c95ecb316d6431374ef51e83be3d16b190139c87e3df5551
|
|
BLAKE2b-256 checksum How to use checksums |
bda42f534e3cab4a0336c7d8646140e4ba2cdc4717cd9cb5f76aa5cd77d9e708
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.
Transparency logRelease files / sceptr-1.2.0-py3-none-any.whl
| Download URL | sceptr-1.2.0-py3-none-any.whl |
|---|---|
| Size | 10.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aba652a9fb53861d5170cc1ad99a284852da8899328f4b4fd80e78f595d250d5
|
|
BLAKE2b-256 checksum How to use checksums |
8d8ffbca69c18292a8ce8fa1ee4bf9b2ccaf6b10bf93b025a0307d6c669c0355
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.
Transparency log