FlyWeb: the way to go for biological data integration - PowerPoint PPT Presentation


PPT – FlyWeb: the way to go for biological data integration PowerPoint presentation | free to download - id: 198895-NGJiY


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

FlyWeb: the way to go for biological data integration


a library of Javascript widgets as front ends to SPARQL data sources ... Widgets are composed in a browser to create the complete application. Each widget provides: ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 22
Provided by: openfl
Learn more at:


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: FlyWeb: the way to go for biological data integration

FlyWeb the way to go for biological data
  • Jun Zhao, Alistair Miles and Graham Klyne
  • Image Bioinformatics Research Group
  • Department of Zoology
  • University of Oxford

FlyWeb Application
  • To answer questions about "what does this gene
  • Gene Expression Images
  • Sequence and ESTs (Expressed sequence tags) of
    the gene
  • Publications about the gene
  • ....
  • A first example of the Image Web that our group
    is developing
  • Investigate the feasibility of existing Semantic
    Web tools and technologies for real applications

Gene expression images
  • Reveal gene expression pattern in different
    development stages
  • Important for identifying genes of interests and
    verifying a picture of probable gene functions

FlyWeb demonstration
  • http//
  • Run application go
  • Two examples
  • Single gene query (aos1)?
  • Use gene synonyms to enhance gene matching (rbf)?

(No Transcript)
More than one synonyms of gene rbf
(No Transcript)
How does it work?
  • Data from 3 independent sources
  • model organismreference
    database, gene namesand identifiers
  • (BDGP) embryo in situ images
  • testis in situ images
  • All data accessed via SPARQL
  • Pure Ajax user application
  • Essentially, a mashup using a SPARQL API

The client side
  • FlyUI
  • a library of Javascript widgets as front ends to
    SPARQL data sources
  • Built on Yahoo User Interface (YUI) library
  • Widgets are composed in a browser to create the
    complete application
  • Each widget provides
  • A Service that implements SPARQL queries
  • A Model encapsulating SPARQL query results
  • A Renderer

The in situ search application
GeneFinder Widget
FlyTED Image Widget
BDGP Image Widget
Gene name mapping
  • FlyTED and BDGP use different gene names
  • FlyTED data derived from spreadsheets with
    imperfectly controlled gene name vocabulary
  • BDGP's data are annotated using FlyBase's unique
    FBgn numbers
  • Use FlyBase for automatic gene mapping
  • Additional inputs from scientists for
    disambiguating many-many mappings
  • Mappings are stored as JSON file to assist
    GeneFinder widget (having no use for RDF/OWL
    reasoning at this stage)?

SPARQL queries
SELECT WHERE ?gene fbutilanyName
"userInput"xsstring a chadoFeature
chadoname ?symbol chadouniquename
?flybaseID . OPTIONAL ?gene chadodbxref
chadoaccession ?annotationSymbol .
OPTIONAL ?gene chadosynonym
chadoname ?synonym . OPTIONAL ?gene
chadosynonym a syntypeFullName
chadoname ?fullName .
  • Free text matchings
  • Case insensitive searching
  • Very important for our users
  • Too expensive using SPARQL Filter
  • Pre-generate lower-case gene names and load into
    the Flybase RDF DB

flytedassociatesToGene lthttp//
id/flyted/gene-geneNamegt flytedassociatesTo
Gene ?gene flytedthumbnail ?thumbnailURL
rdfsseeAlso ?flytedURL rdfslabel
The RDF data sources
  • Flybase and BDGP relational databases
  • FlyTED, an image repository built using Eprints
  • FlyAtlas (forthcoming), tissue-specific
    Drosophila gene expression levels, as a single

Creating RDF from data sources
  • D2RQ mapping
  • FlyBase and BDGP, native relational databases
  • Conservative mapping, with minimum interpretation
  • Harvesting N3 RDF metadata via the OAI-PMH
    protocol, built-in support by Eprints
  • Further from ESWC2008 paper
  • Custom Python program
  • FlyAtlas
  • Generating N3 from spreadsheet table

More about the data sources
  • Bulk download
  • http//, 8m triples
  • http//, 1m triples
  • http//, 30,000
  • SPARQL endpoint
  • http//
  • http//
  • http//
  • Schema
  • http//
  • http//
  • http//

SPARQL server
  • Amazon EC2 (Elastic Compute Cloud)
  • To run SPARQL endpoints
  • To host the demo you've just seen
  • Jena TDB as triple store
  • For better loading performance 6K tps for 9M
    triples to Amazon Elastic Block Storage (EBS)?
  • For better querying performance
  • SPARQLite
  • home-grown SPARQL protocol implementation
  • More later
  • Apache, Tomcat, mod_jk, etc.

SPARQLite protocol
  • http//
  • Also, a platform for exploring SPARQL service
    quality concerns, more later
  • Motivation
  • Enable streaming
  • Create a database connection pool
  • Designed for Jena TDB/SDB Postgres
  • Restricted forms of query (SELECT, ASK)
  • Restricted query result format (e.g. only JSON)

  • RDF provides a uniform and flexible data model
  • RDF dump is cheaper and quicker
  • Maintaining a separate SPARQL endpoint for each
    data source makes it easier than a data warehouse
    approach for handling data updates
  • RDF facilitates data re-use and re-purposing
  • SPARQL raises the point of departure for an
  • Benefits for the future
  • Linking to other data sources
  • Querying genes using the Fly Anatomy ontology
  • Magic of inference

  • Loading Our datasets 10 million triples
  • Jena / RDB / Postgres, OK with lt1 M triples
  • Jena / SDB / Postgres better, but problems with
    load performance with larger datasets
  • Jena / TDB gives much better load performance
    (6K tps), even on 32 bit system with Amazon EBS
    storage (but not so good with local EC2 store)?
  • Virtuoso performs reasonably well
  • Querying, particularly text matching and case
    insensitive search
  • Problems with using SPARQL regex filter, the only
    mechanism for case-insensitive search in SPARQL
  • Tried with OpenLink Virtuoso, still 10 seconds
    for a case-insensitive search
  • Any suggestions?

Further lessons
  • SPARQL results streaming
  • Resolves out of memory errors for large datasets
  • Joseki / SDB / Postgres can be made to stream
    results, but using just a single JDBC connection,
    causing performance problems with concurrent
  • Therefore, SPARQLite
  • The openness of SPARQL
  • SPARQL is an inherently open query language and
  • Open endpoints are vulnerable to simple queries
    that can overload the service, exposing them to
    denial of service style attacks (whether intended
    or not)?
  • Futures API key mechanism? Restricted SPARQL

Future directions
  • Adding new data sources
  • FlyAtlas tissue-specific Drosophila gene
    expression levels
  • More information from FlyBase e.g. references
  • More applications
  • Find out all the gene expression images of its
  • Find out all the genes related to blood
  • ...
  • Linked data (dereferencable, follow-your nose)?
  • We're thinking about this, but our application
    does not currently need it
  • How to control and predict quality of service for
    open SPARQL endpoints

  • Alistair Miles, Graham Klyne and David Shotton
  • Dr Helen White-Cooper and her research group
  • BBSRC for funding building the FlyTED database
  • BDGP and FlyBase for making the data available
  • JISC, for funding the FlyWeb project
  • The Jena team, esp. Andy Seaborne