Python SDK for the NativeReady API: predict native mass spectrometry suitability from a protein sequence.
Project description
nativeready
Python SDK for the NativeReady API. Predict whether a protein sequence is likely to give usable native mass spectrometry data, in seconds.
pip install nativeready
Quick start
from nativeready import predict
result = predict("MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG")
print(result)
# PredictionResult(score=97, label='Excellent', ci=[88-100], model='0.3-esm2-combined')
print(result.score) # 97
print(result.label) # 'Excellent'
print(result.is_ood) # False
print(result.recommendations)
Common use cases
Predict from a FASTA file
from nativeready import Client
client = Client()
results = client.predict_fasta("my_proteins.fasta")
for r in results:
print(r.uniprot_id, r.score, r.label)
Predict from a UniProt accession
from nativeready import Client
client = Client()
result = client.predict_uniprot("P00918") # Carbonic anhydrase 2
print(result.score, result.label)
Batch prediction with progress bar
from nativeready import Client
client = Client()
sequences = [
{"id": "ubiquitin", "sequence": "MQIFVKTLTGKTITLEV..."},
{"id": "lysozyme", "sequence": "KVFGRCELAAAMKR..."},
"MSHHWGYGKHNGPEHWHKDF...", # raw string also works
]
results = client.predict_batch(sequences) # tqdm progress bar if installed
Pandas DataFrame output (with pandas extra)
pip install nativeready[pandas]
import pandas as pd
from nativeready import Client
client = Client()
results = client.predict_fasta("my_proteins.fasta")
df = pd.DataFrame([r.as_dict() for r in results])
df.to_csv("results.csv", index=False)
Command line interface
The package installs a nativeready CLI:
# Single sequence
nativeready predict --sequence "MQIFVKTLTGKTITLEV..."
# UniProt accession
nativeready predict --uniprot P00918
# Multiple UniProt accessions (comma-separated)
nativeready predict --uniprot P00918,P0CG48,P00698
# FASTA file with CSV output
nativeready predict --fasta proteins.fasta --output results.csv
# FASTA file with JSON output
nativeready predict --fasta proteins.fasta --output results.json
# Health check
nativeready health
# Public feedback statistics
nativeready stats
What the predictions mean
Each PredictionResult contains:
score— calibrated suitability score, 0 to 100label—Excellent(>= 80),Good(>= 65),Fair(>= 50),Poor(>= 35),Unsuitable(< 35)confidence_lower,confidence_upper— 95 percent confidence interval (wider when out-of-distribution)is_ood—Trueif the sequence is unusual relative to training data; trust the score with extra cautionrisk_factors— per-feature risk levels (length, MW, hydrophobicity, pI, instability, cysteine content)recommendations— buffer choice, sample-prep guidance, and instrument-mode notesmodel_version— server-side model identifier (e.g.,0.3-esm2-combined)
API server
By default the SDK calls https://nativeready-production.up.railway.app. To use a self-hosted or local deployment:
from nativeready import Client
client = Client(base_url="http://localhost:8000")
Honest scope
NativeReady is currently most reliable as a positive-suitability triage tool, not a validated failure detector. With only two evidence-based real-failure records in the training set, the negative-class performance is not yet statistically meaningful. High-confidence positive predictions can be trusted; low-confidence predictions should be treated as a flag for manual review, not a verdict. See the bioRxiv preprint for full methodology and limitations.
Citing
Znabu BFZ, Atif Z. NativeReady: an open benchmark and sequence-based triage
model for native mass spectrometry suitability. bioRxiv, 2026.
License
MIT. See LICENSE.
Links
- API server source: https://github.com/brhanufen/nativeready
- Web tool: https://nativeready.netlify.app
- Open dataset (634 proteins, CC-BY 4.0): in the
data/folder of the main repository - Issues: https://github.com/brhanufen/nativeready/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nativeready-0.3.0.tar.gz.
File metadata
- Download URL: nativeready-0.3.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7dd4c5c7eab882855ee410b4daa884ea8a629edbb5a09721bd68884eb4b150a
|
|
| MD5 |
af22b8ba906b1e1aea90e5928527c476
|
|
| BLAKE2b-256 |
7e1e3ce8e2d1ff086700611ae83e8393d316afc01bcfc021c6c1af2332c48358
|
File details
Details for the file nativeready-0.3.0-py3-none-any.whl.
File metadata
- Download URL: nativeready-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ffd7b65078545eb7b70a35b284561a681a48f504f23b09e924be5a6f8ed2c02
|
|
| MD5 |
5d050fa051d134bb7f110709862467f8
|
|
| BLAKE2b-256 |
53093c9e04619b75c1054754b1f059b7e1d7fe5d7e687b6f005be2cc1a9aaa12
|