CoolFace
Modelpublic

tomekdab/ai-amp-models

sourceHugging Facemitupdated 1mo agoView on Hugging Face
0likes
Model Card

AI AMP Search

Trained models for antimicrobial peptide (AMP) prediction, part of the ai-amp-search project.

Models in this repo

FileWhat it isSizeVerified
esm_amp.joblibESM-2 embeddings + logistic regression (AMP classifier)3 KBacc 0.992, AUC 1.000 (naive split) / 0.971 (homology-controlled)
hemolysis.joblibESM-2 embeddings + logistic regression (toxicity)3 KBacc 0.994, AUC 0.998
amp_gpt.ptCharacter-level GPT trained on AMP sequences (2.69M params)10 MBval perplexity 10.13 (best epoch)
amp_scan.joblibPhysicochemical RF (AMP classifier + log10 MIC regressor)141 MBacc 0.986, AUC 0.999, PR-AUC 0.999
esm_finetuned.ptESM-2 35M fine-tuned end-to-end with classification head134 MBacc 0.956, AUC 0.990

Usage

python
import joblib, torch
from transformers import AutoModel, AutoTokenizer

# AMP classifier (frozen ESM-2 embeddings + logistic regression)
clf = joblib.load("esm_amp.joblib")["clf"]
tok = AutoTokenizer.from_pretrained("facebook/esm2_t6_8M_UR50D")
esm = AutoModel.from_pretrained("facebook/esm2_t6_8M_UR50D")
# ... embed with mean pooling, then clf.predict_proba(X)

Full pipeline (train, score, generate, evaluate) in the GitHub repo: https://github.com/tomdabro/ai-amp-search

Data

Honest evaluation

The naive random split gives AUC 1.000 — inflated by homology leakage (near-identical family variants in both train and test). With a homology-controlled split (k-mer Jaccard >= 0.8 clustering, split by cluster), the honest AUC is 0.971. Length-binned AUC: [5,20] 0.959, [21,50] 0.972 — the model is not just predicting length.

License

MIT (code). Data is third-party with its own terms.