JBrowse 1.4.0 released, includes faceted track selection!

JBrowse 1.4.0 has been released!  There are two headline features in this release: a new, extremely powerful faceted track selector that makes it easy for users to search through hundreds or thousands of tracks based on their metadata, and much better support for large numbers of reference sequences, enabled by retiring the old reference sequence dropdown selector in favor of adding a new find-as-you-type feature to the location box.

A demonstration of the faceted track selector can be seen here.  This contains a snapshot of the modENCODE track metadata taken from http://data.modencode.org.  Note that the track data and reference sequences in this track selection demo are not real: the reference sequences and wiggle data are all just copies of the volvox wiggle test track from the JBrowse test suite.

As is becoming the norm, this release comes in two flavors: the “minimal” release (JBrowse-1.4.0-min.zip – 2.6M) that includes only the software and documentation necessary to format your own data and run the browser, and the “full” release (JBrowse-1.4.0-full.zip – 5.5M) that includes the developers’ test suite, more sample data files, and developer documentation.

There have been lots of improvements over the 1.3 series:

  • Added a full-featured faceted track selector for users that have
    many (hundreds or thousands) of tracks. This can be turned on by
    setting the trackSelectorType config variable to “Faceted”. See
    the JBrowse wiki for more documentation on how to use faceted track
    selection. (issue #95)
  • Removed the dropdown selector for reference sequences in favor of
    making the location box auto-complete reference sequence and
    feature names. This makes JBrowse much more scalable to large
    numbers of reference sequences. (fixes issues #3, #60, and #101)
  • Added a vertical-scrolling marker on the right side of the track
    pane, making it much easier to discern the vertical position of the
    track display. (issue #93).
  • biodb-to-json.pl and flatfile-to-json.pl now load all available
    feature data: all attributes of features are now encoded in the
    JSON and are available for use by feature callbacks. (issue #72)
  • Feature labels now do not scroll off screen if any part of the
    feature is still visible (fixes issue #62).
  • Added jbrowse_conf.json, a default JSON-format configuration file,
    to the JBrowse root directory. Makes it easier to get started
    with more advanced JBrowse configuration.
  • JBrowse instances now report anonymous usage statistics to the JBrowse developers. This data is very important to the JBrowse project,
    since it is used to make the case to grant agencies for continuing
    to fund JBrowse development. No research data is transmitted, the
    data collected is limited to standard Google Analytics, along with
    a count of how many tracks the JBrowse instance has, how many
    reference sequences are present, their average length, and what
    types of tracks (wiggle, feature, etc) are present. Users can
    disable usage statistics by setting “suppressUsageStatistics: true”
    in the JBrowse configuration.
Posted in Software releases | 1 Comment

Poliovirus / XRate demo by Oscar Westesson

Oscar Westesson has contributed a nice demonstration of using JBrowse 1.2.1 to display and compare performance of four different XRate grammars on the poliovirus genome.

View demo
Download .zip (35M)

Thanks Oscar!

Posted in News, Sites using JBrowse | Leave a comment

JBrowse 1.3.1 released

JBrowse 1.3.1 has been released, this is a minor release with fixes for some bugs found in 1.3.0.

JBrowse-1.3.1-min.zip – 2.0MB
Includes all that is needed for running JBrowse and formatting your own data.
JBrowse-1.3.1-full.zip – 4.7MB
Includes developer API documentation, developer test suites, additional sample data

Changes in this release

* Fixed memory-management bug that caused way too much RAM to be used
by FeatureTrack loading (flatfile, bam, and biodb-to-json.pl) when
loading with very large numbers of reference sequences. Big thanks
to Tristan Lubinski for help in isolating this.

* Fixed some bugs in BAM support section of setup.sh autosetup
script, thanks to Tristan Lubinski for help in isolating this as

* Added an example document with an iframe running JBrowse in
embedded mode in docs/examples/embedded_mode.html

* flatfile-to-json.pl now loads the ‘score’ attribute of features in the

Posted in Software releases | Leave a comment

JBrowse 1.3.0, a major release!

JBrowse version 1.3.0 has arrived!

We have a long list of improvements in this release, some of which have been a long time coming.  It’s full speed ahead from here: more major new features are just around the corner!

This release comes in two flavors: the “minimal” release (JBrowse-1.3.0-min.zip – 2.0M) that includes only the software and documentation necessary to format your own data and run the browser, and the “full” release (JBrowse-1.3.0-full.zip – 4.7M) that includes the developers’ test suite, more sample data files, and developer documentation.

One important note about browser support: as of this 1.3.0 release, JBrowse no longer supports Microsoft Internet Explorer 6.

And now, the Big List of New Features!

  • Added support for “rubberband” dynamic zooming, in which users can
    click and drag to select a region to zoom to. Dragging on any
    scale bar, or shift-dragging on the main track pane, triggers a
    dynamic zoom.
  • Correcting a long-standing oversight, wiggle data tracks and
    feature histograms now have numerical y-axis scales that show the
    numerical values of the data.
  • Server-side data-formatting scripts now support a –compress option
    to compress (gzip) feature and sequence data to conserve server
    disk space. Using this option requires some web server
    configuration. Under Apache, AllowOverride FileInfo (or
    AllowOverride All) must be set for the JBrowse data directories in
    order to use the included .htaccess files, and mod_headers and
    mod_setenvif must be installed and enabled. Under nginx a
    configuration snippet like the following should be included in the

          location ~* "\.(json|txt)z$" {
                   add_header Content-Encoding  gzip;
                   gzip off;
                   types { application/json jsonz; }
  • flatfile-to-json.pl: now much faster and more memory-efficient,
    especially for GFF3 files. Remember that ‘###’ directives are very
    important to have in large GFF3 files! Also removed nonfunctional
    –extraData switch.
  • Added ability to turn off some JBrowse UI panels via URL arguments
    to the default index.html, or via arguments to the Browser
    constructor itself. Can dynamically turn off the navigation box,
    the overview panel, and the track list, respectively. When all of
    these are off, and if run in an iframe, JBrowse is running in an
    “embedded mode” that looks similar to the output of GBrowse’s
    gbrowse_img script, with the exception that the view in this case
    is a fully functioning, scrollable and zoomable JBrowse. See the
    GMOD wiki (http://gmod.org/wiki/JBrowse) for more on how to set up
    embedded mode. Thanks to Julie Moon, a co-op student working at
    OICR, for this work!
  • Improved graphical look and feel.
  • Browser support for this release:
    Google Chrome 18 perfect
    Google Chrome 17 perfect
    Mozilla Firefox 11.0 perfect
    Mozilla Firefox 10.1 perfect
    Mozilla Firefox 10.0.2 perfect
    Mozilla Firefox 3.6.28 nonfunctional
    Apple Safari 5.1.5 (Lion) perfect
    Microsoft Internet Explorer 9 good
    Microsoft Internet Explorer 8 good
    Microsoft Internet Explorer 7 minor problems
    Microsoft Internet Explorer 6 not tested
    KDE Konqueror 4.7.4 nonfunctional
    KDE Konqueror 4.5.5 nonfunctional
    Opera (all versions) not tested
  • Added an automated-setup script, setup.sh, that tries to install
    Perl prerequisites, format Volvox example data, and install Wiggle
    and BAM support (fetching samtools from SVN if necessary)
  • Navigating to JBrowse with missing or malformed configuration or
    data will now bring up an error page with useful messages and links
    to help documentation, instead of a blank white page.
  • JBrowse data directories now include an Apache .htaccess in their
    root directory that, if mod_headers is installed and AllowOverride
    FileInfo or AllowOverride All is enabled, will emit the proper HTTP
    headers to allow cross-origin XHR requests for the data.
  • A new “Help” link in the upper right, or pressing “?” on the
    keyboard, brings up a “JBrowse Help” dialog box with basic usage
    information and links to more help information.
  • Arrowheads indicating strandedness are now drawn inside feature
  • Clicking on the overview bar or the main scale bar now centers the
    view at the clicked position. In addition, while holding down
    shift, clicking in the main track panel will also center the view
    at that position.
  • Added bin/remove-track.pl, a script to remove a track from a
    JBrowse data directory. Run bin/remove-track.pl -? to see its
  • Added build instrumentation to support a JSDoc-based system of
    developer API documentation. This documentation is still far from
  • Ian Davis contributed code to add a view of the reverse strand of
    the sequence in the DNA track. Thanks Ian!
  • Fixed bug in which, for some sequence chunk sizes, the DNA bases
    would display incorrectly.
  • Added minor gridlines to the main track view.
  • Fixed a long-standing off-by-one bug where the window could not be
    scrolled to view the last base in the reference sequence.
  • Coordinates displayed in the user interface are now 1-based closed
    coordinates, which are more familiar to most users. Previously,
    the labels displayed interbase (i.e. 0-based half-open)
  • NON-BACKWARDS-COMPATIBLE improvements to the JSON format used for
    track configuration, feature data, and image data
    – initial support for a new hook system for greater
    administrator-configurability of feature display
    – support for more than one level of subfeatures
  • Miscellaneous improvements and refactoring of data-formatting Perl
  • More detailed POD-based help documentation on all scripts
  • –tracklabel options to all scripts replaced with –trackLabel.
  • New suite of integration tests, and some unit tests, for
    server-side Perl code.
  • Beginnings of a suite of Selenium-based integration tests for the
    front-end JavaScript code.
  • Support for Apple touch-based devices merged into normal
    index.html, so that the same link can be used regardless of the
    browsing platform.
  • Bug fixed in which non-stranded features do not display properly
    (a problem with the CSS styles).
Posted in Software releases | Leave a comment

JBrowse 1.2.2 released

This is a minor bugfix release, containing fixes for display of unstranded features and a correction to the tutorial HTML file that incorrectly suggested using flatfile-to-json.pl to format feature data from a BAM file.

JBrowse 1.2.2 can be downloaded from http://jbrowse.org/releases/jbrowse-1.2.2.zip

Posted in Software releases | Leave a comment

hg19 tarball updated to JBrowse 1.2.1

A new tar.gz file is available, containing a copy of JBrowse 1.2.1  with Human hg19 data.  Being based on a more recent version of JBrowse, it should work much better than the previous hg19 tarball releases.  Enjoy!

The new file is here: http://jbrowse.org/releases/jbrowse-1.2.1-hg19mini.tar.gz

Posted in Data releases, News | Leave a comment

JBrowse in Google Summer of Code 2012

Great news!  JBrowse has been accepted to Google Summer of Code 2012 under the Genome Informatics umbrella organization.  Many thanks to Reactome’s Robin Haw for shepherding the Genome Informatics organization through the application process!

Are you a college undergraduate interested in working on JBrowse this summer?  You should consider applying to Google Summer of Code to fund you for the summer!  The student application deadline is April 6, 2012.

Relevant links

Posted in Development | Leave a comment

New JBrowse Lead Developer

We’re excited to report that Robert Buels has joined the JBrowse team as lead developer, effective January 10, 2012. He succeeds Mitch Skinner, who created JBrowse in its modern form and more recently been working with the JBrowse “sister project”, WebApollo.

Rob has been active in open-source bioinformatics for many years, contributing to a long list of projects such as GBrowse, BioPerl, Chado, Bio::Chado::Schema, Catalyst, and DBIx::Class. Before joining JBrowse, Rob was employed as Engineering Lead at the Sol Genomics Network, a clade-oriented database for plants centered on the Solanaceae family.

As JBrowse lead developer, Rob is responsible for the project’s technical strategy, architecture, planning, and coordination, as well as a large part of the implementation. In the coming months, he intends to focus on helping JBrowse mature as a project: solidifying its development infrastructure and incorporating new features and contributions from developers around the world.

Posted in Development, News | Leave a comment

“DNA sequencing on your iPhone? There’s an app for that”

Courtesy of Dave Clements: JBrowse appears (and gets a laugh, for some reason) at 8:41 in this TED talk (“Welcome to the genomic revolution” by Richard Resnick).

In other news, we are happy to report that JBrowse has had its R01 funding support from NHGRI renewed for three years. This enables a whole lot of exciting stuff. We will post further developments here in the coming weeks.

Posted in News | Leave a comment

JBrowse conference call

The first JBrowse developers’ conference call will be held on Monday Sept 19 at 2pm Pacific time. We intend for this to be a monthly event. Call details are below; we hope you will join in.

The main agenda topics for this first call will be:

  1. Introductions; quick survey of projects built on, or with, JBrowse
  2. JBrowse funding situation
  3. JBrowse software developments
  4. JBrowse and Web-Apollo
  5. Any other business

Please email Ian if there is anything you’d like to have on the agenda.

Call details:

  • Dial Toll-Free Number: 866-740-1260 (U.S. & Canada)
  • Enter access code 4867508#
Posted in News | Leave a comment