Open PHACTS Easy API Community Workshop, June 25, 2014 Christine Chichester Swiss Institute of Bioinformatics
Concepts Data Sources Use Cases API Approach for analysis
“Find me compounds that inhibit targets in NFkB pathway assayed in only functional assays with a potency <1 μM” “What is the interaction profile of known p38 inhibitors?” “Let me compare MW, logP and PSA for known oxidoreductase inhibitors” Use Cases
Concepts Data Sources Use Cases API Approach for analysis
Concepts Chemical compounds Biological targets Pathways Diseases
Concepts Data Sources Use Cases API Approach for analysis
ChEMBL DrugBank Gene Ontology Wikipathways UniProt ChemSpider ChEMBL Target Class ChEMBL Target Class ConceptWik i ChEBI DisGeNet neXtProt Data Sources ENZYME FDA adverse events FDA adverse events Clinical trials.org
Concepts Data Sources Use Cases API Approach for analysis
Registering for API keys API Overview Entry Points: URLs API Results Getting Started with Compounds Going Further Open PHACTS API Basics
Get my API keys!
API Overview: Documentation
The Linked Data API – Simple Rest-ful API Advantages of the linked data approach while providing a more familiar API Lowers the barrier to data access Based on community standards REST JSON, XML, TSV Not just data access, but complex queries allowing filtering, pagination, export, etc.
Response template legend for API calls results
1.3 API calls: Concept types
Multiple result formats
Many filtering options per call
Calls that provide filtering parameters
API Entry Points: URLs
What’s needed to get started? The API is URL centric a810-7dfd6eb05168 Why? -Ensures precise identification of the concept -Allows for dereferencablity -supports many URLs from different domains Next: Getting a URL
Finding an initial URL
Compound example: Naphthalene Textual name: Naphthalene SMILES: C1=CC=C2C=CC=CC2=C1 InChI: InChI=1S/C10H8/c (10)5-1/h1-8H
"_about": "
Entry with either Chemspider or ConceptWiki URL (or others) into other API calls "_about": "
API Results: Example with Compound APIs
Compound APIs: Results by Dataset Chembl DrugBank OPS: Open PHACTS Chemical Registry “inDataset”
Compound Pharmacology API: Retrieve a target URL Target URL
Target Information API: Using target URL from previous call Target URL
Target Information API: results (continued)
Compound -> Target in 3 URLs 1.Free text to retrieve a compound URL 1.Pharmacology for the compound: results include a target URLs 1.More information about a target
Thank you
Solving more use cases
1.) Provide all activities for a given compound X, with targets annotated by gene (Compound -> target) needed API calls: –Compound Pharmacology Paginated –Map URL
Compound Pharmacology Paginated – parameters uri: needs a compound uri. Possible sources: –Map free text to a concept URL methods –SMILES, Inchi or InchiKey to URL methods –Chemical Structure search methods –known identifier from other sources: e.g. – app_id and app_key target_type: single_protein (if wanted) _pageSize (default 10, use with loop on _page, or set to all)
Compound Pharmacology - results
Retrieving a protein/gene ID Use the Map URL API call Uri: any input uri, e.g. (Restrict to wanted targetUriPattern) Example results: – –
2.) Provide all compounds assayed for target Y with target indicated by a gene (Target -> Compound) needed API call: –Target Pharmacology Paginated input parameter: –uri: protein or gene uri, e.g.
3.) For target X provide target family. (Gene -> Gene family) needed API calls: –Target Classifications parameters for classification: –tree: chembl, enzyme or go
Retrieving Pharmacology for all proteins with a given classification Target Class Pharmacology Paginated –uri: Classification uri e.g.
4.) Filter results by activity cut-offs Available filters: –Activity type / cutoff value / units combinations –pChembl cutoff values –activity relation filters (>, >=, =, <, <=) –Organism filters (target and assay organism) –Target type (e.g. single_protein, protein_family)
STANDARD_TYPE UNIT_COUNT AC50 7 Activity 421 EC50 39 IC50 46 ID50 42 Ki 23 Log IC50 4 Log Ki 7 Potency 11 log IC50 0 STANDARD_TYPE STANDARD_UNITS COUNT(*) IC50 nM IC50 ug.mL IC IC50 ug/ml 2038 IC50 ug ml IC50 mg kg IC50 molar ratio 178 IC50 ug 117 IC50 % 113 IC50 uM well-1 52 IC50 p.p.m. 51 IC50 ppm 36 IC50 uM-1 25 IC50 nM kg-1 25 IC50 milliequivalent 22 IC50 kJ m-2 20 ~ 100 units >5000 types Implemented using the Quantities, Dimension, Units, Types Ontology Quantitative Data Challenges
Activity type / cutoff value / units combinations possible values: –Activity types: e.g. Potency, GI50, IC50, Ki, … –cutoff values: number with the appropriate parameter –= activity_value –>= min-activity_value –> minEx-activity_value –<= max-activity_value –< maxEx-activity_value –Units for activity type: e.g. nanomolar, microgram_per_milliliter
pChembl cutoff values Definition: -Log(molar IC50, XC50, EC50, AC50, Ki, Kd or Potency) –e.g. IC50=10µM -> pChembl = 5 Filters: –= pChembl –>= min-pChembl –> minEx-pChembl –<= max-pChembl –< maxEx-pChembl
5.) Substructure and Similarity search in Open PHACTS. Uses Chemspider search tools (Bingo from GGA) Chemical Structure Exact/Similarity/Substructure Search
Chemical Structure Similarity Search selected parameters: –searchOptions.Molecule: a SMILES string –searchOptions.SimilarityType: 0: Tanimoto; 1: Tversky; 2: Euclidian –searchOptions.Threshold: value between 0 and 1 –resultOptions.Count: number of results
6.a) For a target Y, find pathway Z Needs API call: –Pathways by Target Find an identifier for the target – 4c f http:// 4c f Additional: Map URL, possibly with the restriction or to retrieve complementary identifiers Additional: Count Pathways by Target
"_about": " "identifier": " "title": "DNA damage response (only ATM dependent)", "description": "This is the second pathway out of two pathways which deals with DNA damage response", "hasPart": { "_about": " "type": " "exactMatch": { "_about": " f ", "prefLabel": "E3 ubiquitin-protein ligase Mdm2 (Homo sapiens)" } }, "inDataset": " "pathway_organism": { "_about": " "label": "Homo sapiens" }, Pathways by Target
"_about": " f ", "exactMatch": " " Map URL with restriction on namespace
6.b) For a pathway Z, find target Y Needs API call: –Get Targets for Pathway, textually names for pathways can be searched (Map free text to concept URL) or use WikiPathway URI directly: b357-3eed6f837ca8http:// b357-3eed6f837ca8
"_about": " "title_en": "DNA damage response (only ATM dependent)", "title": "DNA damage response (only ATM dependent)", "hasPart": [ " " " List of genes/proteins in pathway Get Targets for Pathway