Transparent multi-criteria ranking of disease-associated targets, queried live from the
Open Targets Platform public GraphQL API. Every weight is yours to set, and every
component is shown alongside the composite.
Interpretation notice. This produces a ranked hypothesis list, not a validated
prediction. Weights are user-chosen and have not been calibrated against any outcome dataset β
no ground truth for "good target" exists that could be used honestly here. Treat the score as a
way to make your prioritisation criteria explicit and reproducible, and always inspect the
component columns rather than the composite alone.
Safety is off by default. Open Targets liability records mix genuine adverse
findings with a target's intended pharmacology β KCNJ11, for instance, lists
"decreased blood glucose". Section 3 lets you decide which terms count before the component
contributes anything.
1 Β· Disease
2 Β· Evidence weights
Weights are normalised to sum to 1, so only their ratios matter. Re-scoring is
instant β no API call is made when you move a slider.
3 Β· Safety
Untick anything that is the target's intended effect for this indication β
software cannot tell "decreased blood glucose" from "cardiac arrhythmia", you can.
Exclusions are recorded in the CSV header.
Remaining limitations, unfixed: severity is unweighted, so arrhythmia and
hypoglycaemia each count 1. And a target with no records scores 0.5 ("unknown"), so
the measure still partly rewards being unstudied.
4 Β· Other evidence datatypes
Run a query first β these are read from whatever datatypes the API actually returns.
Datatypes Open Targets returned that the fixed components above do not already use.
All default to zero weight.
5 Β· Prioritisation factors
Run a query first β the available factors are read from whatever the API returns.
From Open Targets' target prioritisation panel, scored β1 (unfavourable) to +1
(favourable). All default to zero weight. Normalised as (v+1)/2 before weighting.
6 Β· Ranked targets
Data diagnostics β raw values returned by the API
Shown so that a parsing failure looks like a parsing failure rather than a plausible
zero. Datatype names are data, not schema, so introspection cannot verify them β
check the resolved IDs below are the ones you expect.