You need to agree to share your Hugging Face information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

SCEPTR-AC, supervised fine-tune

Checkpoint SCEPTR6L_AC_finetuned_full. Same architecture as CLEST-TCRdist, 6 layers and d_model 128, but a different lineage: this is the autocontrastive checkpoint SCEPTR6L_AC fine-tuned on labelled VDJdb, not a fine-tune of CLEST-TCRdist. Positives during fine-tuning are receptors annotated to the same epitope, so the embedding is pulled tight around the specificities present in the training labels.

Use this when you have epitope labels and want the strongest retrieval you can get on those epitopes. Use CLEST-TCRdist when you do not have labels, or when you need a number that is comparable to label-free methods.

Use it

from clest_tcrdist import load_model
from huggingface_hub import snapshot_download

model = load_model(snapshot_download("20eddibae/sceptr-ac-finetuned"))
vectors = model.calc_vector_representations(tcrs)          # (N, 128)
distances = model.calc_cdist_matrix(queries, references)   # min or mean gives a score

Retrieval and clustering work exactly as on the zero-shot model:

python -m clest_tcrdist.retrieve repertoire.csv --seeds binders.csv --model-dir <snapshot dir>

How it scores, and why the number is not comparable

Leak-free benchmark, positives drawn from the valid_filtered.csv split that was held out of fine-tuning, nearest-neighbour scoring: AUROC 0.979 at one reference TCR, 0.948 at fifty.

Those are much higher than any label-free method here and they are not a like-for-like comparison. The model has been trained on epitope labels, including the epitopes it is evaluated on. It has learned where these specificity groups live; it has not demonstrated that it can find a group it was never shown.

Two consequences worth stating plainly:

  • Do not put this number next to CLEST-TCRdist, TCRdist or GIANA figures. They answer a different question.
  • Evaluate any fine-tune on a pool held out of fine-tuning. The standard benchmark pool in this project draws positives from the same table the fine-tune trained on, which inflates the result. In the repository's benchmark that is --protocol leakfree.

Expect it to degrade on epitopes outside its training labels. We have not characterised that falloff, so treat it as a model for the specificities in VDJdb rather than a general one.

Training

  • Base: SCEPTR6L_AC, epoch 200, the matched autocontrastive control of the CLEST-TCRdist study, pretrained on unlabelled Tanno et al. TCRs.
  • Fine-tune: supervised contrastive loss with same-epitope positives plus the masked-token auxiliary loss, on the labelled VDJdb training split (train_filtered.csv, ~42k paired receptors). 20 epochs. Shipped epoch is 20.
  • Architecture unchanged from the base: 6 layers, d_model 128, 8 heads, dropout 0.1.

Also here

Citation

Built on SCEPTR (Nagano et al., Cell Systems 2025) and TCRdist (Dash et al., Nature 2017). Fine-tuning labels from VDJdb (Bagaev et al. 2020). MIT licensed.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support