SlideShare a Scribd company logo
1 of 21
InChI Resolver and its
Protocol
https://github.com/inchiresolver/inchiresolver
The InChI Resolver and its Protocol - Markus Sitzmann
the specification of a common web API protocol for distributed InChI Resolver instances
referring to data & information of existing web resources
InChI Resolver: Project Goal
Benefits:
• web resources providing data & information based on InChI become findable & interlinked on the web
• their content is accessible in a generic way
• (long-term) an autonomous client can find and collect information based in InChI
implementation of a network of federated InChI Resolvers
The InChI Resolver and its Protocol - Markus Sitzmann
Goal of this Talk
make the project better known
feedback and contributions
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Project – Current
Status InChI Resolver Protocol
specification
InChI Resolver Reference Implementation
downloadable & online
https://github.com/inchiresolver/inchiresolver
The InChI Resolver and its Protocol - Markus Sitzmann
JSON Schema
JSON:API
vocabulary that allows you to annotate and validate JSON documents
Internet Engineering Task Force (IETF) standard
https://json-schema.org/
InChI Resolver Protocol – JSON:API
specification for how a client should request, fetch or modify server resources, and
how a server should respond to those requests
designed to minimize both the number of requests and the amount of data
transmitted between clients and servers
applies IANA-registered media type application/vnd.api+json for exchanging data
client and server implementations are available for a large number of
programming languages
https://jsonapi.org/
based on
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Protocol – JSON:API
links: {
},
data: [
],
meta: {
}
resource
/inchis
/entrypoints
/endpoints
/publishers
/organizations
/mediatypes
pagination links
meta data
n x
id
type
attributes
relationships
links
meta
InChI Resolver Resource Types
JSON:API Document Structure
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Protocol – JSON:API
The InChI Resolver and its Protocol - Markus Sitzmann
/inchis
InChI Resolver Resources: InChI
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#inchis-resource
"attributes": {
"string": "InChI=1S/C29H45N7O8S/c1-18(2)14-20(24(38)28-34-33- 27(44-
28)19-12-10-9-11-13-19)31-26(40)22(16-43-8)32-
25(39)21(35-45(41,42)36(6)7)15-23(37)30-17-
29(3,4)5/h9-13,18,20-22,35H,14-17H2,1-
8H3,(H,30,37)(H,31,40)(H,32,39)/t20-,21-,22-/m0/s1",
"key": "SLTIZPMLXAYRIU-FKBYEOEOSA-N",
"version": 1,
"isStandard": true,
"safeOptions": null
}
attributes:
• string
• key
• version
• isStandard
• safeOptions
entrypoints
relationships:
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Resources: Entrypoint
"attributes": {
"name": "PubChem PUG REST",
"description": "PUG (Power User Gateway), a web interface for accessing
PubChem data and services",
"category": "service",
"href": "https://pubchem.ncbi.nlm.nih.gov/rest/pug",
"entrypointHref": null
}
site
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#entrypoints-resource
attributes:
• name
• description
• category
• href
• entrypointHref
publisher
relationships:
/entrypoints
endpoints parent children
service resolver self
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Resources: Endpoint
GET, POST, DELETE; PATCH; PUT.
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#endpoints-resource
attributes:
• uri
• fullPathUri
• description
• category
• requestMethods
entrypoint
relationships:
"attributes": {
"uri": "compound/inchikey/{inchi|inchikey}/cids,
"fullPathUri": "https://pubchem.ncbi.nlm.nih.gov/rest/pug/
compound/inchikey/{inchi|inchikey}/cids",
"description": "resolve InChI or InChIKey to PubChem CID",
"category": "uritemplate",
"requestMethods": ["GET", "POST", "DELETE", …]
}
mediatypes
(of accept headers + content)
endpoints
(for response + request schemas)
/endpoints
schema uritemplate documentation
entrypoint href endpoint uri
fullPathUri: +
uri: IETF RFC 6570 - URI Template
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Resources:
Mediatype
"attributes": {
"name": "text/xml",
"description": "XML"
}
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#mediatype-resource
attributes:
• name
• description
deliveringEndpoints
relationships:
/mediatypes
acceptingEndpoints
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Resources:
Publisher
"attributes": {
"name": "PubChem group",
"category": "group",
"email": "pubchem-help@ncbi.nlm.nih.gov",
"address": "8600 Rockville Pike; Bethesda, MD 20894; USA",
"href": "https://pubchemdocs.ncbi.nlm.nih.gov/contact",
"orcid": null
}
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#publishers-resource
attributes:
• name
• category
• email
• address
• href
• orcid
relationships:
/publishers
entrypoints organization parent children
entity service network division group
person none
The InChI Resolver and its Protocol - Markus Sitzmann
"attributes": {
"name": "U.S. National Library of Medicine",
"abbreviation": "NLM",
"category": "government",
"href": "https://www.nlm.nih.gov"
},
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#organizations-resource
attributes:
• name
• abbreviation
• category
• href
relationships:
InChI Resolver Resources:
Organization
/organizations
publishers parent children
regulatory government academia company vendor research
provider
publishing public society charity other none
The InChI Resolver and its Protocol - Markus Sitzmann
/entrypoints
/entrypoints
/inchis
/endpoints /mediatypes
/publishers
/organizations
InChI Resolver: Resource
Relationships
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst
parent
child
parent
child
parent
child
schema
The InChI Resolver and its Protocol - Markus Sitzmann
/entrypoints
/entrypoints
/inchis
/endpoints /mediatypes
/publishers
/organizations
/structures
/rinchi
/minchi
InChI Resolver: Resource
Relationships
documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst
parent
child
parent
child
parent
child
schema
The InChI Resolver and its Protocol - Markus Sitzmann
https://some.inchi-resolver.org/inchis
?filter[key]=LTCQRNQPODCPAS-CCVNUDIWSAN
&include=entrypoints.endpoints,entrypoints.publisher,entrypoints.publisher.organization
InChI Resolver Protocol – JSON:API Requests
• support all HTTP methods
GET, POST, PUT, PATCH, and DELETE
• allow filtering by attributes and including by relationship fields:
InChI Resolver (JSON:API) resources
The InChI Resolver and its Protocol - Markus Sitzmann
https://pubchem.inchi-resolver.org/
https://cactus.inchi-resolver.org/
https://root.inchi-resolver.org/
PubChem resources
NCI/CADD resources
InChI Resolver: Reference Implementation (online)
InChI Resolver protocol
web page
web service
XSD schema
web service
endpoint references
endpoint references
PDF document
web page
web service
InChI Web Resources
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Network
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver protocol
endpoint references
Organization A
Organization B
Organization C
web service
Publisher a
Publisher a‘
Publisher a‘‘
Publisher b
Publisher c
documentation
web page
web service
web service
XSD schema
InChI Resolver
Division A
Division A‘
Division A‘‘
PDF document
web page
web service
InChI Web Resources
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Network
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver
InChI Resolver protocol
endpoint references
Organization A
Organization B
Organization C
web service
Publisher a
Publisher a‘
Publisher a‘‘
Publisher b
Publisher c
documentation
web page
web service
web service
XSD schema
InChI Resolver
InChI Trust
PubChem
NLM
NIH
NCI
NCI/CADD
PubChem Resolver
NCI/CADD Resolver
NIH Resolver
US Government Resolver
ACS Publications
ACS Resolver
Publishers Resolver
Division A
Division A‘
Division A‘‘
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver: Reference Implementation – Technologies
InChI Resolver
proxy database
Postgres
Python, Django, RDKit, nginx
nginx
https://github.com/inchiresolver/inchiresolver
Docker Images available at Dockerhub
HTTP(S)
https://github.com/chembience/chembience
The InChI Resolver and its Protocol - Markus Sitzmann
InChI Resolver Project - Outlook
https://github.com/inchiresolver/inchiresolver
• representation of the InChI Resolver protocol as a
single schema file
• more documentation
• loading more data
• definition of additional InChI Resolver resources
(/minchi, /rinchi, /structure …)
• implementation of a InChI Resolver
reference client
• unit tests

More Related Content

Similar to InChI Resolver and its protocol

BigDataEurope @BDVA Summit2016 2: Societal Pilots
BigDataEurope @BDVA Summit2016 2: Societal PilotsBigDataEurope @BDVA Summit2016 2: Societal Pilots
BigDataEurope @BDVA Summit2016 2: Societal PilotsBigData_Europe
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingPaco Nathan
 
Cytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsCytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsKeiichiro Ono
 
Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1inside-BigData.com
 
Better integrations through open interfaces
Better integrations through open interfacesBetter integrations through open interfaces
Better integrations through open interfacesSteve Speicher
 
substrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchainssubstrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchainsservicesNitor
 
Simple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerSimple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerLeanIX GmbH
 
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...CARLOS III UNIVERSITY OF MADRID
 
Anaconda and PyData Solutions
Anaconda and PyData SolutionsAnaconda and PyData Solutions
Anaconda and PyData SolutionsTravis Oliphant
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewDelft University of Technology
 
Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...
Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...
Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...AcademySoftwareFoundation
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureBruno Cornec
 
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Massimo Menichinelli
 
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream ProcessingChristian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream ProcessingFlink Forward
 
Kurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCKurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCLuis Lopez
 
Making Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxMaking Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxTrayan Iliev
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R MeetupJo-fai Chow
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R MeetupSri Ambati
 
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoFOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoLuis Lopez
 

Similar to InChI Resolver and its protocol (20)

BigDataEurope @BDVA Summit2016 2: Societal Pilots
BigDataEurope @BDVA Summit2016 2: Societal PilotsBigDataEurope @BDVA Summit2016 2: Societal Pilots
BigDataEurope @BDVA Summit2016 2: Societal Pilots
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
 
Cytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsCytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis Tools
 
Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1
 
Better integrations through open interfaces
Better integrations through open interfacesBetter integrations through open interfaces
Better integrations through open interfaces
 
substrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchainssubstrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchains
 
Simple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerSimple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and Swagger
 
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
 
Anaconda and PyData Solutions
Anaconda and PyData SolutionsAnaconda and PyData Solutions
Anaconda and PyData Solutions
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
 
Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...
Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...
Digi Pro 2019: ASWF Technical Advisory Council: How to Enable An Open Source ...
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
 
Executable papers
Executable papersExecutable papers
Executable papers
 
Christian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream ProcessingChristian Kreuzfeld – Static vs Dynamic Stream Processing
Christian Kreuzfeld – Static vs Dynamic Stream Processing
 
Kurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCKurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTC
 
Making Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFluxMaking Machine Learning Easy with H2O and WebFlux
Making Machine Learning Easy with H2O and WebFlux
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R Meetup
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R Meetup
 
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoFOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
 

More from Markus Sitzmann

ACS Meeting New Orleans 2013 (CINF)
ACS Meeting New Orleans 2013 (CINF)ACS Meeting New Orleans 2013 (CINF)
ACS Meeting New Orleans 2013 (CINF)Markus Sitzmann
 
ACS San Diego, March 2012, InChI Symposium
ACS San Diego, March 2012, InChI SymposiumACS San Diego, March 2012, InChI Symposium
ACS San Diego, March 2012, InChI SymposiumMarkus Sitzmann
 
5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk
5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk
5th Meeting on U.S. Government Chemical Databases and Open Chemistry TalkMarkus Sitzmann
 
ACS Salt Lake City 2009 CINF Talk (InChI Symposium)
ACS Salt Lake City 2009 CINF Talk (InChI Symposium)ACS Salt Lake City 2009 CINF Talk (InChI Symposium)
ACS Salt Lake City 2009 CINF Talk (InChI Symposium)Markus Sitzmann
 
ACS San Francisco 2010 CINF Talk
ACS San Francisco 2010 CINF TalkACS San Francisco 2010 CINF Talk
ACS San Francisco 2010 CINF TalkMarkus Sitzmann
 

More from Markus Sitzmann (8)

Chembience
ChembienceChembience
Chembience
 
InChI Resolver
InChI ResolverInChI Resolver
InChI Resolver
 
ACS Meeting New Orleans 2013 (CINF)
ACS Meeting New Orleans 2013 (CINF)ACS Meeting New Orleans 2013 (CINF)
ACS Meeting New Orleans 2013 (CINF)
 
ACS San Diego, March 2012, InChI Symposium
ACS San Diego, March 2012, InChI SymposiumACS San Diego, March 2012, InChI Symposium
ACS San Diego, March 2012, InChI Symposium
 
5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk
5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk
5th Meeting on U.S. Government Chemical Databases and Open Chemistry Talk
 
ICCS9 2011 Talk
ICCS9 2011 TalkICCS9 2011 Talk
ICCS9 2011 Talk
 
ACS Salt Lake City 2009 CINF Talk (InChI Symposium)
ACS Salt Lake City 2009 CINF Talk (InChI Symposium)ACS Salt Lake City 2009 CINF Talk (InChI Symposium)
ACS Salt Lake City 2009 CINF Talk (InChI Symposium)
 
ACS San Francisco 2010 CINF Talk
ACS San Francisco 2010 CINF TalkACS San Francisco 2010 CINF Talk
ACS San Francisco 2010 CINF Talk
 

Recently uploaded

Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PPRINCE C P
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINsankalpkumarsahoo174
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 

Recently uploaded (20)

Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATINChromatin Structure | EUCHROMATIN | HETEROCHROMATIN
Chromatin Structure | EUCHROMATIN | HETEROCHROMATIN
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 

InChI Resolver and its protocol

  • 1. InChI Resolver and its Protocol https://github.com/inchiresolver/inchiresolver
  • 2. The InChI Resolver and its Protocol - Markus Sitzmann the specification of a common web API protocol for distributed InChI Resolver instances referring to data & information of existing web resources InChI Resolver: Project Goal Benefits: • web resources providing data & information based on InChI become findable & interlinked on the web • their content is accessible in a generic way • (long-term) an autonomous client can find and collect information based in InChI implementation of a network of federated InChI Resolvers
  • 3. The InChI Resolver and its Protocol - Markus Sitzmann Goal of this Talk make the project better known feedback and contributions
  • 4. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Project – Current Status InChI Resolver Protocol specification InChI Resolver Reference Implementation downloadable & online https://github.com/inchiresolver/inchiresolver
  • 5. The InChI Resolver and its Protocol - Markus Sitzmann JSON Schema JSON:API vocabulary that allows you to annotate and validate JSON documents Internet Engineering Task Force (IETF) standard https://json-schema.org/ InChI Resolver Protocol – JSON:API specification for how a client should request, fetch or modify server resources, and how a server should respond to those requests designed to minimize both the number of requests and the amount of data transmitted between clients and servers applies IANA-registered media type application/vnd.api+json for exchanging data client and server implementations are available for a large number of programming languages https://jsonapi.org/ based on
  • 6. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Protocol – JSON:API links: { }, data: [ ], meta: { } resource /inchis /entrypoints /endpoints /publishers /organizations /mediatypes pagination links meta data n x id type attributes relationships links meta InChI Resolver Resource Types JSON:API Document Structure
  • 7. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Protocol – JSON:API
  • 8. The InChI Resolver and its Protocol - Markus Sitzmann /inchis InChI Resolver Resources: InChI documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#inchis-resource "attributes": { "string": "InChI=1S/C29H45N7O8S/c1-18(2)14-20(24(38)28-34-33- 27(44- 28)19-12-10-9-11-13-19)31-26(40)22(16-43-8)32- 25(39)21(35-45(41,42)36(6)7)15-23(37)30-17- 29(3,4)5/h9-13,18,20-22,35H,14-17H2,1- 8H3,(H,30,37)(H,31,40)(H,32,39)/t20-,21-,22-/m0/s1", "key": "SLTIZPMLXAYRIU-FKBYEOEOSA-N", "version": 1, "isStandard": true, "safeOptions": null } attributes: • string • key • version • isStandard • safeOptions entrypoints relationships:
  • 9. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Resources: Entrypoint "attributes": { "name": "PubChem PUG REST", "description": "PUG (Power User Gateway), a web interface for accessing PubChem data and services", "category": "service", "href": "https://pubchem.ncbi.nlm.nih.gov/rest/pug", "entrypointHref": null } site documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#entrypoints-resource attributes: • name • description • category • href • entrypointHref publisher relationships: /entrypoints endpoints parent children service resolver self
  • 10. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Resources: Endpoint GET, POST, DELETE; PATCH; PUT. documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#endpoints-resource attributes: • uri • fullPathUri • description • category • requestMethods entrypoint relationships: "attributes": { "uri": "compound/inchikey/{inchi|inchikey}/cids, "fullPathUri": "https://pubchem.ncbi.nlm.nih.gov/rest/pug/ compound/inchikey/{inchi|inchikey}/cids", "description": "resolve InChI or InChIKey to PubChem CID", "category": "uritemplate", "requestMethods": ["GET", "POST", "DELETE", …] } mediatypes (of accept headers + content) endpoints (for response + request schemas) /endpoints schema uritemplate documentation entrypoint href endpoint uri fullPathUri: + uri: IETF RFC 6570 - URI Template
  • 11. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Resources: Mediatype "attributes": { "name": "text/xml", "description": "XML" } documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#mediatype-resource attributes: • name • description deliveringEndpoints relationships: /mediatypes acceptingEndpoints
  • 12. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Resources: Publisher "attributes": { "name": "PubChem group", "category": "group", "email": "pubchem-help@ncbi.nlm.nih.gov", "address": "8600 Rockville Pike; Bethesda, MD 20894; USA", "href": "https://pubchemdocs.ncbi.nlm.nih.gov/contact", "orcid": null } documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#publishers-resource attributes: • name • category • email • address • href • orcid relationships: /publishers entrypoints organization parent children entity service network division group person none
  • 13. The InChI Resolver and its Protocol - Markus Sitzmann "attributes": { "name": "U.S. National Library of Medicine", "abbreviation": "NLM", "category": "government", "href": "https://www.nlm.nih.gov" }, documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst#organizations-resource attributes: • name • abbreviation • category • href relationships: InChI Resolver Resources: Organization /organizations publishers parent children regulatory government academia company vendor research provider publishing public society charity other none
  • 14. The InChI Resolver and its Protocol - Markus Sitzmann /entrypoints /entrypoints /inchis /endpoints /mediatypes /publishers /organizations InChI Resolver: Resource Relationships documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst parent child parent child parent child schema
  • 15. The InChI Resolver and its Protocol - Markus Sitzmann /entrypoints /entrypoints /inchis /endpoints /mediatypes /publishers /organizations /structures /rinchi /minchi InChI Resolver: Resource Relationships documentation: https://github.com/inchiresolver/inchiresolver/blob/master/docs/protocol.rst parent child parent child parent child schema
  • 16. The InChI Resolver and its Protocol - Markus Sitzmann https://some.inchi-resolver.org/inchis ?filter[key]=LTCQRNQPODCPAS-CCVNUDIWSAN &include=entrypoints.endpoints,entrypoints.publisher,entrypoints.publisher.organization InChI Resolver Protocol – JSON:API Requests • support all HTTP methods GET, POST, PUT, PATCH, and DELETE • allow filtering by attributes and including by relationship fields: InChI Resolver (JSON:API) resources
  • 17. The InChI Resolver and its Protocol - Markus Sitzmann https://pubchem.inchi-resolver.org/ https://cactus.inchi-resolver.org/ https://root.inchi-resolver.org/ PubChem resources NCI/CADD resources InChI Resolver: Reference Implementation (online) InChI Resolver protocol web page web service XSD schema web service endpoint references endpoint references
  • 18. PDF document web page web service InChI Web Resources The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Network InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver protocol endpoint references Organization A Organization B Organization C web service Publisher a Publisher a‘ Publisher a‘‘ Publisher b Publisher c documentation web page web service web service XSD schema InChI Resolver Division A Division A‘ Division A‘‘
  • 19. PDF document web page web service InChI Web Resources The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Network InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver InChI Resolver protocol endpoint references Organization A Organization B Organization C web service Publisher a Publisher a‘ Publisher a‘‘ Publisher b Publisher c documentation web page web service web service XSD schema InChI Resolver InChI Trust PubChem NLM NIH NCI NCI/CADD PubChem Resolver NCI/CADD Resolver NIH Resolver US Government Resolver ACS Publications ACS Resolver Publishers Resolver Division A Division A‘ Division A‘‘
  • 20. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver: Reference Implementation – Technologies InChI Resolver proxy database Postgres Python, Django, RDKit, nginx nginx https://github.com/inchiresolver/inchiresolver Docker Images available at Dockerhub HTTP(S) https://github.com/chembience/chembience
  • 21. The InChI Resolver and its Protocol - Markus Sitzmann InChI Resolver Project - Outlook https://github.com/inchiresolver/inchiresolver • representation of the InChI Resolver protocol as a single schema file • more documentation • loading more data • definition of additional InChI Resolver resources (/minchi, /rinchi, /structure …) • implementation of a InChI Resolver reference client • unit tests