SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Knowledge manipulation using
OWL and reasoners for
drug-discovery
ICBO 2013 Tutorial
July 7th 2013
Samuel Croset
Errata – July, 8th 2013
Here is a list of points raised during the tutorial and based on feedback
from the audience. I will try to address them for a next release of the
talk. Send me an email if you need clarification or have more
comments croset@ebi.ac.uk - Samuel
Things that can be improved (list not comprehensive):
• Direct semantics versus OWL based semantics  Could be removed
from the talk. The reader can skip that.
• is_a relationship as defined by GO corresponds to a rdfs:subClassOf
axiom in OWL.
• In OWL, is_a is not an object property, it’s a built-in primitive
construct from the language defining the relashionship between
sets of things. Other properties (part-of, regulates, etc…) are defined
by OWL object properties.
Material
• Files: http://bit.ly/12flbf8
• Protégé 4.3: http://stanford.io/102ZBJO
• Brain: http://bit.ly/TYGj4O
Tutorial
• Ask questions!
• What is OWL?
• Why is it particularly interesting for life sciences?
• How to use OWL?
• What is OWL 2EL?
• How to integrate and query biomedical
knowledge?
Why learning OWL?
“The scientist is not a person who gives the right
answers, he's one who asks the right questions”
― Claude Lévi-Strauss
“Half of science is putting forth the right questions”
― Sir Francis Bacon
Why learning OWL?
“What are the human proteins that regulates
the blood coagulation?”
Why learning OWL?
“What are the human proteins that regulates
the blood coagulation?”
Classification (flat file)
Database (SQL or RDF)
Ontology (OBO)
Why learning OWL?
“What are the human proteins that regulates
the blood coagulation?”
What are the
parts?
What is
composing it?
What does it
even mean?
How do I
integrate the
data?
Classification (flat file)
Database (SQL or RDF)
Ontology (OBO)
Why learning OWL?
• Existing resources can already answer the
question  But they need to interact
• Ontologies are not only labels or annotations
for biological concept (“blood coagulation”) 
They help to formalize problem
• We want to mix traditional ontologies with
other large-scale data
• We want an intuitive way to formulate the
query, hiding the implementation
What is OWL?
• The Semantic Web: RDF  URI and triples 
Should improve interoperability over the Web
• Need for shared schemas  ontologies
• OWL  Description logics and knowledge
representation, decidable, attractive and well-
understood computational properties.
• (OWL  Direct Semantics or RDF-based
semantics)
What is OWL?
• Confusing relations between OWL, RDF,
SPARQL, reasoning, etc…
• Here we deal with the Direct Semantics of
OWL (no RDF)  It’s easier!
• You get to use the reasoner a lot!
• In OWL you build knowledge-bases or
ontologies (here these terms are synonyms –
in the wild people use the two).
OWL and Life Sciences
Advantages versus RDF, SQL and flat
files?
• Formal language to represent
hierarchical data
• Machine reasoning
• Large-scale (OWL 2EL)
• Knowledge integration
• Composition
• Powerful query mechanism
OWL 2 Terminology
• It’s all about definitions!
• Defining things based on the relations they have
• Entities: elements used to refer to real-world
objects
• Expressions: combinations of entities to form
complex descriptions from basic ones
• Axioms: the basic statements that an OWL
ontology expresses  Pieces of knowledge
http://www.w3.org/TR/owl2-primer/#Modeling_Knowledge:_Basic_Notions
Entities
• Classes: Categories and Terminology
– Protein, Human, Drug, Chemical, P53, Binding site,
etc…  Pretty much everything in life science.
• Individuals (objects): Instances
– Rex the dog, this mouse on the bench, you, etc…
• Properties: Relations between individuals
– Part of, regulates, perturbs, etc…
Axioms
• Statements, pieces of knowledge  express the
truth.
• How classes and properties relate to each other:
– All Humans are Mammals  Human is a subclass of
Mammal
• You should always think in terms of individuals.
In biology we don’t really deal much with real
individuals, yet classes/properties and axioms are
built from relationships between anonymous
individuals.
• Our first OWL axiom: SubClassOf
Ontology/Knowledge-base
• Set of axioms
• Serialized as “.owl” file – Here using the Manchester
syntax (Description logics semantics)
• Example of output (look at the format, don’t try to
understand the logic now):
ObjectProperty: part-of
Class: owl:Thing
Class: Cell
Class: Nucleus
SubClassOf:
part-of some Cell
Terminology Summary
<demo.owl> rdf:type owl:Ontology .
:part-of rdf:type owl:ObjectProperty .
:Cell rdf:type owl:Class .
:Nucleus rdf:type owl:Class ;
rdfs:subClassOf [ rdf:type owl:Restriction ;
owl:onProperty :part-of ;
owl:someValuesFrom :Cell
] .
owl:Thing rdf:type owl:Class .
Output in RDF (turtle – RDF-based semantics):
IndividualPropertyClass
Scientist
Terminology Summary
Person
John
Paris
works in
regulates
Terminology Summary
Scientist subClassOf Person
John type Scientist
John works in ParisParis type City
Axiom Class Individual Property
Ontology/Knowledge-base
Exercise 1 – Classes and axioms
• Open the file “NCBI-taxonomy-mammals.owl”
with a text editor. Can you understand what’s
inside?
• Now open the file with Protégé and go under
the tab “classes”. You can use the option
“render by label” in the “View” menu.
• Can you recognize the classes? What do they
describe?
• Can you spot the axioms? What do they
capture?
Reasoner
• A program that understand the axioms and
can deduce things from it.
• Used to classify the ontology.
• Query engine for knowledge-bases.
• More or less fast depending on the number
and type of axioms.
Exercise 2 - Reasoning
• In Protégé, go under the “DL query” tab and
retrieve all descendant classes of the class
Abrothrix (or NCBI_156196).
• What does this query means? What about the
results?
Comparison against mySQL
SELECT
s.*
FROM
species AS s,
species AS t
WHERE
(s.left_value BETWEEN t.left_value AND t.right_value)
AND
t.common_name='abrothrix';
Constructs – Class expressions
• Combining classes and properties to define
more things (class expression)  Composition
• Intersection: and
– Mammal and Omnivore
• Existential Restriction: some
– part-of some Cell Cuneiform script
(3000 BC):
Head
Food
Eathttp://en.wikipedia.org/wiki/Cuneiform
Construct: and
Mammal
Omnivore
Mammal and Omnivore
individual
Constructs & axioms
Human SubClassOf Mammal and Omnivore
Pig
HumanMammal
Omnivore
Mammal and Omnivore
individual
Constructs & axioms
This definition (Mammal and Omnivore) of the
concept “Human ” is partial.
• Every human must be at least a mammal and
an omnivore according to our definition.
• But it’s not because you are a mammal and an
omnivore that you are necessary human!!
Human SubClassOf Mammal and Omnivore
Construct: some
Existential restriction: Weird construct at first, but
useful while dealing with incomplete knowledge
P some C: if it exists then a least one instance of C linked by P
Cell
part-of some Cell
part-of
part-of
part-of
Constructs & axioms
Cell
part-of some Cell
part-of
part-of
part-of
Nucleus
Nucleus SubClassOf part-of some Cell
“Each nucleus must be part of a cell”
part-of
Exercise 3 – Implementing the axiom
• Create a new project inside Protégé.
• Implement “Human SubClassOf Mammal and
Omnivore”
• Run the reasoner and look at the hierarchy of
classes. Does it make sense?
• That’s the main role of the reasoner 
classifying things based on their definitions.
• “Conceptual Lego”
: ,,
OWL concepts
Axiom
Class
Property
Constructor
: Basic block
: Basic block
Class Expression
: Used in class expressions
Class Property Constructor
: Relations between these entities.
OWL Concepts
Axiom
TBox
(Terminological Axiom)
SubClassOf
EquivalentClasses
DisjointClasses
RBox
(Relational Axiom)
SubObjectPropertyOf
EquivalentObjectProperties
ObjectPropertyChain
TransitiveObjectProperty
…
ABox
(Assertional Axiom)
ClassAssertion…
Real-life example: The Gene Ontology
• Open Biomedical Ontology (OBO) format
originally.
• Moved to OWL  Stronger semantics
http://www.geneontology.org/GO.ontology-ext.relations.shtml
CellNucleus
part-of
GO constructs
• Central pattern:
A SubClassOf P some B
Nucleus SubClassOf part-of some Cell
http://www.geneontology.org/GO.ontology-ext.relations.shtml
CellNucleus
part-of
( )
GO - RBox
http://www.geneontology.org/GO.ontology-ext.relations.shtml
GO – Rbox: part-of
Transitivity
Exercise 4 – Transitive property
• Open the “gene_ontology.owl” file.
• What are the things that are a
biological_process and part_of some 'wound
healing‘ ?
• Look at the class “blood coagulation, common
pathway”. Is it obvious for this class to be in
the results?
GO – Rbox: regulates
Chain
Exercise 5 – Chained properties
• Look at the “regulates” property inside
Protégé.
• What are the things that are a
biological_process and regulates some 'mitotic
cell cycle’ ?
• Look at the class “positive regulation of
syncytial blastoderm mitotic cell cycle”
• Is it obvious for this class to be in the results?
GO – Rbox: positively/negatively regulates
SubProperty
Exercise 6 – Sub Properties
• Look at the “positively-regulates” property
inside Protégé.
• What are the things that are a
biological_process and positively_regulates
some 'mitotic cell cycle' ?
• Are they different from the things that are
biological_process and regulates some 'mitotic
cell cycle'?
Exercise 7 – Verifying properties
• Are we respecting the GO specifications?
Summary GO
• Concepts are defined using one construct only
(A SubClassOf P some B).
• Rich RBox
• OWL is helpful to represent these relations,
helps to abstract away.
Knowledge integration
• We would like to answer questions over all
different source of knowledge.
• “Thrombosis is a widespread condition and a
leading cause of death in the UK.”
• We would like to find a new protein target in
order to treat thrombosis.
• Here we would like to know “what are the
human proteins that regulates the blood
coagulation”.
Knowledge-bases
• Species: NCBI taxonomy
• Biological Process: Gene Ontology
• Proteins: Uniprot
Exercise 8 – Integrating knowledge
• Open the file uniprot.owl
• Do you understand its content? Look for the class
“Protein”
• Now open the file “integrated.owl”
• How would you formulate the question “what are
the human proteins that regulates the blood
coagulation” in OWL?
• involved_in some (regulates some ‘blood
coagulation’) and expressed_in some ‘Homo
sapiens’
Implementation using Brain
Brain brain = new Brain();
brain.learn("data/gene_ontology.owl");
brain.learn("data/NCBI-taxonomy-mammals.owl");
brain.learn("data/uniprot.owl");
String query = "involved_in some (regulates some GO_0007596) and
expressed_in some NCBI_9606“;
List<String> subClasses = brain.getSubClasses(query,false);
brain.sleep();
Large-scale implementation
• OWL is computing intensive  OWL 2EL
• Less axioms and constructs  easier for you
to remember and easier for the reasoner to
compute
• Suited for life sciences  lots of classes, few
instances
H2O H HO
Expressivity
RDF
SPARQL RDFS OWL2OWL2 EL
PSPACE
(all constructs)
PTIME PTIME
N2EXPTIME-
complete
LOGSPACE
(AND, FILTER)
NP
(AND, FILTER,
UNION)
Tractable
Parallelism
http://www.w3.org
/TR/owl2-profiles/
Why learning OWL?
“What are the human proteins that regulates
the blood coagulation?”
What are the
parts?
What is
composing it?
What does it
even mean?
How do I
integrate the
data?
Classification (flat file)
Database (SQL or RDF)
Ontology (OBO)
Conclusion
• Ask questions!
• What is OWL?
• Why is it particularly interesting for life sciences?
• How to use OWL?
• What is OWL 2EL?
• How to integrate and query biomedical
knowledge?
Thank you!
• croset@ebi.ac.uk
• More questions: StackOverflow (tag “OWL”)
• If you think things could be improved please
send feedback, fork or contribute

Weitere ähnliche Inhalte

Was ist angesagt?

Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...
Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...
Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...
taxonbytes
 
Scholarly publishing and Linked Data: describing roles, statuses, temporal an...
Scholarly publishing and Linked Data: describing roles, statuses, temporal an...Scholarly publishing and Linked Data: describing roles, statuses, temporal an...
Scholarly publishing and Linked Data: describing roles, statuses, temporal an...
University of Bologna
 
Ontology Engineering: ontology construction I
Ontology Engineering: ontology construction IOntology Engineering: ontology construction I
Ontology Engineering: ontology construction I
Guus Schreiber
 

Was ist angesagt? (16)

Ontology Design Patterns for Linked Data Tutorial at ISWC2016 - Introduction
Ontology Design Patterns for Linked Data Tutorial at ISWC2016 - IntroductionOntology Design Patterns for Linked Data Tutorial at ISWC2016 - Introduction
Ontology Design Patterns for Linked Data Tutorial at ISWC2016 - Introduction
 
Ontologies and Vocabularies
Ontologies and VocabulariesOntologies and Vocabularies
Ontologies and Vocabularies
 
Ontologies Fmi 042010
Ontologies Fmi 042010Ontologies Fmi 042010
Ontologies Fmi 042010
 
Ontology
OntologyOntology
Ontology
 
Ontology Engineering: Introduction
Ontology Engineering: IntroductionOntology Engineering: Introduction
Ontology Engineering: Introduction
 
2 ontologies I
2 ontologies I2 ontologies I
2 ontologies I
 
Ontology Engineering for the Semantic Web and beyond
Ontology Engineering for the Semantic Web and beyondOntology Engineering for the Semantic Web and beyond
Ontology Engineering for the Semantic Web and beyond
 
Ontology Engineering
Ontology EngineeringOntology Engineering
Ontology Engineering
 
Ontology
Ontology Ontology
Ontology
 
Franz. 2014. Explaining taxonomy's legacy to computers – how and why?
Franz. 2014. Explaining taxonomy's legacy to computers – how and why?Franz. 2014. Explaining taxonomy's legacy to computers – how and why?
Franz. 2014. Explaining taxonomy's legacy to computers – how and why?
 
Franz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other Cases
Franz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other CasesFranz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other Cases
Franz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other Cases
 
Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...
Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...
Franz Et Al. Using ASP to Simulate the Interplay of Taxonomic and Nomenclatur...
 
RDF Semantics
RDF SemanticsRDF Semantics
RDF Semantics
 
Scholarly publishing and Linked Data: describing roles, statuses, temporal an...
Scholarly publishing and Linked Data: describing roles, statuses, temporal an...Scholarly publishing and Linked Data: describing roles, statuses, temporal an...
Scholarly publishing and Linked Data: describing roles, statuses, temporal an...
 
Ontology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهOntology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغه
 
Ontology Engineering: ontology construction I
Ontology Engineering: ontology construction IOntology Engineering: ontology construction I
Ontology Engineering: ontology construction I
 

Ähnlich wie Tutorial OWL and drug discovery ICBO 2013

20130622 okfn hackathon t2
20130622 okfn hackathon t220130622 okfn hackathon t2
20130622 okfn hackathon t2
Seonho Kim
 
Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.
Janet Leu
 
Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123
Rinke Hoekstra
 
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
Neo4j
 

Ähnlich wie Tutorial OWL and drug discovery ICBO 2013 (20)

Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
 
BT02.pptx
BT02.pptxBT02.pptx
BT02.pptx
 
Oe2 tutorial 1010
Oe2 tutorial 1010Oe2 tutorial 1010
Oe2 tutorial 1010
 
Learning ontologies
Learning ontologiesLearning ontologies
Learning ontologies
 
UMBEL: Subject Concepts Layer for the Web
UMBEL: Subject Concepts Layer for the WebUMBEL: Subject Concepts Layer for the Web
UMBEL: Subject Concepts Layer for the Web
 
Building a repository of biomedical ontologies with Neo4j
Building a repository of biomedical ontologies with Neo4jBuilding a repository of biomedical ontologies with Neo4j
Building a repository of biomedical ontologies with Neo4j
 
Semantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologySemantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web Technology
 
The Past, Present and Future of Knowledge in Biology
The Past, Present and Future of Knowledge in BiologyThe Past, Present and Future of Knowledge in Biology
The Past, Present and Future of Knowledge in Biology
 
Web ontology language (owl)
Web ontology language (owl)Web ontology language (owl)
Web ontology language (owl)
 
OWL-XML-Summer-School-09
OWL-XML-Summer-School-09OWL-XML-Summer-School-09
OWL-XML-Summer-School-09
 
Formalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementationFormalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementation
 
20130622 okfn hackathon t2
20130622 okfn hackathon t220130622 okfn hackathon t2
20130622 okfn hackathon t2
 
Can there be such a thing as Ontology Engineering?
Can there be such a thing as Ontology Engineering?Can there be such a thing as Ontology Engineering?
Can there be such a thing as Ontology Engineering?
 
Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.Taxonomy, ontology, folksonomies & SKOS.
Taxonomy, ontology, folksonomies & SKOS.
 
From OBO to OWL and back - building scalable ontologies
From OBO to OWL and back - building scalable ontologiesFrom OBO to OWL and back - building scalable ontologies
From OBO to OWL and back - building scalable ontologies
 
Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123Vu Semantic Web Meeting 20091123
Vu Semantic Web Meeting 20091123
 
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
 
Owl Pizza Eg2004
Owl Pizza Eg2004Owl Pizza Eg2004
Owl Pizza Eg2004
 
WEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWLWEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWL
 
Owl assignment udeh
Owl assignment udehOwl assignment udeh
Owl assignment udeh
 

Kürzlich hochgeladen

💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...
💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...
💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...
Sheetaleventcompany
 
Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...
Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...
Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...
Sheetaleventcompany
 
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
chetankumar9855
 
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
mahaiklolahd
 

Kürzlich hochgeladen (20)

Models Call Girls In Hyderabad 9630942363 Hyderabad Call Girl & Hyderabad Esc...
Models Call Girls In Hyderabad 9630942363 Hyderabad Call Girl & Hyderabad Esc...Models Call Girls In Hyderabad 9630942363 Hyderabad Call Girl & Hyderabad Esc...
Models Call Girls In Hyderabad 9630942363 Hyderabad Call Girl & Hyderabad Esc...
 
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service AvailableCall Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
 
Most Beautiful Call Girl in Bangalore Contact on Whatsapp
Most Beautiful Call Girl in Bangalore Contact on WhatsappMost Beautiful Call Girl in Bangalore Contact on Whatsapp
Most Beautiful Call Girl in Bangalore Contact on Whatsapp
 
💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...
💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...
💚Call Girls In Amritsar 💯Anvi 📲🔝8725944379🔝Amritsar Call Girl No💰Advance Cash...
 
Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...
Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...
Dehradun Call Girls Service {8854095900} ❤️VVIP ROCKY Call Girl in Dehradun U...
 
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
 
Call Girls in Delhi Triveni Complex Escort Service(🔝))/WhatsApp 97111⇛47426
Call Girls in Delhi Triveni Complex Escort Service(🔝))/WhatsApp 97111⇛47426Call Girls in Delhi Triveni Complex Escort Service(🔝))/WhatsApp 97111⇛47426
Call Girls in Delhi Triveni Complex Escort Service(🔝))/WhatsApp 97111⇛47426
 
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
 
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
 
Top Quality Call Girl Service Kalyanpur 6378878445 Available Call Girls Any Time
Top Quality Call Girl Service Kalyanpur 6378878445 Available Call Girls Any TimeTop Quality Call Girl Service Kalyanpur 6378878445 Available Call Girls Any Time
Top Quality Call Girl Service Kalyanpur 6378878445 Available Call Girls Any Time
 
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
 
Andheri East ^ (Genuine) Escort Service Mumbai ₹7.5k Pick Up & Drop With Cash...
Andheri East ^ (Genuine) Escort Service Mumbai ₹7.5k Pick Up & Drop With Cash...Andheri East ^ (Genuine) Escort Service Mumbai ₹7.5k Pick Up & Drop With Cash...
Andheri East ^ (Genuine) Escort Service Mumbai ₹7.5k Pick Up & Drop With Cash...
 
Call Girls Varanasi Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Varanasi Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Varanasi Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Varanasi Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girls Mumbai Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Mumbai Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Mumbai Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Mumbai Just Call 8250077686 Top Class Call Girl Service Available
 
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
 
Call Girls Amritsar Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Amritsar Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Amritsar Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Amritsar Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
 
Kollam call girls Mallu aunty service 7877702510
Kollam call girls Mallu aunty service 7877702510Kollam call girls Mallu aunty service 7877702510
Kollam call girls Mallu aunty service 7877702510
 
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
 
Top Rated Hyderabad Call Girls Chintal ⟟ 9332606886 ⟟ Call Me For Genuine Se...
Top Rated  Hyderabad Call Girls Chintal ⟟ 9332606886 ⟟ Call Me For Genuine Se...Top Rated  Hyderabad Call Girls Chintal ⟟ 9332606886 ⟟ Call Me For Genuine Se...
Top Rated Hyderabad Call Girls Chintal ⟟ 9332606886 ⟟ Call Me For Genuine Se...
 

Tutorial OWL and drug discovery ICBO 2013

  • 1. Knowledge manipulation using OWL and reasoners for drug-discovery ICBO 2013 Tutorial July 7th 2013 Samuel Croset
  • 2. Errata – July, 8th 2013 Here is a list of points raised during the tutorial and based on feedback from the audience. I will try to address them for a next release of the talk. Send me an email if you need clarification or have more comments croset@ebi.ac.uk - Samuel Things that can be improved (list not comprehensive): • Direct semantics versus OWL based semantics  Could be removed from the talk. The reader can skip that. • is_a relationship as defined by GO corresponds to a rdfs:subClassOf axiom in OWL. • In OWL, is_a is not an object property, it’s a built-in primitive construct from the language defining the relashionship between sets of things. Other properties (part-of, regulates, etc…) are defined by OWL object properties.
  • 3. Material • Files: http://bit.ly/12flbf8 • Protégé 4.3: http://stanford.io/102ZBJO • Brain: http://bit.ly/TYGj4O
  • 4. Tutorial • Ask questions! • What is OWL? • Why is it particularly interesting for life sciences? • How to use OWL? • What is OWL 2EL? • How to integrate and query biomedical knowledge?
  • 5. Why learning OWL? “The scientist is not a person who gives the right answers, he's one who asks the right questions” ― Claude Lévi-Strauss “Half of science is putting forth the right questions” ― Sir Francis Bacon
  • 6. Why learning OWL? “What are the human proteins that regulates the blood coagulation?”
  • 7. Why learning OWL? “What are the human proteins that regulates the blood coagulation?” Classification (flat file) Database (SQL or RDF) Ontology (OBO)
  • 8. Why learning OWL? “What are the human proteins that regulates the blood coagulation?” What are the parts? What is composing it? What does it even mean? How do I integrate the data? Classification (flat file) Database (SQL or RDF) Ontology (OBO)
  • 9. Why learning OWL? • Existing resources can already answer the question  But they need to interact • Ontologies are not only labels or annotations for biological concept (“blood coagulation”)  They help to formalize problem • We want to mix traditional ontologies with other large-scale data • We want an intuitive way to formulate the query, hiding the implementation
  • 10. What is OWL? • The Semantic Web: RDF  URI and triples  Should improve interoperability over the Web • Need for shared schemas  ontologies • OWL  Description logics and knowledge representation, decidable, attractive and well- understood computational properties. • (OWL  Direct Semantics or RDF-based semantics)
  • 11. What is OWL? • Confusing relations between OWL, RDF, SPARQL, reasoning, etc… • Here we deal with the Direct Semantics of OWL (no RDF)  It’s easier! • You get to use the reasoner a lot! • In OWL you build knowledge-bases or ontologies (here these terms are synonyms – in the wild people use the two).
  • 12. OWL and Life Sciences Advantages versus RDF, SQL and flat files? • Formal language to represent hierarchical data • Machine reasoning • Large-scale (OWL 2EL) • Knowledge integration • Composition • Powerful query mechanism
  • 13. OWL 2 Terminology • It’s all about definitions! • Defining things based on the relations they have • Entities: elements used to refer to real-world objects • Expressions: combinations of entities to form complex descriptions from basic ones • Axioms: the basic statements that an OWL ontology expresses  Pieces of knowledge http://www.w3.org/TR/owl2-primer/#Modeling_Knowledge:_Basic_Notions
  • 14. Entities • Classes: Categories and Terminology – Protein, Human, Drug, Chemical, P53, Binding site, etc…  Pretty much everything in life science. • Individuals (objects): Instances – Rex the dog, this mouse on the bench, you, etc… • Properties: Relations between individuals – Part of, regulates, perturbs, etc…
  • 15. Axioms • Statements, pieces of knowledge  express the truth. • How classes and properties relate to each other: – All Humans are Mammals  Human is a subclass of Mammal • You should always think in terms of individuals. In biology we don’t really deal much with real individuals, yet classes/properties and axioms are built from relationships between anonymous individuals. • Our first OWL axiom: SubClassOf
  • 16. Ontology/Knowledge-base • Set of axioms • Serialized as “.owl” file – Here using the Manchester syntax (Description logics semantics) • Example of output (look at the format, don’t try to understand the logic now): ObjectProperty: part-of Class: owl:Thing Class: Cell Class: Nucleus SubClassOf: part-of some Cell
  • 17. Terminology Summary <demo.owl> rdf:type owl:Ontology . :part-of rdf:type owl:ObjectProperty . :Cell rdf:type owl:Class . :Nucleus rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :part-of ; owl:someValuesFrom :Cell ] . owl:Thing rdf:type owl:Class . Output in RDF (turtle – RDF-based semantics):
  • 19. Terminology Summary Scientist subClassOf Person John type Scientist John works in ParisParis type City Axiom Class Individual Property Ontology/Knowledge-base
  • 20. Exercise 1 – Classes and axioms • Open the file “NCBI-taxonomy-mammals.owl” with a text editor. Can you understand what’s inside? • Now open the file with Protégé and go under the tab “classes”. You can use the option “render by label” in the “View” menu. • Can you recognize the classes? What do they describe? • Can you spot the axioms? What do they capture?
  • 21. Reasoner • A program that understand the axioms and can deduce things from it. • Used to classify the ontology. • Query engine for knowledge-bases. • More or less fast depending on the number and type of axioms.
  • 22. Exercise 2 - Reasoning • In Protégé, go under the “DL query” tab and retrieve all descendant classes of the class Abrothrix (or NCBI_156196). • What does this query means? What about the results?
  • 23. Comparison against mySQL SELECT s.* FROM species AS s, species AS t WHERE (s.left_value BETWEEN t.left_value AND t.right_value) AND t.common_name='abrothrix';
  • 24. Constructs – Class expressions • Combining classes and properties to define more things (class expression)  Composition • Intersection: and – Mammal and Omnivore • Existential Restriction: some – part-of some Cell Cuneiform script (3000 BC): Head Food Eathttp://en.wikipedia.org/wiki/Cuneiform
  • 26. Constructs & axioms Human SubClassOf Mammal and Omnivore Pig HumanMammal Omnivore Mammal and Omnivore individual
  • 27. Constructs & axioms This definition (Mammal and Omnivore) of the concept “Human ” is partial. • Every human must be at least a mammal and an omnivore according to our definition. • But it’s not because you are a mammal and an omnivore that you are necessary human!! Human SubClassOf Mammal and Omnivore
  • 28. Construct: some Existential restriction: Weird construct at first, but useful while dealing with incomplete knowledge P some C: if it exists then a least one instance of C linked by P Cell part-of some Cell part-of part-of part-of
  • 29. Constructs & axioms Cell part-of some Cell part-of part-of part-of Nucleus Nucleus SubClassOf part-of some Cell “Each nucleus must be part of a cell” part-of
  • 30. Exercise 3 – Implementing the axiom • Create a new project inside Protégé. • Implement “Human SubClassOf Mammal and Omnivore” • Run the reasoner and look at the hierarchy of classes. Does it make sense? • That’s the main role of the reasoner  classifying things based on their definitions. • “Conceptual Lego”
  • 31. : ,, OWL concepts Axiom Class Property Constructor : Basic block : Basic block Class Expression : Used in class expressions Class Property Constructor : Relations between these entities.
  • 32. OWL Concepts Axiom TBox (Terminological Axiom) SubClassOf EquivalentClasses DisjointClasses RBox (Relational Axiom) SubObjectPropertyOf EquivalentObjectProperties ObjectPropertyChain TransitiveObjectProperty … ABox (Assertional Axiom) ClassAssertion…
  • 33. Real-life example: The Gene Ontology • Open Biomedical Ontology (OBO) format originally. • Moved to OWL  Stronger semantics http://www.geneontology.org/GO.ontology-ext.relations.shtml CellNucleus part-of
  • 34. GO constructs • Central pattern: A SubClassOf P some B Nucleus SubClassOf part-of some Cell http://www.geneontology.org/GO.ontology-ext.relations.shtml CellNucleus part-of ( )
  • 36. GO – Rbox: part-of Transitivity
  • 37. Exercise 4 – Transitive property • Open the “gene_ontology.owl” file. • What are the things that are a biological_process and part_of some 'wound healing‘ ? • Look at the class “blood coagulation, common pathway”. Is it obvious for this class to be in the results?
  • 38. GO – Rbox: regulates Chain
  • 39. Exercise 5 – Chained properties • Look at the “regulates” property inside Protégé. • What are the things that are a biological_process and regulates some 'mitotic cell cycle’ ? • Look at the class “positive regulation of syncytial blastoderm mitotic cell cycle” • Is it obvious for this class to be in the results?
  • 40. GO – Rbox: positively/negatively regulates SubProperty
  • 41. Exercise 6 – Sub Properties • Look at the “positively-regulates” property inside Protégé. • What are the things that are a biological_process and positively_regulates some 'mitotic cell cycle' ? • Are they different from the things that are biological_process and regulates some 'mitotic cell cycle'?
  • 42. Exercise 7 – Verifying properties • Are we respecting the GO specifications?
  • 43. Summary GO • Concepts are defined using one construct only (A SubClassOf P some B). • Rich RBox • OWL is helpful to represent these relations, helps to abstract away.
  • 44. Knowledge integration • We would like to answer questions over all different source of knowledge. • “Thrombosis is a widespread condition and a leading cause of death in the UK.” • We would like to find a new protein target in order to treat thrombosis. • Here we would like to know “what are the human proteins that regulates the blood coagulation”.
  • 45. Knowledge-bases • Species: NCBI taxonomy • Biological Process: Gene Ontology • Proteins: Uniprot
  • 46. Exercise 8 – Integrating knowledge • Open the file uniprot.owl • Do you understand its content? Look for the class “Protein” • Now open the file “integrated.owl” • How would you formulate the question “what are the human proteins that regulates the blood coagulation” in OWL? • involved_in some (regulates some ‘blood coagulation’) and expressed_in some ‘Homo sapiens’
  • 47. Implementation using Brain Brain brain = new Brain(); brain.learn("data/gene_ontology.owl"); brain.learn("data/NCBI-taxonomy-mammals.owl"); brain.learn("data/uniprot.owl"); String query = "involved_in some (regulates some GO_0007596) and expressed_in some NCBI_9606“; List<String> subClasses = brain.getSubClasses(query,false); brain.sleep();
  • 48. Large-scale implementation • OWL is computing intensive  OWL 2EL • Less axioms and constructs  easier for you to remember and easier for the reasoner to compute • Suited for life sciences  lots of classes, few instances
  • 49. H2O H HO Expressivity RDF SPARQL RDFS OWL2OWL2 EL PSPACE (all constructs) PTIME PTIME N2EXPTIME- complete LOGSPACE (AND, FILTER) NP (AND, FILTER, UNION) Tractable Parallelism http://www.w3.org /TR/owl2-profiles/
  • 50. Why learning OWL? “What are the human proteins that regulates the blood coagulation?” What are the parts? What is composing it? What does it even mean? How do I integrate the data? Classification (flat file) Database (SQL or RDF) Ontology (OBO)
  • 51. Conclusion • Ask questions! • What is OWL? • Why is it particularly interesting for life sciences? • How to use OWL? • What is OWL 2EL? • How to integrate and query biomedical knowledge?
  • 52. Thank you! • croset@ebi.ac.uk • More questions: StackOverflow (tag “OWL”) • If you think things could be improved please send feedback, fork or contribute