NABpredv1.1 | LLPS Propensity Predictor
Sequence-based prediction of protein phase separation

NABpred

NABpred estimates the probability that a nucleic-acid binding protein is LLPS-associated, using ESM2-650M mean+max pooled embeddings (ℝ²⁵⁶⁰) passed through a 5-model MLP ensemble classifier. Supports single-sequence and batch input from FASTA, CSV, or Excel.

ESM2-650M · 33 layers 2×1280 → 2560 pooling 5× MLP · 2560→128→1 (averaged) Single & batch prediction Input: 10–2000 aa

Submit Sequences

Paste one sequence, multi-FASTA, or upload a CSV/Excel file for batch prediction.

Used only to show validated reliability; does not change the score.
SEQUENCE INPUT · FASTA / RAW · MULTI-FASTA SUPPORTED
load:
1
sequences0 total length0 valid—
Drop CSV or Excel file
or browse  ·  column 1 = identifier, column 2 = sequence
.csv.xlsx.xls.tsvup to 5 MBmax 16 sequences
0 sequences loaded · file
Running prediction — this may take up to a minute if the model has been idle. 0s
PROCESSING 0 / 0
completed 0 errors 0 positives 0 elapsed 0s

Batch summary report

— sequences processed
Total processed
0
0 valid · 0 errors
LLPS-positive
0
0% of valid predictions
Mean P(LLPS)
0.000
median 0.000
Top score
0.000
—
Score distribution · 10 bins
non-LLPS LLPS
Propensity leaderboard · top 5
    All results· click a row for full details
    # Identifier Length P(LLPS) Call Percentile Reliability

    Methods

    A four-stage pipeline from raw sequence to calibrated LLPS probability.

    The input sequence is validated, then embedded by the ESM2-650M transformer, producing a per-residue representation of dimension L × 1280. Masked mean and max pooling along the residue axis yields a fixed 2560-dim vector capturing both average and salient local features.

    This vector is scored by an ensemble of five small fully-connected classifiers (Arm F; each 2560 → 128 → 1 with ReLU and dropout; training seeds 42, 1, 2, 3 and 4), trained to discriminate LLPS-associated nucleic-acid binding proteins from non-LLPS NABs. Each model's output logit is converted to a probability via sigmoid, and the five probabilities are averaged into the final score, with a default threshold of τ = 0.50. Reliability estimates are empirical, derived from held-out performance on the Hou cross-species benchmark (taxonomy-stratified AUROC), not a learned confidence score. The organism category is set once per request (a single category applies to every sequence in a batch). The per-residue disorder profile is a sequence-composition estimate based on FoldIndex (Prilusky et al., 2005), combining Kyte–Doolittle hydropathy and net charge over a 51-residue window and sign-inverted so that positive values indicate disorder-leaning regions; it is not a dedicated disorder predictor. The reference percentile places each score within the score distribution of Arm F's own validated holdout of 470 proteins.

    STEP 01→
    Validate
    Strip FASTA, uppercase,
    L ∈ [10, 2000], 20-AA.
    STEP 02→
    Embed (ESM2-650M)
    Per-residue hidden states,
    shape L × 1280.
    STEP 03→
    Pool
    Masked mean + max along L,
    concatenated to ℝ²⁵⁶⁰.
    STEP 04→
    Classify
    5× MLP 2560→128→1, sigmoid, averaged,
    threshold τ = 0.50.

    API Reference

    Single or batch JSON endpoint for scripted and programmatic use.

    POST /nabpred/predict accepts either { "sequence": "..." } for one sequence or { "sequences": [...] } for a batch (max 16 per request — chunk client-side for larger sets).

    Endpoint
    POST /nabpred/predict
    Single
    { "sequence": "MTEIT…YL", "taxon": "animal_mammal" } → { classification, score, logit, threshold, length, reliability, percentile_context, disorder_profile } · taxon optional: animal_mammal, animal_nonmammal, plant, fungi, prokaryote, virus, unknown (default)
    Batch
    { "sequences": [{"id":"FUS","sequence":"…"}, …] } → { count, ok, positives, errors, results: [...] }
    Constraints
    Length 10–2000 · standard AA alphabet (ACDEFGHIKLMNPQRSTVWY) · max 16 sequences per request
    Health
    GET /nabpred/health → { status, hf_token_configured, max_batch }