Skip to main content

aikixp-client

Official Python client for the Aiki-XP bacterial protein-expression prediction API.

Aiki-XP is a leakage-controlled multimodal model trained on 492,026 genes from 385 bacterial species; it predicts within-species relative protein expression (per-species z-score). See the paper and main repository for background.

Install

pip install aikixp-client

Python ≥ 3.9. The only dependency is requests.

Quick start

from aikixp_client import Client

client = Client()

# --- Tier A: protein only, no host required (fastest) --------------
r = client.predict_tier_a("MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGGPGLGLNHVGQIIR")
print(r["predictions"][0]["predicted_expression"])  # e.g. -0.083

# --- Tier D: full 9-modality, A100 (GPU) --------------------------
r = client.predict_tier_d(
    protein="MKT...",
    cds="ATG...TAA",
    host="NC_000913.3",
    mode="native",
)
print(r["predictions"][0]["predicted_expression"])
print(r["modalities_filled"])  # ['evo2_7b_full_operon_pca4096', 'hyenadna_dna_cds', ...]

# --- Look up a gene in the 244K held-out CV corpus ----------------
g = client.lookup_gene("Escherichia_coli_K12|NP_417556.2")
row = g["results"][0]
print(row["tier_d"], row["true_expression"], row["cv_fold"])

# --- Reproduce the paper's numbers on a fresh random sample -------
sample = client.sample_lookup(n=5000, seed=42)

# --- Compare all 5 tiers on the same sequence, in parallel --------
results = client.compare_all_tiers(
    protein="MKT...",
    cds="ATG...TAA",
    host="NC_000913.3",
    mode="native",
)
for tier in ("A", "B", "B+", "C", "D"):
    print(tier, results[tier]["predictions"][0]["predicted_expression"])

Auto-fill a CDS from a protein + host

r = client.cds_for_protein(
    protein="MAKPIL...",
    host="NC_000913.3",
)
print(r["cds"], r["source"])  # "ATG...", "native" or "codon_optimized"

Host catalog

hosts = client.hosts()            # 1,831 bacterial reference genomes
print(f"{len(hosts)} hosts cached")
e_coli = [h for h in hosts if h["acc"] == "NC_000913.3"][0]
print(e_coli["name"], e_coli["n_test"])

Error handling

All HTTP errors raise :class:AikixpError with the status code and response body.

from aikixp_client import Client, AikixpError

try:
    client.predict_tier_d(...)
except AikixpError as e:
    if e.status in (502, 504):
        # Cold-start timeout; retry after a short delay
        ...
    else:
        raise

Tiers at a glance

Tier Modalities Hardware Cold Warm ρ_non-conserved
A ESM-C + ProtT5 (protein only) CPU ~33 s ~15 s 0.518
B + HyenaDNA + classical A100-40 GB ~44 s ~6 s 0.531
B+ + Evo-2 7B init-window + RNA init A100-40 GB ~79 s ~10 s 0.543
C + Evo-2 7B full operon A100-40 GB ~8 s ~7 s 0.575
D + Bacformer-large + operon structure A100-80 GB ~6 s ~5 s 0.590

Gotchas

  • The server scales to zero after ~5 minutes of idle — first calls after a quiet period cold-start a fresh GPU container. Default timeouts account for this (120 s for CPU endpoints, 1200 s for GPU endpoints).
  • Tagged sequences (His6, HiBit, FLAG, etc.) are out-of-distribution. Strip tags first using aikixp.sequence_normalization from the main repo.
  • Native mode requires the user-supplied CDS to exact-substring-match the host genome; if it doesn't, the server silently falls back to heterologous mode with the lacZ anchor. The response's predictions[0]["operon_source"] field tells you which path was taken.

License

Code: Apache 2.0. Aiki-XP model weights + data: CC-BY 4.0 (via Zenodo).

Citation

@article{tien2026aikixp,
  title = {Aiki-XP: leakage-controlled multimodal prediction of within-species
           relative protein expression at pan-bacterial scale},
  author = {Tien, Hudson and Sharma Meda, Radheesh and Shastry, Shankar and
            Mysore, Venkatesh},
  journal = {Nature Biotechnology},
  year = {2026},
  note = {Under review. Preprint on bioRxiv.}
}

Metadata

Release files for aikixp-client 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aikixp-client 1.0.0
File Size Uploaded
aikixp_client-1.0.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aikixp-client 1.0.0
File Interpreter ABI Platform
aikixp_client-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.0 kB

Release files / aikixp_client-1.0.0.tar.gz

Download URL aikixp_client-1.0.0.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
86c1981e60e1403d7aa56f73656d4b208f0133abaf84491a4558ba37b5cd6681
BLAKE2b-256 checksum
How to use checksums
211259ad63bd9460c4f1aa2df760184983a7e7080caa660a66624c62f5956027
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release files / aikixp_client-1.0.0-py3-none-any.whl

Download URL aikixp_client-1.0.0-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e88ecb3d3d8208018aef37056d54c2f1ffa269f6e1f29565fc21947c41dec300
BLAKE2b-256 checksum
How to use checksums
abf2543bf6c2f39939f56e39aac829f770ba15ec6eac7d8b2a7b924b95ab483c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page