BCC2020 has ended
➞ Set your timezone before doing anything else on this site (home page, on the right)
Limit what is shown by Type, Category, or Hemisphere
Registration closed July 15.

BCC2020 is online, global, and affordable. The meeting and training are now done, and the CoFest is under way.

The 2020 Bioinformatics Community Conference brings together the Bioinformatics Open Source Conference (BOSC) and the Galaxy Community Conference into a single event featuring training, a meeting, and a CollaborationFest. Events run from July 17 through July 25, and is held in both the eastern and western hemispheres.

Back To Schedule
Monday, July 20 • 14:30 - 14:35
Introducing App Store for IGB, a site for sharing and installing extensions for Integrated Genome Browser from BioViz.org 🍐

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!


The presenter(s) will be available for live Q&A in this session (BCC West).

Ann Loraine 1, Riddhi Patil, Sameer Shanbhag, Noor Zahara, Sneha Ramesh Watharkar, Prinav Tambvekar, Kiran Korey, Nowlan Freese

1 UNC Charlotte, Charlotte NC. Email: aloraine@uncc.edu

Project Website(s): https://bioviz.org and https://apps.bioviz.org
Source Code: https://bitbucket.org/lorainelab/appstore 
License: Common Public License Version 1.0

Integrated Genome Browser (IGB, pronounced "ig-bee") is an open source desktop genome browser used by thousands of scientists worldwide to visually analyze genomic data sets. Since 2012, IGB has supported adding new functionality to IGB as pluggable IGB "Apps," implemented as OSGi bundles that IGB's internal OSGi framework dynamically loads or unloads on demand. This works because IGB is implemented as a collection of OSGi bundles running within an OSGi framework that manages bundle lifecycle and bundle interactions with each other. In addition, the framework enables individual bundles to provide services to each other. For example, to add a menu item and its associated functionality to IGB, an IGB App need only implement a "MenuProvider" service, as defined by an interface of the same name within the IGB code base. When a user installs the App, the framework notifies IGB's internal MenuProvider consumers, which update the user interface to show the newly added menu item. Thanks to this servicefocused architecture, developers can add new functionality without needing to know deep details of the IGB code base.

However, developers and users need a way to share their work and learn about available Apps for IGB. To meet this need, we created a new "App Store" Web site where developers can upload their Apps, create and share documentation, and release new versions to users (Figure 1). To implement the App Store for IGB, we forked the open source Cytoscape App Store code and added new features and improvements. (Cytoscape 3.0 is also an OSGi-based application.) Major changes to the code base included transforming App Store into an OSGi bundle repository as per the OSGi Repository 1.0 specification and enabling App Store to use Amazon Web Services resources for storage and deployment. To enable users to install and update Apps from App Web pages within App Store, we added an App Store-specific REST endpoint to IGB itself. Javascript code running within App Store Web pages uses the endpoint to find out if IGB is running, which version (if any) of the App is installed in IGB, and whether or not the installed version has a new version available in App Store.

Although IGB App Store is a fork of Cytoscape App Store, our changes are too extensive to permit a simple merge with into the upstream code base. Nonetheless, ideas implemented in the App Store for IGB can translate to other Java programs that use OSGi to implement plugable Apps, including Cytoscape.

avatar for Ann Loraine

Ann Loraine

Professor, UNC Charlotte
I develop Integrated Genome Browser that integrates with Galaxy using the external viewer API. I'm interested in building more connections between visualization tools like IGB and Galaxy using APIs.

Monday July 20, 2020 14:30 - 14:35 EDT