webapollo: a web-based sequence annotation editor for community annotation ed lee, gregg helt, nomi...

18
WebApollo: A Web-Based Sequence Annotation Editor for Community Annotation Ed Lee, Gregg Helt, Nomi Harris, Mitch Skinner, Christopher Childers, Justin Reese, Jay Sandaram, Christine Elsik, Ian Holmes, Suzanna Lewis Bioinformatics Open Source Conference (BOSC 2011) July 15, 2011

Upload: mervin-davidson

Post on 31-Dec-2015

231 views

Category:

Documents


7 download

TRANSCRIPT

WebApollo: A Web-Based Sequence Annotation Editor for Community Annotation

Ed Lee, Gregg Helt, Nomi Harris, Mitch Skinner, Christopher Childers, Justin Reese, Jay Sandaram,

Christine Elsik, Ian Holmes, Suzanna Lewis

Bioinformatics Open Source Conference (BOSC 2011)

July 15, 2011

“Old” ApolloWhat is Apollo?

Popular open source genome annotation editing tool

Tool for visually inspecting computational analyses and experimental evidence for genomic features and building a manually-curated consensus

Standalone Java application

In The Olden Days

Users required to download and install Apollo

Customized configurations needed to be pushed to users

Annotations saved locally in flat files

Sharing done by emailing files

Apollo in the Olden Days

(Flat file)

Starting To Get Better

Annotations saved directly to a centralized databaseEdits made by other users not visible until you

actively reloadedPotential issues with stale annotation data

Apollo software downloaded more transparently by Java Web Start

Java versioning still an issue

Starting To Get Better

Now We’re TalkingWeb-based (runs in browser)

No software download required

Customized configurations automatically pushed to usersUsers automatically see any new data tracks

Annotations saved to centralized databaseEdit server mediates annotation changes made by

multiple users

Now We’re Talking

WebApollo Framework

Web-based Client

JBrowse Javascript based annotation browserFastHighly interactive

WebApollo extensions to JBrowseProvides gestures needed for editing annotationsCommunication with the annotation editing engine

and data providing serviceHTML5 Canvas quantitative data rendering

Annotation Editing Engine

Java

Handles all the logic for editing

Edits stored persistently in the serverBerkeleyDB JE for fast accessAble to restore data if either client or server

crashes

Once annotators are satisfied with annotations, they are stored in a centralized Chado database

Per-sequence (contig, chromosome, etc.) user permissions (none/read/write)

Multiple Client Synchronization

Comet modelServer pushes annotation updates to all clients

in real time

Enabling WebApollo to access as many types of genomic data as

possible

Efficient access to public data from UCSC, Ensembl, and GMOD Chado databases

Unified strategy like DAS is preferred

Solution: Trellis, a DAS server framework that: Supports modular back-end plugins

Poka Trellis plugin for direct UCSC database access

DAS plugin to support Ensembl servers

Supports modular front-end content formats JBrowse JSON plugin

Trellis Framework Servlet

Poka Plugin

UCSC To JBrowse Via Trellis

DAS Data Model

DAS Model to UCSC MySQL

MySQL response to DAS Model

UCSC MySQL

Genome database

JBrowse Client

JBrowse JSON Plugin

Model to JBrowse JSON

DAS HTTP Request with format modifier

WebApollo Demohttp://icebox.lbl.gov:8080/ApolloWebDemo

Source Code(BSD License)

Client source codehttps://github.com/berkeleybop/jbrowse

Annotation editing enginehttp://code.google.com/p/apollo-web

Data model and I/O layerhttp://code.google.com/p/gbol

Trellis server codehttp://code.google.com/p/genomancer

Acknowledgements

LBNL Ed Lee Gregg Helt Nomi Harris Suzanna Lewis

UC Berkeley Mitch Skinner Ian Holmes

Georgetown University Christopher Childers Justin Reese Jay Sundaram Christine Elsik

Demo: http://icebox.lbl.gov:8080/ApolloWebDemo