Instructions to use Shuofang127/ESMCapsid-C with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Shuofang127/ESMCapsid-C with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="Shuofang127/ESMCapsid-C", trust_remote_code=True)# Load model directly from transformers import AutoModelForMaskedLM model = AutoModelForMaskedLM.from_pretrained("Shuofang127/ESMCapsid-C", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
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-Sfor 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.pyis the runtime implementation for this release; features added later to the base repository are not automatically supported here.
Citation
- Base model:
Synthyra/ESMplusplus_large, DOI10.57967/hf/3726. - Hallee et al. FastPLMs: Bringing ESMC and ESM3 to Transformers. DOI
10.5281/zenodo.16466575. - Liu, S., Xia, S., and Wang, H. Capsid-specialized protein language models reveal higher-order viral architecture from sequence. bioRxiv (2026). DOI
10.64898/2026.09.06.749605.
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
Model tree for Shuofang127/ESMCapsid-C
Base model
Synthyra/ESMplusplus_large