START

How a pocket is chosen

One pocket a day, chosen by a published rule and never by hand. The rule runs in verifier/targets.py, the same file the keeper calls, and it can be run by anyone against the same public APIs.

The steps

StepWhat happens
1 AssociationOpen Targets gives the associated targets of the day's disease, with their small-molecule tractability
2 Tractabilitykeep targets whose tractability says Structure with Ligand and either High-Quality Pocket or High-Quality Ligand
3 Structuremap to UniProt, then ask RCSB for X-ray entries at 2.5 A or better with a non-polymer entity, best resolution first
4 Pocket ligandthe largest non-polymer component outside the published additive blocklist, with at least 12 heavy atoms
5 Reference checkthat ligand has to pass the verifier's own parse and filters, so the number to beat is always drug-like
6 Receptorits chain, waters and heteroatoms stripped, hydrogens added at pH 7.4 by Open Babel, hashed with sha256
7 Boxthe ligand's heavy-atom centroid, its extent plus 10 A, floored at 22 A on each side
8 Five re-docksthe reference is docked five times at seed 42 and the five scores have to be identical, or the target is skipped

The pocket ligand is picked from the structure itself rather than from an annotation service, because the binding-site endpoints we tried were not answering. The blocklist covers the usual buffer and cryoprotectant components (ethylene glycol, glycerol, sugars, sulfate, phosphate, acetate, the common ions and detergents), and the chosen component id is printed on the pocket's page so anyone can check the choice.

What gets published

The target file holds the PDB id, the chain, the component id and its SMILES, the box, the receptor sha256, the reference score with its five re-docks, the margin, the thresholds, the pinned settings and the bounty. Its own sha256 is the target hash, and it goes on chain in the open record: medf:open:PSAP-4V2O:<hash>:<escrow>. Change one byte of the file and every hash downstream stops matching.

curl -s https://medfrontier.xyz/api/v1/targets/PSAP-4V2O | jq '.target | {pdb, chain, box, receptor_sha256, reference}'
← OverviewThe verifier →