BERTMHC MHC class II binding model

This repository contains a locally trained, paper-aligned BERTMHC checkpoint for MHC class II peptide-binding affinity prediction. It is intended for academic and non-profit non-commercial research.

Release scope: this is one fold and one random seed, not the complete five-fold, three-initialization-per-fold experiment from the BERTMHC paper. It is not a clinical model and does not predict antigen presentation, T-cell response, or immunogenicity.

Model description

The checkpoint fine-tunes the TAPE ProteinBERT base model on fold 1 of the Jensen et al. MHC class II binding dataset used by NetMHCIIpan-3.2 and BERTMHC. It uses:

  • a 34-residue MHC class II pseudosequence;
  • peptide padding or end-truncation to 24 residues;
  • TAPE ProteinBERT with 12 layers, 12 attention heads, and hidden size 768;
  • mean pooling over non-padding token representations;
  • a two-layer MLP with hidden size 512;
  • end-to-end fine-tuning with mean squared error on normalized affinity; and
  • the first output logit, transformed with a sigmoid, as the binding score.

The normalized target is

y = 1 - log(IC50) / log(50000)

where IC50 is expressed in nM. A 500 nM binder threshold corresponds to a normalized target of approximately 0.426.

Evaluation

The best checkpoint was selected at epoch 10 using fold-1 evaluation auROC. The evaluation partition contains 27,332 measurements, including 11,013 binders at the 500 nM-derived threshold.

Metric Fold-1 evaluation
auROC 0.8660506295
Pearson R 0.7330023050
MSE 0.0320102610
Average precision 0.8205408974
Kendall tau 0.5383985861

Fold 1 controlled learning-rate scheduling, checkpoint selection, and early stopping. These numbers are therefore validation results, not an independent test result. The BERTMHC paper reported aggregate five-fold performance of auROC 0.8822 and Pearson R 0.759 using three model initializations per fold. The two result sets are not directly equivalent.

Files

File Purpose
model.safetensors 92,356,612-parameter PyTorch state dictionary
bertmhc_config.json Architecture, input, and target configuration
mhc_pseudosequences.csv 72 human HLA class II pseudosequences used by the local adapter
mhc_pseudosequences_full.csv Full 80-molecule human and murine training mapping
metrics.json Best-checkpoint metrics and evaluation scope
training_metadata.json Sanitized training, environment, and provenance metadata
THIRD_PARTY_NOTICES.md BERTMHC, TAPE, and dataset notices
MODEL_LICENSE.md Model-weights license and scope
SHA256SUMS Release-file checksums

Loading the state dictionary

This is a custom PyTorch/TAPE checkpoint, not a Hugging Face Transformers AutoModel repository. The repository intentionally does not redistribute the official or locally modified BERTMHC source code. Researchers must obtain the official BERTMHC software separately, review and accept its non-commercial license, and use a runtime that implements the paper-specified masked mean pooling behavior.

After installing an authorized BERTMHC runtime, the state dictionary can be loaded as follows:

from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
from tape import ProteinBertConfig

from bertmhc.bertmhc import BERTMHC

repo_id = "zmactep/bertmhc"
config_path = hf_hub_download(repo_id, "bertmhc_config.json")
weights_path = hf_hub_download(repo_id, "model.safetensors")

config = ProteinBertConfig.from_pretrained(config_path)
model = BERTMHC(config)
model.load_state_dict(load_file(weights_path), strict=True)
model.eval()

The released upstream BERTMHC implementation mean-pools all encoded positions, whereas the paper specifies masking padding positions before pooling. This checkpoint was trained with masked mean pooling. Using it with unmasked pooling will not reproduce the reported scores.

For input preparation, follow the official BERTMHC binding schema and tokenization. Each row needs an allele label, its 34-residue MHC pseudosequence, and a peptide. The mapping files in this repository are provided for convenience and provenance.

Intended use

Suitable uses include:

  • non-commercial academic investigation of MHC-II peptide binding;
  • replication and method-comparison studies;
  • research-only ranking of peptide candidates; and
  • evaluation as one component of an MHC-II ensemble.

Out-of-scope use

Do not use this checkpoint as:

  • a clinical, diagnostic, or therapeutic decision system;
  • a standalone predictor of antigen presentation or immunogenicity;
  • evidence of efficacy or safety of a vaccine candidate;
  • a calibrated probability of biochemical binding; or
  • a commercial model or service.

Limitations

  • Only fold 1 and seed 1111 were trained.
  • The published 15-model cross-validation design has not been completed.
  • The authors' independent 2,413-pair benchmark has not yet been evaluated.
  • No local leave-one-molecule-out experiment was performed.
  • Peptides longer than 24 residues are truncated at the end.
  • Source duplicates and repeated peptide-allele measurements were preserved.
  • Apple MPS runs were stable to reported precision but not proven bitwise deterministic across hardware and software versions.
  • Scores have not been independently calibrated across alleles.

Training data

The model was trained from the official Jensen/NetMHCIIpan-3.2 binding folds:

  • fold-1 training: 106,949 measurements;
  • fold-1 evaluation: 27,332 measurements;
  • complete source dataset: 134,281 measurements;
  • complete source coverage: 80 MHC-II molecules, including 72 human and 8 murine molecules; and
  • observed peptide lengths: 9-37 residues.

No training rows are redistributed in this model repository. Dataset source and processed-artifact hashes are recorded in training_metadata.json.

Paper and code alignment

The peer-reviewed paper specifies MSE regression, Pearson correlation, and padding-aware mean pooling for the binding task. The released BERTMHC code uses binary cross-entropy for the continuous binding target, computes Kendall tau as val_cor, and averages over padding positions. This checkpoint follows the paper for these three choices. GitHub issue 8 records the unresolved public question about the loss and metric discrepancy.

Licensing and attribution

The model weights are released under CC BY-NC 4.0; see MODEL_LICENSE.md. The official BERTMHC software is not included and remains subject to its separate NEC Laboratories Europe non-commercial research license. TAPE notices are reproduced in THIRD_PARTY_NOTICES.md.

Publications using this checkpoint must cite the BERTMHC and TAPE papers and must explicitly acknowledge:

The BERTMHC software was developed by NEC Laboratories Europe GmbH.

Citation

@article{cheng2021bertmhc,
  title = {BERTMHC: improved MHC-peptide class II interaction prediction with transformer and multiple instance learning},
  author = {Cheng, Jun and Bendjama, Ka{\"i}dre and Rittner, Karola and Malone, Brandon},
  journal = {Bioinformatics},
  volume = {37},
  number = {22},
  pages = {4172--4179},
  year = {2021},
  doi = {10.1093/bioinformatics/btab422}
}

@inproceedings{rao2019tape,
  title = {Evaluating Protein Transfer Learning with TAPE},
  author = {Rao, Roshan and Bhattacharya, Nicholas and Thomas, Neil and Duan, Yan and Chen, Xi and Canny, John and Abbeel, Pieter and Song, Yun S.},
  booktitle = {Advances in Neural Information Processing Systems},
  volume = {32},
  year = {2019}
}

Sources

Downloads last month

-

Downloads are not tracked for this model. How to track
Safetensors
Model size
92.4M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support