Discovery Platform
API Walkthrough
Paul Groth
@pgroth
http://www.few.vu.nl/~pgroth/
Public Drug Discovery Data:
Pharma are accessing, processing, storing & re-processing
Literature
PubChem
Genbank
Patents
Databases
Downloads
Data Integration Data Analysis
Firewalled Databases
www.openphacts.org
The Challenge
http://openphacts.org
pmu@openphacts.org
@Open_PHACTS
The Open PHACTS community ecosystem
Source Initial Records
Chembl 1,149,792
~1,091,462 cmpds
~8845 targets
DrugBank 19,628
~14,000 drugs
~5000 targets
UniProt 536,789
ENZYME 6,187
ChEBI 35,584
GO/GOA 38,137
ChemSpider/ACD 1,194,437
ConceptWiki 2,828,966
Data
Growing…..
Access to a wide range of interconnected data – easily jump between pharmacology, chemistry,
disease, pathways and other databases without having to perform complex mapping operations
Query by data type, not by data source (“Protein Information” not “Uniprot Information)
API queries that seamlessly connect data (for instance the Pharmacology query draws data from
Chembl, ChemSpider, ConceptWiki and Drugbank)
Strong chemistry representation – all chemicals reprocessed via Open PHACTS chemical registry to
ensure consistency across databases
Built using open community standards, not an ad-hoc solution. Developed in conjuction with 8 major
pharma (so your app will speak their language!)
Simple, flexible data-joining (join compound data ignoring salt forms, join protein data ignoring
species)
Provenance everywhere – every single data point tagged with source, version, author, etc
Nanopublication-enabled. Access to a rich dataset of established and emerging biomedical
“assertions”
Professionally Hosted (Continually Monitored)
Developer-friendly JSON/XML methods. Consistent API for multiple services
Seamless data upgrades. We manage updates so you don’t have to
Community-curation tools to enhance and correct content
Access to a rich application network (many different App builders)
Toolkits to support many different languages, workflow engines and user applications
Private and secure, suitable for confidential analyses
Active & still growing through a unique public-private partnership
Benefits
A Simple Restful API
Registering
The Hello World of Drug Discovery Apps
Entry Points
Compounds
Targets
Putting it together
Going Further
Simple http calls for
everything (you can put it in
a browser)
A RESTful API
Supports multiple formats
Both params and content negotiation
DEVELOPER & APP KEYS
Hello World!
Compound –
Target App
Sorafenib
SMILIES:
CNC(=O)c1cc(ccn1)Oc2ccc(cc2)NC(=O)Nc3ccc(c(c3)C(F)(F)F)Cl
ENTRY POINTS
Where do I start?
The API is URL centric
- http://rdf.chemspider.com/187440
- http://www.conceptwiki.org/concept/38932552-111f-4a4e-a46a-
4ed1d7bdf9d5
Where do I start?
The API is URL centric
- http://rdf.chemspider.com/187440
- http://www.conceptwiki.org/concept/38932552-111f-4a4e-
a46a-4ed1d7bdf9d5
Why?
- Ensures precise identification
- Allows for dereferencablity
- Note: supports many URLs from different domains
But what if I don’t have URL?
Entry Point APIs
Entry Point APIs
Sorafenib
Entry Point APIs
https://beta.openphacts.org/search/freetext?app_id=0e939a76&
app_key=1004d9ef5f4ee1ab0bbfc02b623cb955&q=sorafenib&_
format=json
Entry Point APIs
"_about": "http://www.conceptwiki.org/concept/38932552-111f-4a4e-a46a-4ed1d7bdf9d5",
Entry Point APIs
CNC(=O)c1cc(ccn1)Oc2ccc(cc2
)NC(=O)Nc3ccc(c(c3)C(F)(F)F)C
l
Entry Point APIs
Entry Point APIs
"_about": "http://rdf.chemspider.com/187440"
COMPOUND APIS
Compound APIs
Compound APIs:
Compound Information
We can use either:
http://www.conceptwiki.org/concept/38932552-111f-4a4e-a46a-4ed1d7bdf9d5
http://rdf.chemspider.com/187440
Compound APIs
Chembl
Chemspider
Compound APIs
Drugbank provenance - inDataset property
Compound APIs
Compound Pharmacology Paginated
Compound APIs
Compound Pharmacology Paginated
Compound APIs
Compound Pharmacology Paginated
"items": [
{
"_about": "http://data.kasabi.com/dataset/chembl-rdf/activity/a1650069",
"pmid": "15711537",
"forMolecule": {…},
"onAssay": {
…
"target": {
"_about": "http://data.kasabi.com/dataset/chembl-rdf/chemblid/CHEMBL4226",
"title": "Dual specificity protein kinase CLK3",
"organism": "Homo sapiens"
},
…
},
…
]
Compound APIs
Compound Pharmacology Paginated
TARGET APIS
Target APIs
Target APIs
Target Information
http://data.kasabi.com/dataset/chembl-
rdf/chemblid/CHEMBL4226
Target APIs
Target Information
PUTTING IT TOGETHER
Compound -> Target
in 3 URLs
1. Keyword to a compound URL
https://beta.openphacts.org/search/freetext?app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc0
2b623cb955&_format=json&q=sorafenib
1. Pharmacology for a compound
https://beta.openphacts.org/compound/pharmacology/pages?uri=http%3A%2F%2Fwww.concept
wiki.org%2Fconcept%2F38932552-111f-4a4e-a46a-
4ed1d7bdf9d5&app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc02b623cb955&_format=json
&_pageSize=10
1. More information about a target
https://beta.openphacts.org/target?uri=http%3A%2F%2Fdata.kasabi.com%2Fdataset%2Fchembl
-
rdf%2Fchemblid%2FCHEMBL4226&app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc02b623
cb955&_format=json
Sorafenib
`
SMILIES:
CNC(=O)c1cc(ccn1)Oc2ccc(cc2)NC(=O)Nc3ccc(c(c3)C(F)(F)F)Cl
Hello World!
Compound – Target App
Dual specificity protein kinase CLK3,
sequence":"MPVLSARRRELADHAGSGRRSGPSPTARSGPHLSALRAQPARAAHLSGRGTYVRRDTAGGGPGQARPLGPPGTSLL
GRGARRSGEGWCPGAFESGARAARPPSRVEPRLATAASREGAGLPRAEVAAGSGRGARSGEWGLAAAGAWETMHHCKRYRSP
EPDPYLSYRWKRRRSYSREHEGRLRYPSRREPPPRRSRSRSHDRLPYQRRYRERRDSDTYRCEERSPSFGEDYYGPSRSRHRR
RSRERGPYRTRKHAHHCHKRRTRSCSSASSRSQQSSKRSSRSVEDDKEGHLVCRIGDWLQERYEIVGNLGEGTFGKVVECLDHA
RGKSQVALKIIRNVGKYREAARLEINVLKKIKEKDKENKFLCVLMSDWFNFHGHMCIAFELLGKNTFEFLKENNFQPYPLPHVRHMAY
QLCHALRFLHENQLTHTDLKPENILFVNSEFETLYNEHKSCEEKSVKNTSIRVADFGSATFDHEHHTTIVATRHYRPPEVILELGWAQP
CDVWSIGCILFEYYRGFTLFQTHENREHLVMMEKILGPIPSHMIHRTRKQKYFYKGGLVWDENSSDGRYVKENCKPLKSYMLQDSLE
HVQLFDLMRRMLEFDPAQRITLAEALLHPFFAGLTPEERSFHTSRNPSR"
GOING FURTHER
More APIs
Classification APIs
Filtering
Client Libraries
Support for multiple languages
Still in development but useful to get started with
Easy to create libraries
Ruby
- https://github.com/openphacts/ops_gems
Javascript
- https://github.com/openphacts/ops.js
Java
- https://github.com/openphacts/JavaLDAClient
Workflows
https://dev.openphacts.org/workflow
https://github.com/openphacts
Coming Soon: 1.3 release
• Pathways
• CHEMBL Update
• New chemistry registration system
• Scientific Lenses
• More hierarchy/classification support
• Bonus :-)
Conclusion
http://dev.openphacts.org
Create!

Open PHACTS API Walkthrough

Editor's Notes

  • #20 Just a note, when using the documentation page watch out for spaces in your queries.
  • #22 Just stick it in a browser 
  • #23 _about is a central concept
  • #27 Two important ones compount info and compound pharma paginated
  • #28 https://beta.openphacts.org/compound?uri=http%3A%2F%2Fwww.conceptwiki.org%2Fconcept%2F38932552-111f-4a4e-a46a-4ed1d7bdf9d5+&app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc02b623cb955
  • #29 The Response is organized by data source with different properties selected from those different data sources
  • #30 The Response is organized by data source with different properties selected from those different data sources
  • #31 A lot of filtering options (point out that only bullets are required)https://beta.openphacts.org/compound/pharmacology/pages?uri=http%3A%2F%2Frdf.chemspider.com%2F187440&app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc02b623cb955&_pageSize=10
  • #32 Pagination
  • #33 Results
  • #34 Pagination
  • #36 Pagination
  • #37 https://beta.openphacts.org/target?uri=http%3A%2F%2Fdata.kasabi.com%2Fdataset%2Fchembl-rdf%2Fchemblid%2FCHEMBL4226&app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc02b623cb955
  • #38 https://beta.openphacts.org/target?uri=http%3A%2F%2Fdata.kasabi.com%2Fdataset%2Fchembl-rdf%2Fchemblid%2FCHEMBL4226&app_id=0e939a76&app_key=1004d9ef5f4ee1ab0bbfc02b623cb955