using semantics to personalize medical research

86
Personalizing medical research using Semantics ilkinson, PI Bioinformatics, Heart + Lung Institute @ St. Paul’s Ho Vancouver, BC, Canada

Upload: mark-wilkinson

Post on 02-Nov-2014

1.660 views

Category:

Documents


0 download

DESCRIPTION

My presentation to BIoIT World Congress 2010, Boston MA, April, 2010. The slideshow describes the SADI Semantic Web Service framework, and how we are using SADI to begin personalizing the data exploration and analysis experience for biomedical and clinical researchers

TRANSCRIPT

Page 1: Using Semantics to personalize medical research

Personalizing medical research using Semantics

Mark Wilkinson, PI Bioinformatics, Heart + Lung Institute @ St. Paul’s HospitalVancouver, BC, Canada

Page 2: Using Semantics to personalize medical research

Web Services

vs.

Semantic Web

Page 3: Using Semantics to personalize medical research

Web Servicesare not “connected” to

the Semantic Web

Why?

Page 4: Using Semantics to personalize medical research

Web ServicesXML + XML Schema

Semantic WebRDF + OWL

Page 5: Using Semantics to personalize medical research

Web ServicesPOST of SOAP-XML

Semantic WebGET of RDF-XML

Page 6: Using Semantics to personalize medical research

Web ServicesNo (rigorous) semantics

Semantic WebRich, flexible semantics

Page 7: Using Semantics to personalize medical research

Web Services&

Semantic Web

Fundamentally and deeply different Web technologies!

Page 8: Using Semantics to personalize medical research
Page 9: Using Semantics to personalize medical research

>1000 X more data in the “Deep Web”

than in Web pages

Primarily databases and analytical algorithms

Page 10: Using Semantics to personalize medical research

Accessing these databases and

analytical algorithms “transparently”,

based on individual researcher’s

ideas, beliefs, preferences

will help us personalize

medical research

Page 11: Using Semantics to personalize medical research

Mark Butler (2003) Is the semantic web hype? Hewlett Packard laboratories presentation at MMU, 2003-03-12

Page 12: Using Semantics to personalize medical research

Semantic Web?(my definition)

An information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had

not anticipated.

Page 13: Using Semantics to personalize medical research

Re-interpretation

Correct re-use

Both are critical to

the personalization

of research

Page 14: Using Semantics to personalize medical research

Building a

personalized Semantic Web…

Step-by-step…

Page 15: Using Semantics to personalize medical research

Founding partner

Semantic Automated Discovery and Integrationhttp://sadiframework.org

Page 16: Using Semantics to personalize medical research

SADI

“best-practices” for Semantic Web Service provision

Page 17: Using Semantics to personalize medical research

standards-compliant

Page 18: Using Semantics to personalize medical research

Lightweight(only 2 “rules”)

Page 19: Using Semantics to personalize medical research

Rules come from observations:

Page 20: Using Semantics to personalize medical research

SADI Observation #1:

Web Services in Bioinformatics create implicit biological relationships

between their input and output

Page 21: Using Semantics to personalize medical research

SADI Observation #1:

Page 22: Using Semantics to personalize medical research

SADI Best Practice #1

Make the implicit explicit…

A Web Service should create triples linking the input data to the output data, thus explicitly describing the semantic

relationship between them

Page 23: Using Semantics to personalize medical research

SADI Best Practice #1

This is what bioinformatics Web Services implicitly do anyway!

Easy to implement this as a best-practice

Page 24: Using Semantics to personalize medical research

SADI Observation #2:GET and POST

GET guarantees the response relates to the request URI

in a very precise and predictable way

POST does not…

Page 25: Using Semantics to personalize medical research

SADI Observation #2:GET and POST

That’s why Web Services have a fundamentally different behaviour than the Semantic Web

Page 26: Using Semantics to personalize medical research

SADI Observation #2:GET and POST

We can fix that!

(without breaking any existing rules or standards!)

Page 27: Using Semantics to personalize medical research

SADI Best Practice #2

SUBJECT URI of the output graph (triples) is the same

as the SUBJECT URI of the input graph (triples)

(the output is “about” the input... Now explicitly!)

Page 28: Using Semantics to personalize medical research

Consequence

The “Semantics” of our interaction with the Web Service are now

explicit and identical to the “Semantics” of GET

Page 29: Using Semantics to personalize medical research

SADI Web Service Interfaces

Service Interfaces defined by two OWL classes:

Page 30: Using Semantics to personalize medical research

SADI Web Service Interfaces

OWL Class #1: My Input Class

Page 31: Using Semantics to personalize medical research

SADI Web Service Interfaces

OWL Class #2: My Output Class

Page 32: Using Semantics to personalize medical research

SADI Web Service Interfaces

My Service consumes OWL Individuals of Class #1

and returns OWL Individuals of Class #2

…but the URI of those two individuals is the same!(see best practice #2)

Page 33: Using Semantics to personalize medical research

How do we discover services?

Since input and output are about the same “thing”,

we can automatically determine what a service

does by comparing the Input and Output OWL

classes

Page 34: Using Semantics to personalize medical research

How do we find services?

Automatically index services in a registry based

on what properties (predicates) Services add to

their respective input data-types

Page 35: Using Semantics to personalize medical research

EXAMPLE

Input Data: BRCA1 rdf:type Gene ID

Output Data: BRCA1 hasDNASequence AGCTTAGCCA…

Registry Index: Service provides “hasDNASequence” property to Gene IDs

Page 36: Using Semantics to personalize medical research

Now we can answer questions like

“what is the DNA sequence of BRCA1?”

Discover a service that creates the

DNA Sequence property of gene identifiers

Page 37: Using Semantics to personalize medical research

Okay, enough tech gobbledygook

What will this do for ME?

Page 38: Using Semantics to personalize medical research

Demo #1

Page 39: Using Semantics to personalize medical research

Imagine there is a “virtual database” containing all of the data from all of the databases,together with the output of

every conceivable analysis

Page 40: Using Semantics to personalize medical research

How do we query that database?

Page 41: Using Semantics to personalize medical research

“SHARE”

Semantic Health And Research Environment

SADI client application

Page 42: Using Semantics to personalize medical research
Page 43: Using Semantics to personalize medical research

What pathways does UniProt protein P47989 belong to?

PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#>PREFIX ont: <http://ontology.dumontierlab.com/>PREFIX uniprot: <http://lsrn.org/UniProt:>SELECT ?gene ?pathway WHERE {

uniprot:P47989 pred:isEncodedBy ?gene . ?gene ont:isParticipantIn ?pathway .

}

Page 44: Using Semantics to personalize medical research
Page 45: Using Semantics to personalize medical research
Page 46: Using Semantics to personalize medical research
Page 47: Using Semantics to personalize medical research

Recapwhat we just saw

A standard SPARQL query was entered into SHARE, a SADI-aware query engine

Page 48: Using Semantics to personalize medical research

Recapwhat we just saw

The query was interpreted to extract the properties being queried and these were passed to SADI for Web Service discovery

Page 49: Using Semantics to personalize medical research

Recapwhat we just saw

SADI searched-for, found, and accessed all databases and/or analytical tools capable

of generating those properties

Page 50: Using Semantics to personalize medical research

Recapwhat we just saw

We posed, and answered a complex database query

WITHOUT A DATABASE

(in fact, the data didn’t even have to exist...)

Page 51: Using Semantics to personalize medical research

Cool!

Page 52: Using Semantics to personalize medical research

…but I’m supposed to be personalizing research…

Let’s make this a little more personal by bringing in Ontologies

Page 53: Using Semantics to personalize medical research

My Definition of Ontology (for this talk)

Ontologies explicitly define the things that exist in “the world”

based on what properties each kind of thing must have

Page 54: Using Semantics to personalize medical research

Ontology Spectrum

Catalog/ID

SelectedLogical

Constraints(disjointness,

inverse, …)

Terms/glossary

Thesauri“narrowerterm”relation

Formalis-a

Frames(Properties)

Informalis-a

Formalinstance

Value Restrs.

GeneralLogical

constraints

Page 55: Using Semantics to personalize medical research

Demo #2Discover instances of OWL classes

from data that doesn’t exist…

Page 56: Using Semantics to personalize medical research

Show me patients with elevated creatinine along with their latest BUN and creatinine levels

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX patients: <http://sadiframework.org/ontologies/patients.owl#> PREFIX pred: <http://sadiframework.org/ontologies/predicates.owl#> SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE {

?patient rdf:type patients:ElevatedCreatininePatient .?patient pred:latestBUN ?bun . ?patient pred:latestCreatinine ?creat .

}

Page 57: Using Semantics to personalize medical research

Start burrowing through the OWL class find that we need aregression model OWL class

Page 58: Using Semantics to personalize medical research

Regression models have features like slopes and intercepts… and so onThe class is completely decomposed until a set of required Services are discoveredcapable of creating all these necessary properties

Page 59: Using Semantics to personalize medical research

Successful decomposition of the OWL class to discover the need for a LinearRegression Web Service, and so on

Page 60: Using Semantics to personalize medical research

VOILA!

Page 61: Using Semantics to personalize medical research

OWL Class restrictions converted into workflows

SPARQL queries converted into workflows

Reasoning happening in parallel with query execution

Data fulfilling OWL models is discovered,

or generated through running analytical tools

SADI and CardioSHARE

Page 62: Using Semantics to personalize medical research

This SADI/SHARE behaviour is

completely novel

Page 63: Using Semantics to personalize medical research

I still don’t seewhy this is“Personal”

??

Page 64: Using Semantics to personalize medical research

Show me patients whose creatinine level is increasing over time, along with their latest BUN and creatinine

SELECT ?patient ?bun ?creatFROM <http://sadiframework.org/ontologies/patients.rdf>WHERE {

?patient rdf:type patients:ElevatedCreatininePatient .?patient pred:latestBUN ?bun . ?patient pred:latestCreatinine ?creat .

}

Page 65: Using Semantics to personalize medical research

I created a small ontologydescribing my definition of

an Elevated Creatinine Patient

Page 66: Using Semantics to personalize medical research

… it was MY ontology!

Page 67: Using Semantics to personalize medical research

I can re-use it

Page 68: Using Semantics to personalize medical research

I can modify it as I change my world-view

Page 69: Using Semantics to personalize medical research

I can publish it for others to use

Page 70: Using Semantics to personalize medical research

Others can modify it to fit THEIR world-view

Page 71: Using Semantics to personalize medical research

My personal world-view is being dynamically resolved against

global data and knowledge

Page 72: Using Semantics to personalize medical research

…but it’s bigger than that…

Page 73: Using Semantics to personalize medical research

“Elevated Creatinine Patient”

Page 74: Using Semantics to personalize medical research

I made that up! It came out of my head!

Page 75: Using Semantics to personalize medical research

What’s a fancy word for a world-view that you make-up?

Hypothesis

Page 76: Using Semantics to personalize medical research

Current Research

We believe that ontologies and hypotheses are, in some ways, the same “thing”…

…simply assertions about individuals that may or may not exist

If an instance of a class exists, then the hypothesis is “validated”

Page 77: Using Semantics to personalize medical research

Recap

SADI Semantic Web Services generate triples; the predicates of those triples are indexed... Period.

For a given query, determine which properties are available, and which need to be

discovered/generated

Find services that generate the properties we need

Page 78: Using Semantics to personalize medical research

Semantic Web

An information system where machines can receive information from one source, re-interpret it, and correctly use it for a purpose that the source had

not anticipated.

My Purpose!!

Page 79: Using Semantics to personalize medical research

What SADI + SHARE supports

Re-interpretation

We constantly compare the collection of properties, gathered from third-parties worldwide, to whatever world-model (query/ontology) we wish to view it

through.

MY world model

Page 80: Using Semantics to personalize medical research

Novel re-use

There is no way for the provider to dictate how their data should be used, or how it should be interpreted. They simply add

their properties into the “cloud” and those properties are used in whatever

way is appropriate for me.

What SADI + SHARE supports

Page 81: Using Semantics to personalize medical research

Data remains distributed – no warehouse!

Data is not “exposed” as a SPARQL endpoint greater provider-control over

computational resources

Yet data appears to be a SPARQL endpoint… no modification of SPARQL or

reasoner required.

Important “wins”

Page 82: Using Semantics to personalize medical research

And all this because SADI simply requires

that the input URI

is the same as the output URI

Page 83: Using Semantics to personalize medical research

Join us!

We have recently received funding from CANARIEto assist and train service providers

in deploying their own SADI Semantic Web Services

Come join us – we’re having a lot of fun!!

http://sadiframework.org

Page 84: Using Semantics to personalize medical research

Fin

This presentation available on SlideShare: keywords ‘wilkinson’ ‘BioIT-2010’

Page 85: Using Semantics to personalize medical research

C r e d i t s

B e n j a m i n V a n d e r V a l k ( S A D I & C a r d i o S H A R E )

L u k e M c C a r t h y ( S A D I & C a r d i o S H A R E )

S o r o u s h S a m a d i a n ( C a r d i o S H A R E )

Page 86: Using Semantics to personalize medical research

Microsoft Research