Skip to content

Open Targets

open_targets

CC0 1.0

Buniello A, Suveges D, Cruz-Castillo C, et al. Open Targets Platform: facilitating therapeutic hypotheses building in drug discovery. Nucleic Acids Research 2025;53:D1467-D1475. doi:10.1093/nar/gkae1128

The Open Targets Platform integrates publicly available datasets to support systematic identification and prioritisation of potential therapeutic drug targets, covering target-disease associations, evidence from genetics, drugs, expression, literature and more, plus core annotations for targets, diseases, drugs and variants.

Domain: genetics.

Source: https://platform.opentargets.org.

Tables mirror Open Targets’ published datasets 1:1 (one table per dataset under their data downloads), with column names kept verbatim in Open Targets’ original camelCase (e.g. targetId, diseaseId, studyLocusId) and nested List/Struct columns preserved as-is.

The only column added during ingest is release (the Open Targets release version, e.g. 26.06); it is the sole partition column and the only required query filter.

Association data lives in the six association_* tables (association_overall_{direct,indirect}, association_by_datatype_{direct,indirect}, association_by_datasource_{direct,indirect}); evidence is split one table per data source (evidence_<source>).

Identifier conventions follow Open Targets: target identifiers are Ensembl gene IDs (ENSG*, the id column of the target table); disease identifiers are EFO/MONDO/HPO/Orphanet IDs (e.g. EFO_0000400); drug identifiers are ChEMBL IDs (CHEMBL*).

To go from a gene symbol to associations, resolve the Ensembl ID via target.approvedSymbol, then filter an association_* table by targetId.

To resolve a credible set to a likely causal gene, join credible_set with l2g_prediction on studyLocusId.

Nested List/Struct columns can be read with R2 SQL struct/array functions but cannot be exploded into one row per element (no UNNEST); use the DuckDB-based R/Python clients’ unnest for row-per-element access.