The bioisostere trust layer — score a molecular swap with full evidence.
Project description
Hiwosy BIO — the bioisostere trust layer
Paste a molecule and a proposed swap. Get a defensible confidence score and the full evidence trail in five seconds.
Hiwosy BIO is the trust layer for bioisosteric replacements. Not a discovery engine. Not a recommender. Not a generator. A scorer.
A medicinal chemist who is about to commit six weeks of bench time to synthesizing an analog wants one question answered, fast: "Is this swap supported by the public data — and how strongly?"
That is the only question Hiwosy BIO answers. It does so with:
- A 0.0–1.0 confidence score decomposed into 9 transparent factors.
- The full evidence trail: every matched molecular pair from ChEMBL that supports or refutes the swap, broken down by target class.
- Off-target divergence detection (the Vioxx-style safety flag).
- Liability annotations for known-problematic functional groups.
- Synthetic accessibility scoring on the proposed analog.
- Novelty classification (KNOWN / SEMI-NOVEL / NOVEL).
- Patent landscape — stubbed in v1, hookable to SureChEMBL.
Positioning vs. the rest of the world
| Tool | What it does | Why a chemist still needs Hiwosy BIO |
|---|---|---|
| SwissBioisostere (free DB) | Lookup table | No confidence, no breakdown, no context |
| BIOSTER (paid catalogue) | Curated list | Static, no quantitative confidence |
| Schrödinger Bioisostere Search | Embedded in Maestro | Black box, no factor decomposition |
| MMPDB (open-source) | Raw MMP extraction | Low-level, no scoring |
| Generative ML (REINVENT, MMPT-RAG) | Generate analogs | No traceability — can't tell you why |
| SureChEMBL | Patent search | No scientific support score |
Hiwosy BIO is the single tool you run before committing to synthesis. Show it to your PI. Show it to a regulator. Show it to a patent attorney. Every confidence number traces back to the underlying compound pairs. No black boxes. No vibes. Always show your work.
Quick start
pip install -r requirements.txt
python -m hiwosy_bio.cli score \
--mol "CC(C)Cc1ccc(C(C)C(=O)O)cc1" \
--swap "carboxylic_acid:tetrazole" \
--target-class "cyclooxygenase"
Or in Python:
from hiwosy_bio import ConfidenceEngine
engine = ConfidenceEngine.default()
report = engine.score(
smiles="CC(C)Cc1ccc(C(C)C(=O)O)cc1", # ibuprofen
swap=("carboxylic_acid", "tetrazole"),
target_class="cyclooxygenase",
)
print(report.render())
What the output looks like
─────────────────────────────────────────────────────
INPUT
Molecule : CC(C)Cc1ccc(C(C)C(=O)O)cc1
Proposed swap : carboxylic_acid → tetrazole
Context : target_class = cyclooxygenase
─────────────────────────────────────────────────────
CONFIDENCE : 0.79 (HIGH — would synthesise)
CLASSIFICATION : KNOWN
─────────────────────────────────────────────────────
Evidence: 142 matched pairs
├── 38 from same target class (cyclooxygenase)
├── 87 from related targets
└── 17 from unrelated targets
9-Factor breakdown:
F1 Observations 0.91 142 pairs ≥ threshold
F2 Target diversity 0.84 54 distinct targets
F3 Activity quality 0.72 geomean ratio 1.3x
F4 Scaffold diversity 0.78 29 distinct Murcko scaffolds
F5 Consistency 0.81 variance 0.18
F6 Fragment Tanimoto 0.65
F7 Δ Property dist 0.84 ΔPSA +12, ΔlogP -0.3
F8 Δ LLE 0.71 avg -0.2
F9 Size match 0.92 ΔMW +12 Da
Liability flags:
⚠ tetrazole adds an ionizable acidic moiety (pKa ~4.9)
⚠ tetrazole may alter HSA binding profile
Off-target divergence : uniform ✓ (CV log-ratio 0.18)
Synthetic accessibility: 3.2 (moderate)
Novelty : KNOWN
Patent landscape (SureChEMBL stub):
ⓘ patent backend not configured
Top supporting MMP examples:
CHEMBL3801 ↔ CHEMBL3802 COX-1 ratio=1.10x
CHEMBL5621 ↔ CHEMBL5622 PTGS2 ratio=0.92x
... 140 more (use --show-evidence to dump all)
─────────────────────────────────────────────────────
Architecture
hiwosy_bio/
core.py ConfidenceEngine — main orchestrator
evidence.py Loads V3 candidates_learned.json, filters by target class
factors.py 9-factor confidence (wraps molecular-discovery V3 validator)
divergence.py Off-target divergence detector (CV of log activity ratios)
liabilities.py Per-group liability lookup
synth_score.py RDKit SA-Score on the proposed analog
target_classes.py ChEMBL target → class taxonomy
molecule.py SMILES parsing, group localization, analog construction
report.py Renders the formatted output
cli.py Command-line entry point
data/
liabilities.json ~30 known group liability annotations
target_classes.json ChEMBL target → class mapping (curated subset)
The engine reuses the 9-factor ConfidenceValidator from molecular-discovery
and reads candidate evidence from any candidates_learned.json produced by
the V3 cascade. Hiwosy BIO is the consumer surface; molecular-discovery
remains the data factory.
What Hiwosy BIO does NOT do
This is the discipline. Each is a real temptation:
- ❌ Generate novel molecules — leave to ML
- ❌ Predict ADMET — leave to ADMETlab
- ❌ Retrosynthesis — leave to AiZynth
- ❌ Active learning loops — workflow product, locks out API distribution
- ❌ 3D shape matching — niche; opt-in factor only
- ❌ Multi-target selectivity bioisosteres — niche; filter inside engine
Every feature is a way to make the confidence number more defensible, faster, or more actionable. If a feature does not directly improve "score one swap in 5 seconds with full evidence," it does not ship.
License
TBD. Open-source candidate (MIT or Apache-2.0).
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 hiwosy_bio-0.1.0.tar.gz.
File metadata
- Download URL: hiwosy_bio-0.1.0.tar.gz
- Upload date:
- Size: 47.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4442d8b22994ef473a59a8dc040a2f0f9b6c96ac0c3dbda3ea28ab96d9688170
|
|
| MD5 |
3e5ed35bb9bae1f509570c988c98d204
|
|
| BLAKE2b-256 |
24f3db028ec5a27e0bcbd5034a7f26437862bb922aeb0028b058006e98bae509
|
File details
Details for the file hiwosy_bio-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hiwosy_bio-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d217abf5ad876fe82b4e7c76b3dbe3343702031f9b8a2260564b18f53ee5a895
|
|
| MD5 |
529d32da5263bfefb8069d1e0f2d75cd
|
|
| BLAKE2b-256 |
5db4ee041e9369a25d6225411cd7d2e878f35a20352fec81ae3061534b8b2add
|