Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phytovance

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).

Why this exists

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.

What it does

  • 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 /benchmarks page reports internal validation and an independent external redocking benchmark, with honest scope statements.

Scientific method

Every target follows the same automated pipeline:

  1. 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).
  2. 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.
  3. Drug-likeness (scripts/druglikeness.py): molecular weight, logP, H-bond donors/acceptors, TPSA and Lipinski rule-of-five violations.
  4. Comparison: every score is reported relative to the target's reference drug, so a number always has a scientific baseline.

Validation (see the live /benchmarks page)

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.

Tech stack

  • 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.

Repository layout

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)

Reproduce the benchmarks

# 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 16

Roadmap

See ARCHITECTURE.md for the target architecture of the funded, multi-user compute platform (asynchronous job queue, PostgreSQL, authentication/quotas/billing, containerised workers).

Status & honesty

Phytovance is a working research prototype, not a diagnostic or a medicine. Docking results are computational leads to be confirmed in the laboratory.

About

Phytovance - Virtual molecular docking platform for neglected African diseases

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages