MuriVerse: elimination half-life of peptides in mouse and rat
Predicts the terminal elimination half-life (hours) of a peptide after an intravenous dose in a mouse or rat, from the SMILES of the whole dosed molecule, the animal, and a few study conditions. It is an equal-weight ensemble of ridge regression, an RBF support-vector regressor and a shallow XGBoost model on 71 features, fitted on 213 curated intravenous records.
- Code, curation and the paper's figures: https://github.com/JacobKMcPherson/MuriVerse
- Training data and curation:
MuriVerse/rodent/strict/andMuriVerse/data/curation/in the GitHub repository - Demo: https://huggingface.co/spaces/jacobkmcpherson/muriverse
- Paper: manuscript in preparation (see Citation)
Use
pip install huggingface_hub numpy pandas rdkit xgboost safetensors
from muriverse_halflife import MuriVerseHalfLife # ships in this repository
model = MuriVerseHalfLife.from_pretrained("jacobkmcpherson/muriverse")
out = model.predict(smiles, species="rat", route="iv")
out.half_life_h, out.log10_half_life_h, out.warnings
from_pretrained downloads the repository, so run snapshot_download("jacobkmcpherson/muriverse")
once and put the returned folder on sys.path to import the module, as the demo Space does.
Optional keyword arguments, with their defaults: dose_mg_kg=None, engineering="unmodified / none stated", topology="linear", chirality="l", sample_matrix="plasma", assay_method="LC-MS",
strain="unknown", sex="unknown", formulation_class="not reported", n_terminus_class="free",
c_terminus_class="free". model.allowed_values() lists the accepted levels; a level the model
never saw raises an error (pass strict=False to leave its columns at zero instead).
What a prediction means
- Route and species are inputs. A prediction is for an intravenous dose (
route="iv") in the animal you name. The model was fitted on intravenous records only. Other routes are accepted but flagged: after an extravascular dose the terminal slope can report absorption rather than elimination (flip-flop kinetics), so subcutaneous values are offset by roughly half a log unit and are not reliable. - The target is log10(half-life in hours). The prediction is the mean of the three members.
- Most of the signal comes from study conditions, not the molecule. In the paper's ablation, molecule annotation alone scores Spearman ฯ = 0.104, study context alone 0.347, and study context plus the physicochemical descriptors 0.522. Two different peptides under the same conditions differ only through those descriptors, the annotation and the terminal classes, so the model ranks molecules weakly and should not be used to pick between close analogues.
Training data
213 intravenous half-lives from 89 publications (134 distinct sequences in 68 homology clusters),
34 mouse and 179 rat, curated from the
literature behind PEPlife2. A record qualifies if it is a single peptide chain of at most 50
residues with no half-life-extension partner, an elimination half-life from a normal animal's
circulation, a parenteral dose route confirmed in the primary source, a named bioanalytical method,
and a SMILES that is the whole dosed molecule. See the GitHub repository for the data and the
curation rules (EXTRACTION_PROTOCOL.md).
Performance
Cross-validated by jointly withholding whole homology clusters and publication sources (three
seeds; point estimates are seed means, intervals are group bootstraps), not a random split.
Out-of-fold predictions are in the GitHub repository (MuriVerse/rodent/strict/oof_predictions_iv.csv).
| stratum | n | Spearman ฯ | RMSE (log10 h) | MAE (log10 h) |
|---|---|---|---|---|
| both species | 213 | 0.574 (95% CI 0.322 to 0.655) | 0.675 | 0.517 |
| rat | 179 | 0.600 | 0.646 | 0.490 |
| mouse | 34 | 0.562 | 0.811 | 0.658 |
Overall Pearson r is 0.568 (95% CI 0.381 to 0.651). 57% of predictions fall within threefold of the reported half-life (60% of rat and 41% of mouse observations); the median absolute fold error is about 2.2 in rat and 4.0 in mouse. The mouse stratum is small.
Selection optimism. The 71-feature configuration was chosen on the same folds that score it. Repeating the configuration selection inside each outer fold (nested cross-validation) gives Spearman ฯ = 0.460 (95% CI 0.293 to 0.636), so ฯ โ 0.57 is an optimistic estimate and ฯ โ 0.46 is the more conservative one.
Colistin and polymyxin B. The paper applies the model to four congeners (polymyxin B1 and B2,
colistin A and B) absent from the training cohort, as an exploratory case study rather than an
independent external validation: 16 predictions (4 congeners ร 2 species ร 2 equivalent wordings of
the N-terminal acyl group), which are 8 distinct values of about 1 to 1.5 h.
figures/tabs/table20_polymyxin_predictions.csv in the GitHub repository reproduces under this
package (see Reproducibility).
Files
| path | what |
|---|---|
muriverse_halflife.py |
featurisation and inference |
peptide_physchem.py, halflife_model.py |
descriptor code; the model class the joblib files unpickle through |
model.json, feature_names.json |
block layout and the column order of every feature block |
weights/{shipped,structural}.safetensors + .json + .xgb.json |
pickle-free weights (default backend) |
weights/joblib/*.joblib |
the original fitted objects, for exact reproduction |
SHA256SUMS |
checksums of every weight file |
shipped is the model described above. structural is the paper's physicochemical-descriptor-best
configuration: it drops the molecule-annotation block (62 features, cross-validated ฯ 0.587, against
0.574 for the shipped one). The paper's other structural configuration, SMILES + descriptors + study
context with a PeptideCLM embedding (cross-validated ฯ 0.247), needs PeptideCLM and is only in the
GitHub repository.
Reproducibility
The pickle-free backend (backend="numpy", default) evaluates the ridge and SVR members in NumPy
and loads the booster from XGBoost JSON, so it does not depend on a scikit-learn version and loads no
pickles. The joblib backend (backend="joblib") needs the versions in requirements.txt and loads
pickles, so only use it with files you have checked against SHA256SUMS.
Verified against the paper's model: features rebuilt from raw inputs equal the training matrix for
all 320 strict-cohort rows (maximum difference 0); the two backends agree to 5e-7 log10 h; and the
16 shipped-model polymyxin and colistin predictions in Table 20 are reproduced to 4e-8 log10 h (the
16 structural rows too).
Limitations
- Mouse and rat only, and intravenous only. Not for human dose prediction.
- Small training set (213 records, 89 publications). Only 57% of predictions fall within threefold of the reported value; errors are largest in mouse. Ranking close analogues is unreliable.
- Peptides of at most 50 residues without a large half-life-extension partner (albumin binder, Fc,
PEG). Outside that the descriptors do not describe what drives clearance. Peptidomimetics and
small molecules are not validated: the package still returns a number but attaches a warning when
the molecule has fewer than two alpha-amino-acid backbone links or any descriptor falls outside
the training range (
model.json,applicability). Treat such values as extrapolation. - Not validated for any clinical or regulatory purpose.
Citation
McPherson JK, Sharma S, Mishra B, Shehadeh F, Mylonakis E. MuriVerse: Predicting intravenous peptide half-life in rodents from molecular and study-level features. Manuscript in preparation.
License
MIT for the code and weights. The training data are in the GitHub repository (code MIT, data
CC BY 4.0, with records derived from PEPlife2 remaining under that database's terms); see its
DATA_SOURCES.md.
from PEPlife2 stay under that database's terms.