c03-visualization-webapollo
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” ApolloPopular open source genome annotation editing
toolLets biologists view computational analyses and
experimental evidence for genomic features and build a manually-curated consensus
Standalone Java application
In The Old Days
Users had to download and install Apollo
Annotations saved locally in flat files
Sharing done by emailing files
Only one person could edit a region at a time
Apollo in the Old 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
Users still needed to install Java
Starting To Get Better
WebApollo:Collaborative Annotation
Web-based (runs in browser)
No software download required
Annotations saved to centralized databaseEdit server mediates annotation changes made by
multiple users
Real-time annotation updating
WebApollo Framework
Web-based Client
Uses JBrowse Javascript annotation browserFastHighly interactive
WebApollo extensions to JBrowseGestures for editing annotationsCommunication with the annotation editing engine
and data providing serviceHTML5 Canvas quantitative data rendering
Multiple Client Synchronization
Comet modelServer pushes annotation updates to all clients
in real time
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
Per-sequence (contig, chromosome, etc.) user permissions (none/read/write)
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, e.g.,
Poka Trellis plugin for UCSC database access
DAS plugin for Ensembl servers
Supports modular front-end content formats, e.g., JBrowse JSON plugin
Trellis Framework Servlet
Poka Plugin
Trellis
DAS Data Model
DAS Model to UCSC MySQL
MySQL response to DAS Model
UCSC MySQL
Genome database
WebApollo Client
JBrowse JSON Plugin
Model to JBrowse JSON
DAS HTTP Request with format modifier
WebApollo DemoTry it yourself:
http://icebox.lbl.gov:8080/ApolloWebDemo
Annotations you make on demo server are:Not kept privateNot guaranteed to persist
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