engin-host
Host / chassis selection — stage [4] of the engin-suite strain-to-scale funnel. Given a target molecule's capability profile, recommend the microbial host with an explainable rationale, an honest confidence band, and hard-constraint flags — so teams don't spend 18 months discovering E. coli was the wrong chassis.
Why
Host selection is a crucial design parameter still chosen empirically ("just use E. coli" or tribal knowledge). No published tool scores candidate chassis against a production requirement with calibrated uncertainty — searched 2026-08-13 and written up, with the near-misses, in docs/design/host-selection.md. The honest competitor is not other software: it is building the constructs in six hosts and measuring. Circuit failures are frequently host-interaction failures rather than failures of the circuit itself — the contextual causes are catalogued in Cardinale & Arkin (2012).
Corrected 2026-08-13 by the D23 pass (#91), then searched under #107. This read
"with no standard commercial tool — genuine whitespace": an absence claim about a
market, never searched, on the day the equivalent claim about the data convention
proved flatly wrong. The search found no published tool, so the absence holds — but
"commercial" was dropped, because a literature and package search cannot settle what
sits inside a proprietary platform. It also read "Most circuit failures are
host-interaction failures"; the mechanism is well supported, the proportion is not.
What it does
A multi-criteria decision engine over a curated host-capability knowledge base:
- scores candidate hosts for a target profile (weighted suitability),
- shows why (per-capability contributions),
- flags hard requirements (glycosylation, secretion, GRAS, scale) and demotes infeasible hosts below every feasible one regardless of raw score,
- attaches a confidence band that widens honestly where the KB is thin.
Uncertainty is first-class and shared with the rest of the suite: P(suitability ≥ threshold) is computed with engin_core's primitive.
Quickstart
from engin_host import default_kb, HostQuery, score, render_memo
kb = default_kb()
q = HostQuery(
weights=dict(glyco=1.0, secretion=0.9, protein=1.0, titer=0.6, scaleup=0.7),
hard=dict(glyco=0.6), # a hard glycosylation requirement
)
ranked = score(kb, q)
print(ranked[0].host, ranked[0].score, "±", round(ranked[0].band90, 2))
print(render_memo("my target", ranked))
On two contrasting queries the engine picks the right hosts — CHO for a secreted human glycoprotein, S. cerevisiae for a food-grade small molecule — correctly demoting higher-scoring-but-infeasible chassis via hard constraints. Full demo:
python examples/run_demo.py # writes memos + score charts to outputs/
Status & roadmap
M0 (scoring + uncertainty + flags) works on an illustrative KB. Next: replace
the illustrative values with literature-grounded, cited capability data (M1);
calibrate the confidence band against retrospective host-choice cases, reusing
engin_core's conformal machinery (M2); backtest and sign design partners (M3).
Install
pip install -e "packages/engin-host[dev]" # from an engin-suite checkout
Apache-2.0.
Metadata
Release files for engin-host 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| engin_host-0.1.1.tar.gz | 19.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| engin_host-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.8 kB
Release files / engin_host-0.1.1.tar.gz
| Download URL | engin_host-0.1.1.tar.gz |
|---|---|
| Size | 19.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f2c070394871fec3414ca226c5d026f2bee917ba8047fdfca1613eecbd393a2
|
|
BLAKE2b-256 checksum How to use checksums |
72b85dc58daa53643cd92ce20d6770492d5e731fa7078a04c539065bad64338f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.
Transparency logRelease files / engin_host-0.1.1-py3-none-any.whl
| Download URL | engin_host-0.1.1-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c80447f7278939cac526786957d23f252f53f38041f60c68bd937122eca7d698
|
|
BLAKE2b-256 checksum How to use checksums |
823d7152236178a26ca839a9efcc8c3d0a86c33881f224f9f51158b7eacbea78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.
Transparency log