ferritin_plms/esmc/mod.rs
1//! ESM-C / ESM-3 model family from EvolutionaryScale.
2//!
3//! This module ports the [EvolutionaryScale Python SDK](https://github.com/evolutionaryscale/esm)
4//! for the **ESM-C** (esmc-300m, esmc-600m) and **ESM-3** (esm3-sm-open-v1) model families.
5//!
6//! These are **multimodal** models (sequence + structure + function tracks) with geometric
7//! attention and codebook quantization. Weights are gated-access on HuggingFace and require
8//! accepting the EvolutionaryScale license before downloading.
9//!
10//! HuggingFace repos:
11//! - <https://huggingface.co/EvolutionaryScale/esmc-300m-2024-12>
12//! - <https://huggingface.co/EvolutionaryScale/esmc-600m-2024-12>
13//!
14//! **Note**: This is architecturally distinct from `esm2` (Facebook/Meta ESM-2), which is a
15//! sequence-only BERT-style encoder available publicly. The two modules share the ESM name and
16//! amino acid alphabet but are otherwise unrelated.
17//!
18//! # Status
19//! The core `esmc` model and its layers compile and load weights. The `sdk/`, `pretrained.rs`,
20//! and parts of `utils/` are aspirational WIP stubs (commented out of this module).
21
22pub mod layers;
23pub mod models;
24// pub mod pretrained; // WIP: requires snapshot_download() and LOCAL_MODEL_REGISTRY
25// pub mod sdk; // WIP: uses undefined abc crate and protein_chain/complex types
26pub mod tokenization;
27pub mod utils;