AmiGO 2

From GO Wiki
(Redirected from AmiGO 2: Development)
Jump to: navigation, search

Status

Currently in production.

Introduction

AmiGO 2 is a project to create the next generation of AmiGO--the current official web-based set of tools for searching and browsing the Gene Ontology database.

For an overview of features, please see the overview documentation.

For installation information, please see the installation documentation.

AmiGO 2

While we sometimes talk about AmiGO 2 as a unified project, its component parts are currently broken into three groups in two different repositories: GOlr (backend and loading) and the perl and JavaScript portions of the frontend.

GOlr: The Backend

The most fundamental change from the old AmiGO is the backend containing the Gene Ontology data--the MySQL relational database, has been replaced and is now loaded directly into a Solr document store, dubbed GOlr.

This new backend not only provides the engine for running AmiGO, but can be used by anybody as a web service by itself. More information is available on the GOlr page.

The Perl and JavaScript Frontend

The AmiGO 2 frontend is the user layer over the GOlr backend. Some components of AmiGO 2 use perl libraries to communicate with the GOlr backend (and other remote sources), process the results, and display them to the user. Other components (JavaScript APIs) communicate directly with the GOlr backend.

JavaScript API

The beta public JavaScript APIs will eventually be available at http://api.berkeleybop.org. While a permanent home for the JSAPI is being considered as we move into beta, preview documentation is available at http://api.berkeleybop.org/amigo2/docs/ .

Development

The current version is 'trunk'. It is in active development.

The backend GOlr loading code is available on Google Code, please see the GOlr page for more details.

The frontend code is broken between AmiGO 2-specific code repo and a more generic JavaScript/JavaScript API code repo, both are hosted on GitHub. The former can be found here and the latter here.

More detailed instructions on installation are pending, but the front page both both repositories are a great place to start.

List

There is mailing list for AmiGO 2 development here.

Compatibility

Backend

The backend is developed in Ubuntu 12.04 and 12.10. It has also been run successfully on Mac OSX 10.7. Given these two, it is expected to run on any fairly well-behaved modern *nix platform.

Frontend

AmiGO 2 should be compatible with most modern operating system/browser combinations with good JavaScript and CSS support. However, at this time, extensive testing has not been done. AmiGO 2 is mostly developed with Firefox, Chrome, and Opera on several versions of GNU/Linux.

Repositories and Trackers

The repositories and trackers for the elements that compose AmiGO 2 are:

  • Backend
    • GOlr - Solr schema and definitions for GO (in the AmiGO 2 repository)
    • OWLTools - preferred loader
  • Frontend
    • BBOP JS - general JS code
    • AmiGO 2 - JavaScript/Perl code and web server deployment; GO specific BBOP JS code

Timeline

tag release highlight features feature notes comments
beta0 2013-04-12
  • Initial possible feature set
  • First external-usable A2 release
beta1 2013-07-15
  • Search
  • Grebe
  • Details pages
  • GOOSE
  • Axis/matrix facet comparison
  • Integrated control and load balancing
  • Simplified build and installation
  • Reduced and debugged feature set (core)
  • Freeze
  • First "public" release--advertised from A1
beta2 2013-10-1
  • Redone UI (Bootstrap 3)
  • Fold in public beta feedback
  • Release may be faster if UI redo goes well
  • Transfer beta production to production?
  • Production API deployment?
  • "Clean" URLs
  • Consider RCs
  • Short training videos?
  • (TBD) Another round of decrufting?
2.0 2014-03-12
  • Initial stable release
2.1 2014-05
  • Term enrichment (via PANTHER/RTE) added
  • Consistent flexible downloads on all search panes
  • Added more options in results when searching for IDs through medial search
  • Added more options to "related" downloads and pages on term and gene product details pages (including annotation downloads)
  • Fixed header and field descriptions
  • More components have been converted to Bootstrap 3 (better look and feel)
  • Many smaller post-release fixes and adjustments
  • Some features re-added
  • Axis pulled back to labs
  • Initial round of comments
2.2 2015-03
  • Public bookmarking API
  • New deployment system (simplified Apache and embedded server)
  • Expanded unit testing into UI and data
  • Progress towards BS3 completion
  • Now back to PANTHER term enrichment
  • Numerous outstanding data, error, and external resource upgrades/fixes (blocked from 2.1 by deployment change)
  • Permanent seamless GOlr URL
2.3 2015-09
  • Removal of internal TE facilities
  • Numerous small usability and bug fixes
  • New configuration system (JS-based single source and owltools lock-in)
  • Unit tests are now properly integrated.
  • A small release around bug/usability fixes and new configuration/loading management.
  • Improved Jenkins dev workflow.
2.4 2016-08
  • Drill-down ontology/annotation browser
  • Matrix tool
  • PMID search and intermediary pages
  • Gannet (Solr search environment)
  • Much improved statistics and graphics
  • Use of taxon and evidence subsets in filters
  • Numerous small usability and bug fixes
  • Tons of minor features
  • External Galaxy capabilities have been revived
  • Ready to deal with Noctua models
  • Better site separation
  • RESTy API services
  • OWLTools version lock
  • gulpfile.js based installation
  • JS widget library spinouts
  • More items converted over to BS3, but some jQuery UI components remain.
  • Download size can be increased, and there are now separated used variables for a download server--they just have to be created, etc.
  • Experiments with geospatial filtering
2.5 2016-Q?
  • (TBD) Search improvements using Solr 6.x
  • Bulk search?
  • (TBD) OWLTools load speed-up -> IEA load?
  • Numerous small usability and bug fixes
  • TBD
  • TBD

Future Feature Pool

  • (Noctua) model integration
  • IEAs
  • Search improvements (backend)
  • Bulk Search and download tools
  • Finish conversion to new look and feel (Bootstrap)
  • Browse
  • Browse (cytoscape/large)
  • REPL
  • GO Galaxy integration
  • Gannet
  • GOlr extensions
    • New fields
    • New search personalities (evidence aggregation, etc.)
  • Phylotree integration
  • Matrix tools

Presentations

The AmiGO 2 presentation given at the BOSC 2012 is available at the Berkeley BOP site.