webapollo: a web-based sequence annotation editor for community annotation ed lee, gregg helt, nomi...
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
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
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
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
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