Synthetic Biology:Semantic web ontology
This is a part of the effort to provide a standardized, extensible, scalable and machine-processable interface for the Registry of Standard Biological Parts. The ideas of the Semantic Web seem to provide a solution to this problem. The success of developing a Synthetic Biology ontology depends in part on a good definition of the BioBricks abstraction hierarchy.
Meetings
First meeting
Held on Tuesday (9/20/05) at 3pm, room 68-674
Participants (please put your name here):
To be discussed:
- BioBricks abstraction hierarchy
- List of questions that the Registry should be able to handle (use cases)
Notes:
- Classes of standards: assembly standards, performance standards?
- Part: piece of DNA with molecular function, combined by BioBricks assembly.
- Basic: contains detailed specifications, DNA sequence.
- Composite: basic part plus assembly method; two composite parts are the same if they contain the same basic parts).
- Device: may not be on a single piece of DNA.
- Separate spaces or sets of hierarchies:
Physical (DNA sequence, assembly methods):
#BioBrick rdf:type rdfs:Class . #Composite rdf:type #BioBrick . #Basic rdf:type #BioBrick . #Composite #contains #Basic .
Design (performance characteristics):
#Parts rdf:type rdfs:Class . #Devices rdf:type rdfs:Class . #Systems rdf:type rdfs:Class .
Other?
- We should approach development of the abstraction hierarchy working from bottom up (define basic terms and properties first, then move on to classes and their relationships).
Second meeting
Proposed to be held on Friday (9/23/05) at 10am, room TBA
Participants:
To be discussed:
Basic terms for describing the biological parts and their properties.
Registry features
- Registry_Wish_List
- Subpart Search: search for parts that match a portion of this part or this sequence of parts. Software agent would take a part name and using the ontology definitions would query other registries via their semantic web interfaces (no need to know about schema: e.g., just say "need all <#part>s that match a <#component> of the given <#part>"). Software agent can search anyone's registry if they use a common ontology: simply follow URLs (or use query language) and add triples to the local RDF store.
- Superpart Search: search for parts that contain the given parts
- What about sub- and superpart searches in distributed registries?
- Search for function (case insensitive): repressor, reporter, inverter, etc.
- What are the available (instances of) parts? Are they used in any devices already? (saves time for constructing expression device). Problem: different names for exactly same DNA sequence
- What kinds of devices/systems have been built?
- ?
Semantic Web
RDF/XML, RDF Schema and OWL
"an initiative to enable cross-platform data exchange and reuse through well-defined ontologies and a common XML-based framework."
"The goal of the Semantic Web initiative is to create a universal medium for the exchange of data where data can be shared and processed by automated tools as well as by people." [10]
- allows to model real things, not just documents or database tables (knowledge representation)
- consists of statements about resources in the form of triples:
SUBJECT -> PROPERTY -> VALUE -OR- SUBJECT -> PREDICATE -> OBJECT
- identifies every resource with a globally unique URI: don't say "color", say <http://example.com/2005/std6#col>
- allows “serendipitous reuse”: integration with data sources in other fields (“web join”)
Resources
- A No-Nonsense Guide to Semantic Web Specs for XML People Part I and Part II - good intro for those familiar with XML
- W3C Semantic Web Activity (links to RDF, OWL, etc)
- Semantic Web primer from 2000 at xml.com
- Berners-Lee - Semantic Web Life Sciences - BioIT World
- Web Services - Semantic Web by Tim-Berners Lee
- Introduction to the Semantic Web and RDF by A.M. Kuchling
- Wikipedia article on Semantic Web
- Semantic Web tutorials from W3C
- Semantic Web tutorial using N3
- Primer: Getting into RDF & Semantic Web using N3
- Semantic Web: interview with Tim Berners-Lee
- W3C press release
- Design Issues @ W3C - web architecture and metadata
- Notions & Notations of the Semantic Web - MIT 6.898 Fall Seminar Course
- Semantic Web news aggregator
Resource Description Framework (RDF)
Used for making statements about facts
<http://www.example.org/index.html> has a creator whose value is John Smith
the RDF terms for the various parts of the statement are:
- the subject is the URL <http://www.example.org/index.html>
- the predicate is the word "creator"
- the object is the phrase "John Smith"
Resources
- RDF Primer at W3C
- Wikipedia page
- RDF @ W3C - a lot of links to resources
- RDF Made Easy - a short tutorial
- Intro to RDF and Jena RDP API
- RDF Tutorial @ W3C - a lengthy presentation
- Practical RDF - O'Reilly book, decent but not great
- RDF FAQ @ W3C
- RDF Data Access Use Cases and Requirements
- Relational Databases on the Semantic Web
- RDF Tutorial from the University of Lyon
- RDF Concepts and Abstract Syntax
- RDF semantics
- RDF Test Cases
- RDF/XML Syntax Specification
- RDF Vocabulary Reference
Software
- RDF Validator
- 4Suite™: an open-source platform for XML and RDF processing
RDF Schema
- ‘semantically extends’ RDF to enable us to talk about classes of resources, and the properties that will be used with them
- provides the means to describe application specific RDF vocabularies
- provides schema information as additional descriptions of resources, but does not prescribe how these descriptions should be used by an application
- describes classes (corresponds to the generic concept of a Type or Category) and properties
RDF schemas differ somewhat from XML schemas (such as DTDs or W3C XML Schemas) in that they do not define a permissible syntax but instead classes, properties, and their interrelation: they operate directly at the data model level, rather than the syntax level
Resources
- RDF Vocabulary Description Language 1.0: RDF Schema - W3C Recommendation
- RDF Schema Vocabulary Reference
Software
- RDF Schema formatter - extracts human readable information from a RDF Schema
Web Ontology Language (OWL)
Used to define relationships between vocabularies and other constraints. As the Semantic Web is inherently distributed, OWL must allow for information to be gathered from distributed sources.
OWL adds the ability to indicate when two classes or properties are identical. OWL declarations provide additional information to let rule-checking and theorem-proving systems work with RDF data.
- e.g. the 'ancestor' property is transitive.
- If (X ancestor Y) and (Y ancestor Z) are true, a system could infer that (X ancestor Z) is also true.
Resources
- Wikipedia page
- OWL @ W3C - links
- OWL Web Ontology Language Guide
- OWL Web Ontology Language Overview
- OWL Web Ontology Language Reference
- OWL Web Ontology Language Semantics and Abstract Syntax
- OWL Vocabulary reference
- OWL Implementations as of December 2003 (Historical)
- OWL Web Ontology Language Semantics and Abstract Syntax
Software
Query
Resources
- RDF Query Survey - query language survey
- Redland Rasqal RDF Query Demonstration
RDQL
- RDQL - A Query Language for RDF
- RDQL Tutorial from phpxmlclasses project
- A Programmer's Introduction to RDQL - Jena tutorial
SPARQL
Ontologies
Essentially, a formal description of objects and their interrelationships Described using RDF Schema and/or OWL.
Examples:
- Dublin Core provides a vocabulary to describe bibliographic metadata
- Namespace: http://purl.org/dc/elements/1.1/
- Properties: title, creator, publisher, identifier
- Gene Ontology provides a controlled vocabulary to describe gene and gene product attributes in any organism
- Namespace: ftp://ftp.geneontology.org/pub/go/xml/dtd/go.dtd
- Properties: name, definition, isa, association, evidence
- Sequence Ontology: features on a nucleotide or protein sequence
- BioPAX: biological pathway data
- UniProt (planning)
- SBML uses CellML metadata to describe its elements. See also a message on SBML forum.
- BioModels database and Systems Biology Ontologies (SBO) project
- Open Biomedical Ontologies
- Bio-Ontologies
- Ontologies for molecular biology and bioinformatics
Diagram of synthetic biology ontology v0.01 (developed using existing terminology described on the Registry website):
Resources
- GO annotation wiki (from Sri)
- RDF Schemas directory
- Ontology Development 101: A Guide to Creating Your First Ontology
Software
- Ontology editors
- Protégé is a free, open source ontology editor and knowledge-base framework
- OilEd is an ontology editor allowing the user to build ontologies using DAML+OIL
- Ontolingua
- Chimaera is a software system that supports users in creating and maintaining distributed ontologies on the web
Implementation
- Persistent RDF store (MySQL + Jena)
- Possible architecture of the Registry: http://www.w3.org/2005/Talks/0517-boit-tbl/#[19]
Miscellaneous
Contact: Ilya Sytchev