|
Download README.md from harari/evo2-snv-pathogenicity-classifier: direct link, hf CLI and curl.
- Browser
- Download file 3.64 kB
-
https://huggingface.co/harari/evo2-snv-pathogenicity-classifier/resolve/main/README.md
- Command line
-
hf download hf://harari/evo2-snv-pathogenicity-classifier/README.md
-
curl -L -o README.md https://huggingface.co/harari/evo2-snv-pathogenicity-classifier/resolve/main/README.md
3.64 kB
| license: mit | |
| tags: | |
| - genomics | |
| - dna | |
| - variant-effect-prediction | |
| - cardiomyopathy | |
| - evo2 | |
| base_model: arcinstitute/evo2_40b | |
| # Supervised Evo 2 classifier for SNV pathogenicity | |
| Classifier of ClinVar pathogenic/likely pathogenic (P/LP) versus benign/likely benign (B/LB) coding SNVs in 24 | |
| cardiomyopathy genes, from Evo 2 40B embeddings. It is the supervised SNV classifier of *Evo 2 Predicts | |
| Cardiomyopathy-Associated Variants and Elucidates Their Underlying Mechanisms* (Kurozumi, Otsuka et al.; bioRxiv | |
| doi:10.64898/2026.05.15.725304), Supplementary Methods and Figure S2A. | |
| ## Input | |
| For each SNV, a 128-bp window with the variant at the 65th position (GRCh38) is embedded with Evo 2 40B | |
| (`arcinstitute/evo2_40b`, layer `blocks.20.mlp.l3`) for four sequences: reference, its reverse complement, | |
| alternate, its reverse complement. Each embedding is averaged over the 128 positions (8,192 values) and the four are | |
| concatenated (32,768 values), then standardised with `scaler_mean` / `scaler_scale` stored in the checkpoint. | |
| ## Model and training | |
| - Input (32,768) β Linear (512) β ReLU β BatchNorm β Dropout (0.3) β Linear (128) β ReLU β BatchNorm β Dropout (0.3) | |
| β Linear (32) β ReLU β BatchNorm β Dropout (0.3) β Linear (1); the output is a logit (sigmoid gives the probability). | |
| - Data: all 22,840 coding SNVs (3,535 P/LP, 19,305 B/LB), split at the SNV level into training 14,617, validation | |
| 3,655 and test 4,568 by two stratified random splits (scikit-learn, random_state 42). | |
| - Adam (learning rate 3 Γ 10β»β΄, batch 128), binary cross-entropy, up to 500 epochs; early stopping (patience 100) on | |
| the validation AUROC; learning-rate decay (Γ0.5, patience 20, minimum 10β»βΆ) on the validation loss; gradient | |
| clipping 1.0; seed 42. The weights of the epoch with the highest validation AUROC (epoch 29) are given here. | |
| ## Test performance (n = 4,568) | |
| | AUROC | AUPRC | | |
| |---|---| | |
| | 0.996 | 0.982 | | |
| `test_predictions.csv` lists every test SNV with its predicted probability. | |
| ## Usage | |
| ```python | |
| import torch, torch.nn as nn | |
| class SNVClassifier(nn.Module): | |
| def __init__(self, d_in=32768, p=0.3): | |
| super().__init__() | |
| self.fc1, self.bn1, self.dropout1 = nn.Linear(d_in, 512), nn.BatchNorm1d(512), nn.Dropout(p) | |
| self.fc2, self.bn2, self.dropout2 = nn.Linear(512, 128), nn.BatchNorm1d(128), nn.Dropout(p) | |
| self.fc3, self.bn3, self.dropout3 = nn.Linear(128, 32), nn.BatchNorm1d(32), nn.Dropout(p) | |
| self.fc4 = nn.Linear(32, 1) | |
| def forward(self, x): | |
| x = self.dropout1(self.bn1(torch.relu(self.fc1(x)))) | |
| x = self.dropout2(self.bn2(torch.relu(self.fc2(x)))) | |
| x = self.dropout3(self.bn3(torch.relu(self.fc3(x)))) | |
| return self.fc4(x).squeeze(-1) | |
| ck = torch.load("snv_classifier_22840.pth", map_location="cpu", weights_only=True) | |
| model = SNVClassifier(); model.load_state_dict(ck["model_state_dict"]); model.eval() | |
| prob = torch.sigmoid(model((x - ck["scaler_mean"]) / ck["scaler_scale"])) # x: (n, 32,768) as described above | |
| ``` | |
| ## Files | |
| - `snv_classifier_22840.pth`: weights and feature standardisation | |
| - `test_predictions.csv`, `metrics.json`, `history.csv` | |
| Also archived on Zenodo with the analysis code: doi:10.5281/zenodo.23824204. | |
| ## Citation | |
| ``` | |
| @article{kurozumi2026evo2, | |
| title={Evo 2 Predicts Cardiomyopathy-Associated Variants and Elucidates Their Underlying Mechanisms}, | |
| author={Kurozumi, Atsumasa and Otsuka, Naoto and Ito, Masamichi and Kawakami, Toshinaru and Isagawa, Takayuki and Kodera, Satoshi and Takeda, Norihiko}, | |
| journal={bioRxiv}, year={2026}, doi={10.64898/2026.05.15.725304} | |
| } | |
| ``` | |