Virtual screening of molecules against neglected diseases of Africa.
Phytovance is an online molecular-docking laboratory. A visitor submits a molecule (by common name or SMILES) and it is docked in real time against a validated disease target; the predicted binding pose is shown in 3D and compared against the reference drug for that target. A pre-computed library of molecules, including compounds from African medicinal plants, is also screened and ranked.
Live instance: https://phytovance.shadrakbessanh.me
Résumé (FR). Phytovance est un laboratoire de criblage moléculaire en ligne dédié aux maladies négligées d'Afrique. On teste une molécule contre une cible protéique validée (docking AutoDock Vina), on visualise la pose 3D et on la compare au médicament de référence. Le moteur est fondé sur une méthode publiée et sa fiabilité est mesurée, y compris sur des complexes publics indépendants (voir
/benchmarks).
Antimalarial resistance (e.g. the P. falciparum DHFR S108N mutation) keeps eroding existing treatments, and neglected diseases attract little industrial drug-discovery investment. Early-stage virtual screening is cheap, fast, and a legitimate way to prioritise laboratory work, especially for under-resourced research groups. Phytovance makes that pipeline usable from a browser.
- Live docking: name or SMILES in, binding score + 3D pose out, compared to the reference drug for the selected target.
- Pre-computed screening: a ranked library (drugs + African-plant compounds) per target, with drug-likeness (Lipinski) annotation.
- Multi-target ready: diseases/targets are declared in a registry
(
scripts/targets.py); adding a disease is adding one entry. - Openly measured: a public
/benchmarkspage reports internal validation and an independent external redocking benchmark, with honest scope statements.
Every target follows the same automated pipeline:
- Target preparation (
scripts/prepare_target.py): download the crystallographic structure from the RCSB PDB, extract the co-crystallised inhibitor (which defines the binding pocket and the docking box), and prepare a clean protein receptor with Meeko (mk_prepare_receptor). - Docking (
scripts/dock.py): a molecule (SMILES) is embedded in 3D (RDKit + MMFF), converted to PDBQT (Meeko), and docked with AutoDock Vina (--cpu 1, configurable exhaustiveness). The best affinity score (kcal/mol, more negative = stronger predicted binding) and the pose are returned. - Drug-likeness (
scripts/druglikeness.py): molecular weight, logP, H-bond donors/acceptors, TPSA and Lipinski rule-of-five violations. - Comparison: every score is reported relative to the target's reference drug, so a number always has a scientific baseline.
Internal (self-reported, on our malaria target PfDHFR):
| Test | Result | Meaning |
|---|---|---|
| Redocking RMSD | 2.21 Å | Predicted pose vs. real crystallographic pose |
| Reproducibility | ± 0.005 kcal/mol | Same molecule, five runs, scores are stable |
| Positive/negative controls | binder ≪ non-binders | Real ligand scores well, glucose/ethanol poorly |
| Enrichment (ChEMBL actives/inactives) | AUC 0.687, EF-10% ×1.97 | Actives ranked above inactives |
External (independent redocking on public RCSB PDB complexes we did not
choose to favour the method): generated by scripts/benchmark_external.py, served
at /api/benchmark_external. Complexes whose ligand cannot be reliably rebuilt are
skipped and reported honestly rather than hidden.
Honest scope. The docking engine is AutoDock Vina, a published and widely validated method. Internal figures are self-reported on our own target; the external benchmark is the independent check. The roadmap is to run recognised public reference sets, CASF-2016 (scoring/ranking), DUD-E / LIT-PCBA (enrichment), PDBbind (redocking), and publish the results.
- Backend: Python, FastAPI, uvicorn (systemd service), SQLite.
- Chemistry: RDKit, Meeko, AutoDock Vina; structures from RCSB PDB, names resolved via PubChem, enrichment actives from ChEMBL.
- Frontend: vanilla HTML/CSS/JS, 3Dmol.js for the molecular viewer, bilingual (EN/FR).
- Delivery: Cloudflare tunnel.
web/ FastAPI app + pages (app.py, *.html, static/)
scripts/ pipeline: prepare_target, dock, druglikeness, screen,
targets registry, and the benchmark scripts
data/ screening.db (SQLite) + validation JSON reports
targets/ cached prepared receptors / boxes / PDBs (generated)
# internal redocking on the malaria target
python scripts/benchmark_redock.py paludisme_dhfr
# enrichment (ChEMBL actives vs inactives)
python scripts/benchmark_enrichment.py
# external independent redocking on public PDB complexes
python scripts/benchmark_external.py 16See ARCHITECTURE.md for the target architecture of the
funded, multi-user compute platform (asynchronous job queue, PostgreSQL,
authentication/quotas/billing, containerised workers).
Phytovance is a working research prototype, not a diagnostic or a medicine. Docking results are computational leads to be confirmed in the laboratory.