JBrowse 1.10.0: Combination tracks, better feature tracks, more glyphs, SPARQL support, and track pinning!

After a long, hard development push, JBrowse 1.10.0 is out today!  There are several major improvements in this release, and a huge number of smaller improvements and bugfixes.

Download links

  • JBrowse-1.10.0.zip – 5.2M – Includes everything you need to display your data on the web with JBrowse, optimized for fast loading speed.
    SHA1 file checksum: 8dddbcbc54d5be967b1d381cb6ad8ace671536e7
  • JBrowse-1.10.0-dev.zip – 26M – Primarily for developers. Includes additional developer documentation, developer test suites, and full copies of Dojo, Dijit, and DojoX.
    SHA1 file checksum: 8856e1301d90df93ba4a644bccc48c3b4d6dc07c

Major new features

  • Added powerful combination tracks, which can combine data from
    multiple other tracks using range, arithmetic, or masking
    operations. For example, a BigWig track can be masked to highlight
    only regions that lie within features from a BAM track. Or the
    intersection of two or more feature tracks can be calculated. To
    create a combination track, select “File->Add combination track”
    from the menu bar, and then add tracks to the new combination track
    by dragging them into it. A huge thanks to OICR co-op students
    Julien Smith-Roberge and Daniel Kasenberg for implementing this
    powerful feature. It’s a very significant accomplishment!
  • Added “normal”, “compact”, and “collapsed” feature layout options
    for canvas-based feature tracks (currently just Alignments2
    tracks). Thanks to OICR co-op student Daniel Kasenberg for
    implementing this!
  • Greatly improved the JBrowse/View/Track/CanvasFeatures track
    type, to the point where it is probably ready for experienced
    JBrowse users to use in earnest. It renders features using a
    modular glyph system that GBrowse users will find very familiar.
    To give it a try, simply change the type key in an existing track
    configuration to “JBrowse/View/Track/CanvasFeatures” and add a
    glyph key to set which glyph to use. Glyphs that are currently
    implemented are:

    • Box – draws a box, optionally with an arrow indicating strandedness.
    • Segments – draws a series of boxes connected with a line, for
      features with subparts.
    • ProcessedTranscript – draws CDS and UTR features, with UTRs a
      different color and thinner.
    • Gene – draws a group of aligned ProcessedTranscript glyphs for
      mRNAs that are subfeatures of a top-level gene feature.

    Each of these glyphs have been patterned as near-clones of the
    (very popular) analogous glyphs in GBrowse.

  • Added a SPARQL data backend to allow displaying features directly
    from a SPARQL endpoint. Many thanks to the NDBC/DBCLS BioHackathon
    2012 and 2013 participants for suggesting this and helping with
    this work! See http://www.biohackathon.org for more on this
    fantastic (and I think very important) series of hackathons.
  • There is a new “Highlight” button next to the “Go” button that lets
    a user quickly and easily highlight a region with the mouse.
  • Added the ability to “pin” some tracks to the top of the display,
  • so that they stay at the top of the pane while the rest of the
    tracks are scrolled vertically. Thanks to the WebApollo project
    for suggesting this.
  • Integrated a maker2jbrowse script into the core JBrowse
    distribution. You can now visualize your MAKER results in JBrowse
    with a single command:
    bin/maker2jbrowse -d /path/to/your/maker/master_datastore_index.log
    Thanks to the MAKER team and Yandell lab for providing the initial
    implementation of maker2jbrowse.

Minor improvements

  • Added support for an addFeatures variable in the query string of
    the URL used to start JBrowse. This variable accepts feature data
    in JSON format in the form:[{ "seq_id":"ctgA", "start": 123, "end": 456, "name": "MyBLASTHit"},...}]which, when URI-escaped and put in the query string, looks like:addFeatures=%5B%7B%20%22seq_id%22%3A%22ctgA%22%2C%20%22start%22%3A%20123%2C%20%22end%22%3A%20456%2C%20%22name%22%3A%20%22MyBLASTHit%22%7D%5DDevelopers integrating JBrowse into larger project may find this
    feature useful for displaying results from other
    non-JavaScript-based applications (such as legacy web BLAST tools)
    in JBrowse.Features added to JBrowse in this way are available in a special
    data store named url, which can be specified in a track
    configuration by adding "store":"url".
  • Added support for an addTracks variable in the query string of
    the URL used to start JBrowse. This variable accepts track
    configurations in JSON format in the form:[{"label":"mytrack","store":"url","type":"JBrowse/View/Track/HTMLFeatures"},...]which, when URI-escaped and put in the query string, looks like:addTracks=%5B%7B%22label%22%3A%22mytrack%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%7D%5D
  • Added “Save track data” option to Alignments2 tracks. This option
    should have been there all along, but somehow slipped through the
    cracks. Thanks to Valerie Wong for pointing this out at the 2013
    GMOD Summer School!
  • Statistics about a track’s features are now shown in its “About
    this track” dialog, if available.
  • Added support for a –reftypes argument to prepare-refseqs.pl,
    allowing you to search a database for reference sequences based on
    the type of the reference sequences, e.g. ‘chromosome’. Thanks to
    Gaelen Burke at the 2013 GMOD Summer School for pointing out the
    need for this, and for assistance in testing the new feature.
  • Added a --gbk option to flatfile-to-json.pl that accepts a
    GenBank-format text file as input for loading annotation data.
    Thanks to Justin Reese for the initial implementation of this.
  • When formatting features with flatfile-to-json.pl, multi-valued
    feature attributes are now only flattened (renamed foo, foo2, foo3,
    etc) for “name”, “id”, “start”, “end”, “score”, “strand”,
    “description”, and “note” attributes. Formerly, all attributes
    were flattened. This improves the default display of features that
    have many values for some attributes, such as Dbxrefs or GO terms.
  • Further improved scrolling smoothness of HTML-based feature tracks.
  • flatfile-to-json.pl now supports a --trackType option that can
    be used to set the JavaScript track class that will be used for the
    formatted data (e.g. “JBrowse/View/Track/CanvasFeatures” to use the
    new, improved HTML5 canvas-based feature tracks).
  • biodb-to-json.pl configuration files now support a trackType
    configuration key in each track configuration that can be used to
    set the JavaScript track class that will be used for the formatted
    data (e.g. “JBrowse/View/Track/CanvasFeatures” to use the new,
    improved HTML5 canvas-based feature tracks).
  • prepare-refseqs.pl can now format reference sequences from a
    common .sizes (aka .len) file that is just a two-column
    tab-separated list of reference sequence names and their lengths,
    run like:
    bin/prepare-refseqs.pl –sizes myrefs.sizes
  • prepare-refseqs.pl can now format reference sequences from a
    gzipped GFF3 if the file’s name ends with the suffix “.gz”.
  • Added a ‘–noSubfeatures’ option for flatfile-to-json.pl to skip
    importing subfeatures (since --getSubfeatures is on by default
    for some time).
  • The style.label configuration variable in HTMLFeatures (and
    CanvasFeatures) tracks can now accept a comma-separated string of
    field names in addition to a function callback. Defaults to
  • The “Save track data” (data exporting) menu now has “Highlighted
    region” as one of the choices of which range to export, if there is
    something highlighted.
  • The “JBrowse” link on the left side of the menu bar, and the
    browser title, now display the “About this browser” title instead
    of JBrowse, if aboutThisBrowser is set in the configuration.
    Thanks to Joanna Kelley at the 2013 GMOD Summer School for
    suggesting this.
  • Tweaked styling of inactive track handles in the default Simple
    track selector to make them look less like pressable buttons.
    Thanks to Pedro Pagan at the 2013 GMOD Summer School for pointing
    out the need for this, and helping to brainstorm how the new styles
    should look.
  • Horizontal mouse-wheel (or trackpad) events can now scroll the
    genome view horizontally. Thanks to Mara Kim for help testing this
    at the 2013 GMOD Summer School.
  • The “content” of configurable information popups (such as can be
    shown when clicking on features) can now accept a dojo/Deferred or
    other promise object that will provide the content to be shown
  • Added a JBrowse/Store/SeqFeature/FromConfig feature store adapter
    that can display feature data that is specified directly in
    configuration. This is mostly used to implement the support for
    addFeatures in the JBrowse URL, but some administrators and
    developers may find it conventient as well to define feature data
    directly in the JBrowse configuration.
  • Added a track.maxFeatureSizeForUnderlyingRefSeq configuration
    variable, defaulting to 250 Kbp, that sets the maximum length of a
    feature for which the default feature detail popup will attempt to
    display the underlying reference sequence. Thanks to Colin
    Davenport for pointing out the need for this (issue #291).
  • Added the ability to specify the file name when exporting track
    data to a file. Thanks to Daniel Kasenberg for implementing this.
  • Added a track.noExportFiles configuration variable that, if set
    to true, disables exporting files from the “Save” menu of tracks.

Bug fixes

  • Fixed a bug that prevented clicking on features in Alignments2 (and
    other canvas feature tracks) in Internet Explorer.
  • Fixed a bad design decision with respect to track metadata stores.
    Before, a given metadata key (“Category”, “Conditions”, etc) was
    allowed to only be present in one source of track metadata (CSV
    file, configuration file, etc). The original thinking behind this
    was that it would be better for people to be forced to keep each
    kind of metadata in only one place. This was silly thinking.
    Thanks to the 2013 GMOD Summer School participants for helping me
    to see the error of my ways.
  • Fixed a bug in which turning off the HTMLFeatures track’s “Show
    Labels” did not remove labels for features with descriptions.
  • Fixed a bug with prepare-refseqs.pl in which, when multiple
    definitions of a reference sequence are found (as in a GFF3 file
    with both ##sequence-region directives and a FASTA section), the
    seqChunkSize value is not recorded in refSeqs.json and the sequence
    bases cannot be displayed in the “Reference sequence” track.
  • Fixed a synchronization bug in NCList-based feature data stores
    that causes some features to be missing when displaying with a
    CanvasFeatures track. This bug may also have affected ‘Save track
    data’ (data export) in some situations.
  • Fixed a bug with GFF3 export in which the phase(!) column was
    missing. Thanks to Michael Campbell at the 2013 GMOD Summer School
    for helping track this down!
  • Fixed another bug with GFF3 export in which an extra comma would
    sometimes be added at the beginning of GFF3 lines for some child
  • Fixed a bug in which the global highlighted region was not correctly drawn
    when switching reference sequences.
  • Fixed a minor bug in which the REST store backend did not coerce
    start, end, strand, and score to be numeric if the input JSON had
    them as strings.

About Robert Buels

JBrowse Lead Developer
This entry was posted in Software releases. Bookmark the permalink.