InstaDeepAI/ms_ninespecies_benchmark
Viewer β’ Updated β’ 639k β’ 452 β’ 3
DFlowNovo is a state-of-the-art de novo peptide sequencing system powered by Continuous-Time Markov Chain Discrete Flow Matching (CTMC-DFM). By treating peptide sequencing as continuous probability flows over discrete amino acid states and integrating dynamic programming (KnapsackDP) reachability constraints, DFlowNovo achieves:
M(ox) $\to$ M[UNIMOD:35], C(cam) $\to$ C[UNIMOD:4], N(deam) $\to$ N[UNIMOD:7], Q(deam) $\to$ Q[UNIMOD:7], S(ph) $\to$ S[UNIMOD:21], T(ph) $\to$ T[UNIMOD:21], Y(ph) $\to$ Y[UNIMOD:21]).| Checkpoint Name | Description | Size | Strict Exact Match (9-Species) |
|---|---|---|---|
frozen_production_model.ckpt |
Canonical Production Model (Joint Nine-Species + ProteomeTools with length-weighted loss $w(L) \propto \sqrt{L}$) | 907 MB | 68.28% |
ptm_extended_warmstart.ckpt |
PTM Extended Model (Pretrained base with extended PTM vocabulary) | 476 MB | 67.92% |
import torch
from huggingface_hub import hf_hub_download
from train.io import load_checkpoint, load_models_from_checkpoint
from train.factory import build_models
from inference.predict import predict_peptide
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Download checkpoint
ckpt_path = hf_hub_download(repo_id="joelinator/dflow-novo-model", filename="frozen_production_model.ckpt")
ckpt = load_checkpoint(ckpt_path, map_location=device)
vocab = ckpt["vocabulary"]
# Build & load models
enc, lp, dec, guid = build_models(vocab, device)
load_models_from_checkpoint(ckpt, enc, lp, dec, guid, use_ema=True)
enc.eval(); lp.eval(); dec.eval(); guid.eval()
# Run de novo sequencing
# x_t, lengths, seqs, scores = predict_peptide(...)
Try the live Gradio interface at: https://huggingface.co/spaces/joelinator/dflow-novo
@mastersthesis{gedeon2026dflownovo,
title={Discrete Flow Matching for De Novo Peptide Sequencing in Mass Spectrometry},
author={G{\'e}d{\'e}on, Jo{\"e}l},
school={African Institute for Mathematical Sciences (AIMS South Africa) / InstaDeep},
year={2026}
}