About this analysis
What DeepFlex measures, and what it does not
DeepFlex reads a finished protein-ligand MD package and asks one question per complex: did the small molecule stay in its docked pose, and how well. It never configures or runs a simulation.
This measures pose stability, not affinity. The two correlate only moderately. A grade of A means the ligand held its docked pose over 20 ns; it does not mean the ligand binds tightly.
There is one trajectory per complex (1), so there is no independent estimate of run-to-run variance. S_conv is a within-run block-split proxy and is weaker evidence than agreeing replicas would be.
Residence time is a lower bound. With 20 ns and no observed exit, the only defensible statement is "no exit within 20 ns". No k_off is reported.
MM/GBSA is single-trajectory with igb=2 and no entropy term: useful for ranking within one receptor's cohort, not an absolute binding free energy. GB and PB disagree substantially in this package, so GB is scored and PB is displayed only.
No membrane. These are solvated receptor constructs, so behaviour at the lipid interface is not modelled.
Package statistics are over 27 complexes, not 30: 3 have no production trajectory upstream and are left ungraded.
Grade formula
S = 0.30 S_pose + 0.20 S_occ + 0.20 S_int + 0.15 S_E + 0.10 S_conv + 0.05 S_conf
Bands: A ≥ 75.0, B 50.0 to 75.0, C below 50.0. Sub-bands at ±5.0. Weights are stored in the run manifest, so every grade is reproducible.
S_conf is not yet computed. Its weight is renormalised away rather than filled with a neutral value.
S_E is a percentile within one receptor, not across the package, and the receptors are ranked separately everywhere. Their poses sit in different pockets, and their GB energies differ by about 15 kcal/mol on average because of it, so a pooled percentile handed one receptor most of the top decile by construction. Scores are comparable inside a receptor; grades are comparable anywhere.
Equilibration. The scored window starts where pymbar detect_equilibration says the ligand RMSD series becomes stationary, floored at 2 ns and capped at 8 ns of the 20 ns run. A complex marked capped in the league tables is one where the detector wanted longer than the ceiling: it had not equilibrated, and its grade should be read as a lower bound. That applies to most of this package.
Simulation protocol (as harvested)
Privacy
Ligand identifiers in every URL, filename, log line and database row are salted HMAC-SHA256 hashes. No SMILES or SDF or mol2 or compound code is stored or served: a build-time audit fails the build on any hit, and a pre-commit hook refuses any commit carrying chemistry.
Every route but this page requires a session, including the JSON endpoints and the structure files. Unknown account, wrong password and wrong code all return the same message after the same work, so the form cannot enumerate accounts.
Software
| Package | Version |
|---|---|
| MDAnalysis | 2.10.0 |
| mdtraj | 1.11.2 |
| numpy | 2.5.3 |
| prolif | 2.2.2 |
| pymbar | 4.2.0 |
| python | 3.12.15 |
| rdkit | 2026.03.5 |
| scipy | 1.18.1 |
| sklearn | 1.9.1 |