ESMCapsid-C

Built with ESM.

ESMCapsid-C is a continued masked-language-model fine-tune of Synthyra/ESMplusplus_large for the representation stage of the ESMCapsid workflow. The repository includes the model weights, tokenizer, configuration, and custom Transformers implementation required for loading the model.

About

ESM++ Large provides a Transformers-compatible implementation of ESMC 600M. ESMCapsid-C was initialized from that checkpoint and continued with masked-language-model training. In the released ESMCapsid pipeline, sequences passing the ESMCapsid-S screen are encoded with Layer 35 and attention-mask mean pooling.

Property Value
Base model Synthyra/ESMplusplus_large
Model type Continued MLM fine-tune
Transformer layers 36
Hidden size 1,152
Attention heads 18
ESMCapsid representation Layer 35, attention-mask mean pooling

Usage

Installation

pip install torch transformers tokenizers

Load the model and extract Layer 35 embeddings

import torch
from transformers import AutoModel, AutoTokenizer

model_id = "Shuofang127/ESMCapsid-C"

tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True,
)
model = AutoModel.from_pretrained(
    model_id,
    trust_remote_code=True,
).eval()

batch = tokenizer(
    ["MSTNPKPQRKTKRNT", "MKTIIALSYIFCLVFA"],
    padding=True,
    return_tensors="pt",
)

with torch.inference_mode():
    output = model(**batch, output_hidden_states=True)

# hidden_states[0] is the input embedding; encoder Layer 35 is index 36.
layer35 = output.hidden_states[1 + 35]
mask = batch["attention_mask"].unsqueeze(-1).to(layer35.dtype)
embedding = (layer35 * mask).sum(dim=1) / mask.sum(dim=1).clamp_min(1)

print(embedding.shape)  # (batch_size, 1152)

For offline loading, replace model_id with the local model directory and set local_files_only=True in both from_pretrained calls.

Important

  • ESMCapsid-C is a representation model, not the first-stage capsid classifier. Use Shuofang127/ESMCapsid-S for candidate screening.
  • Embedding similarity does not establish infectivity, host range, taxonomy, structure, or biological function.
  • Keep the released layer, sequence preprocessing, truncation policy, and pooling method together.
  • This repository uses custom code and requires trust_remote_code=True. Review the code before loading it.
  • The packaged modeling_esm_plusplus.py is the runtime implementation for this release; features added later to the base repository are not automatically supported here.

Citation

License

ESMCapsid-C is a derivative of ESM++ Large and ESMC 600M. Review the repository's LICENSE and NOTICE.txt before use or redistribution.

Downloads last month
14
Safetensors
Model size
0.6B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Shuofang127/ESMCapsid-C

Finetuned
(2)
this model