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 /
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
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
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
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
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 http://www.alexanderwild.com/: 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.
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
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
Navigate	while	Viewing	Genome
• Allows	users	an	alternate	dimensions	to	navigate	and	edit	
• Well-established	paradigm	for	“editing”	in	applications
Resizable	/	Closeable
Shareable	Links
Search	Annotations	and	Discover	Details
Search
Navigation
View	/	Edit	Details
Explore	and	Export	Sequences
Search
Navigation
Add	and	Share	Organisms
Add	organisms	from	existing	JBrowse	directory
Specify	“Public”	organisms	
that	do	not	require	a	login
Manage	Who	Sees	What
Add	/	Search	Users	
Edit	User	Organism	
Permission
User	Can	“Admin”		
an	Organism
Work	with	Lots	of	Users	and	Organisms
Add	User	to	Groups	
with	Permissions
Set	Bulk	User	
Permissions	
using	Groups
How	to	get	Apollo	into	your	WorkFlow?
Reports
Data	
Input
Data	
Output
Analysis
Authentication
BLAT	
(built-in)
Remote	BLAST
Example	Workflow
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
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
• 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
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
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
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
• 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
Example	Integrations
Galaxy	
Docker
GFF3	output,	scriptsWeb	services
VectorBase	
iPlant		
Collaborative
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
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
• 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	http://www.alexanderwild.com/:	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:	http://GenomeArchitect.org	
https://github.org/GMOD/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

Apollo: Improving Collaborative Genome Curation