Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apollo: Improving Collaborative Genome Curation


Published on

Apollo enables collaborative, real-time curation (akin to Google Docs) of genomic elements using both structural and experimental information. Built on top of the JBrowse framework, Apollo is composed of a web-based client, an annotation-editing engine, and a server-side data service. Users can visualize gene models, protein alignments, and expression and variant data to conduct structural and/or functional annotations. In our most recent release, version 2.0.x, the improved architecture allows users to more easily query data and build extensions, supports multiple organisms per server, and allows additional types of sequence annotations based on the Sequence Ontology. The new, removable side-dock offers detailed view of annotations, sequences, and organisms, a new reporting structure, and WebSocket support to improve real-time communication. The new Grails framework (Spring / Hibernate / Groovy) in the server more robustly scales a single server over multiple organisms while better supporting additional curators. Apollo’s entire secure REST API is exposed, allowing genomic features to be injected into Apollo from an automated curation process or organization-specific metadata to be extracted directly from Apollo using a SQL query or REST. The new version offers improved features, including the ability to bring together 2 or more scaffolds in order to annotate genes split across them, and increases the ability to customize and integrate Apollo into modern curation pipelines. During this demonstration we will introduce the new architecture, highlight advantages for users, and detail our future plans.
Project Website: Source Code: License: Berkeley Software Distribution (BSD) License at

Published in: Science
  • ➤➤ How Long Does She Want You to Last? Here's the link to the FREE report 
    Are you sure you want to  Yes  No
    Your message goes here

Apollo: Improving Collaborative Genome Curation

  1. 1. Nathan A Dunn 1 , Monica C. Munoz-Torres 1 , Colin Diesh 2 , Deepak Unni 2 , Eric Yao 3 , Ian Holmes 3 , Christine G. Elsik 2 and Suzanna Lewis 1 (1) Lawrence Berkeley National Laboratory, Berkeley, CA, (2) Division of Animal Sciences, University of Missouri, Columbia, MO, (3) Department of Bioengineering, Berkeley, CA Apollo: Improving Collaborative Genome Annotation https : //g ithub. org / G M O D /A pollo/ http: //ge nom e arc hite c t. org /
  2. 2. Genome Annotation Structural Annotation • exons, introns, UTRs • repeat regions • transp elements • molecular evolution • sequence conservation Functional Annotation • Gene Ontology • molecular function • biological process • cellular component • expression • metabolic pathways / functions • gene families
  3. 3. Experimental design, sampling Comparative analyses Consensus Gene Set Manual Annotation Automated Annotation Sequencing Create Assembly Synthesis & dissemination Example Genome Analysis Workflow Many tools • Many people • Lots of data • Many Iterations Annotation FGENESH
  4. 4. Automated Identification of Genomic Features Automated Annotation Generation of Gene Models find ORFs, multiple rounds of gene prediction, etc. Annotation of Gene Models
 Describing function, expression patterns, metabolic network memberships • Assembly errors can cause fragmented annotations • Limited coverage makes precise identification difficult Manual Annotation
  5. 5. Human Analysis Automated Annotation Manual Annotation Refines Features Experimental Evidence cDNAs, HMM domain searches, RNAseq, genes from other species. • Additional data • Biological knowledge • Curator experience Manual Annotation
  6. 6. Annotators Apollo Google Web Toolkit (GWT) / Bootstrap What is Apollo? Annotators Apollo Google Web Toolkit (GWT) / Bootstrap Annotators Apollo Google Web Toolkit (GWT) / Bootstrap • Web-based Genome Editor • JBrowse • Real-time collaborative • Automatic Save Photo Credits: i5K; Alex Wild at leaf cutter ant, ensign wasp; Leo Bukeboom: Nasonia vitripennis jewel wasp; Wikimedia Commons: Apis mellifera honey bee; Mike MacNeil USDA/ARS Fort Keogh LARRL: Bos taurus cow.
  7. 7. Apollo Genome Editor Navigation User Annotations Evidence Transcripts (GFF3, GBK) BAM Reads Transcripts (GFF3, GBK) BigWig XY BigWig HeatMap Create Annotation by Dragging / Right-click Custom Color Schemes Color CDS Frame
  8. 8. How to Edit Data? Sequence Alterations Edit Structure by Dragging or Popup Menu History, Undo/Redo Edit Functional Data • PubMed / xdbref • Gene Ontology • Metadata • key/value • status • comments
  9. 9. Navigate while Viewing Genome • Allows users an alternate dimensions to navigate and edit • Well-established paradigm for “editing” in applications Resizable / Closeable Shareable Links
  10. 10. Search Annotations and Discover Details Search Navigation View / Edit Details
  11. 11. Explore and Export Sequences Search Navigation
  12. 12. Add and Share Organisms Add organisms from existing JBrowse directory Specify “Public” organisms that do not require a login
  13. 13. Manage Who Sees What Add / Search Users Edit User Organism Permission User Can “Admin” an Organism
  14. 14. Work with Lots of Users and Organisms Add User to Groups with Permissions Set Bulk User Permissions using Groups
  15. 15. How to get Apollo into your WorkFlow? Reports Data Input Data Output Analysis Authentication BLAT (built-in) Remote BLAST Example Workflow
  16. 16. Server Criteria Apollo Server File System e Directories Security • Quick setup and easy to deploy • Plugins (websockets, security, etc.) • Scaleable • Rapid Application Development • Integrated testing • Bonus: Minimal changes • Mature and well-supported DataStore • Thread-safe transactions • Transparent / Queryable • Structured • Simple Setup REST WebSocket Considerations • Node.js • Ruby on Rails • Grails • Struts, Spring MVC, etc. • Django, Php, etc. JBrowse Clients
  17. 17. Grails Server Apollo Server - Grails JDBC File System ectories Security • Quick Setup • Plugins • Scaleable (Spring / Hibernate / JVM) • Rapid Application Development • Integrated testing • Existing JBrowse tracks DataStore • Thread-safe transactions • POJO (No XML) • Multiple DB support • Structured REST WebSocket JBrowse Clients
  18. 18. • Integrate with JBrowse • Uses exposed REST • Build your own interface • Build Complex UI • Well-supported • Is JavaScript at some level Sidebar Client Criteria Of the Million Available Options • Angular + Bootstrap • jQuery all the way • GWT + Bootstrap • Dojo • Other Ideas: React, Polymer, etc. Annotators Apollo Google Web Toolkit (GWT) / BootstrapJBrowse DOJO / jQuery Apollo JBrowse REST WebSocket
  19. 19. GWT • Java -> JS Optimized Cross-Compiler • Google uses for Complex UI (Gmail, Sheets, Adwords) • Uses exposed REST • Build your own interface (more here) • Can still use JS / HTML wherever GWT Sidebar Client JBrowse Genomic Viewer • Websockets improved reliability / performance Annotators Apollo Google Web Toolkit (GWT) / BootstrapJBrowse DOJO / jQuery Apollo JBrowse REST WebSocket
  20. 20. Scriptable Web Services • Examples: Groovy, Perl, shell • Autogenerated API-doc in Apollo curl -d "{ 'operation': 'get_features', ‘track':'Group1.10','username':'ndunn@me.c om','password':'demo'}" http://localhost: 8080/apollo/AnnotationEditorService
  21. 21. Apollo Server - Grails Security JBrowse Directories Architecture Web Services Client Perl, Shell, Groovy, PHP, etc. Annotators Apollo Google Web Toolkit (GWT) / BootstrapJBrowse DOJO / jQuery REST REST WebSocket JDBC File System Apollo JBrowse
  22. 22. • apollo-config.groovy • Web services • Grails plugin • JBrowse plugin • Database • Fork • Ask • Hackathon (Jan 14, Scripps) How to make changes and connect to Apollo https : //g ithub. org /G M O D /A pollo/ apollo@ lists.lbl. gov
  23. 23. Example Integrations Galaxy Docker GFF3 output, scriptsWeb services VectorBase iPlant Collaborative
  24. 24. Manual Annotation with Apollo Improves Gene Models Improve annotations • Multiple evidence sources • Remote collaborators • Work on multiple organisms • Publish improved gene sets Enable curators to do their job • Manage multiple organisms • Manage users and groups • Integrate curation pipeline • Extend Apollo to meet needs Reports Import Evidence (JBrowse) Export Curated Genome Analysis Curate Edit GFF3 BAM BigWig Explore
  25. 25. Group 20 Group 31 Future Work Mavenize Web Apollo Desktop Apollo DB backend, Sidebar, Grails, Multi- organism, WS 1.0 2.0 Projection2.1 2.2 Variant / phenotype annotation 2.3 Human Data / Client-side Optimization Collapse introns and space between features Bring scaffolds together View and link genes across scaffolds
  26. 26. • Berkeley Bioinformatics Open-source Projects (BBOP), Berkeley Lab: Apollo and Gene Ontology teams. Suzanna E. Lewis (PI). • § Christine G. Elsik (PI). University of Missouri. • * Ian Holmes (PI). University of California Berkeley. • Stephen Ficklin, GenSAS, Washington State University • Apollo is supported by NIH grants 5R01GM080203 from NIGMS, and 5R01HG004483 from NHGRI. Also supported by the Director, Office of Science, Office of Basic Energy Sciences, of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231 • Alex Wild at leaf cutter ant, ensign wasp; Leo Bukeboom: Nasonia vitripennis jewel wasp; Wikimedia Commons: Apis mellifera honey bee; Mike MacNeil USDA/ARS • Thanks to you and the Apollo / GMOD Communities Apollo Monica Munoz-Torres Nathan Dunn Colin Diesh § Deepak Unni § JBrowse Eric Yao *Gene Ontology Chris Mungall Seth Carbon Heiko Dietze BBOP Apollo: Questions? NAL at USDA Christopher Childers Monica Poelchau Mei-Ju Chen Yu-Yu “Fish” Lin Gary Moore United States Department of Agriculture National Institute of Food and Agriculture