JBrowse 1.14.0 release – iframe-less embedding, BigBed support

JBrowse 1.14.0 has been released!

This release includes two major improvements, the first being that it’s no longer strictly necessary to run JBrowse inside an <iframe> when embedding it in another site or webpage. Big thanks to Lacey Sanderson for championing this feature, and we look forward to working with the Tripal team toward a better JBrowse integration!

The second major improvement is in displaying data from BigBed files. Not only can JBrowse can now open BigBed files both locally, and over the web, but it now natively displays BED-type thick/thin features and feature blocks rather than converting them to GFF3-style feature hierarchies. This makes both BigBed and BED fast and responsive. The new BED glyph will also use each feature’s RGB color if it has one.

There are many more features coming that enhance JBrowse’s compatibility with UCSC-format data, stay tuned for future JBrowse releases!

As always, read on below the fold for the full release notes, including minor improvements and bugfixes.

Files for download

Major improvements

  • JBrowse now behaves much better when embedded in a webpage without using an iframe.
    See tests/drupal.htm in the JBrowse code for an example of this usage. Thanks to
    @laceysanderson for her patiently championing this feature all the way through the
    long road to completion! (issue #777, issue #844, @cmdcolin)
  • There is a new BigBed store type, for opening BigBed files. An example BigBed track configuration:
        storeClass = JBrowse/Store/SeqFeature/BigBed
        type = CanvasFeatures
        urlTemplate = gencode.bb
        style.label = gene_name,name,id
        style.description = gene_bio_type
  • JBrowse now has much better support for UCSC-style BED and BigBed features, via the new BED
    glyph type for CanvasFeatures. Rather than rendering a complex feature hierarchy like many
    of the other CanvasFeatures glyphs, the BED glyph draws sub-blocks with thick and thin regions,
    for compatibility with the UCSC browser. CanvasFeatures will automatically use the
    JBrowse/View/FeatureGlyph/UCSC/BED glyph type if a feature has no subfeatures, but has
    blockCount or thickStart attributes. This means that, in practice, a BigBed file will
    display very well with just the default configuration. Also for compatibility with the UCSC
    browser, JBrowse will set a BED feature’s background color if one is included in the
    feature data (turn this off by setting itemRgb = false).

Minor improvements

  • The current dataset name is now displayed in the top right portion of the menu bar.
    (issue #767, @rbuels)
  • prepare-refseqs.pl now accepts a --gff-sizes option to allow defining reference
    sequence sizes from the ##sequence-region directives in a GFF3 file. @rbuels
  • Some store types now support a topLevelFeatures configuration variable, which allows
    tracks to treat certain types of features as ‘top-level’, even the actual track data
    has them as children of other features. One common use case for this would be if
    you have gene models in a GFF3 structured as gene→mRNA→exon/CDS/UTR, but you want to
    display the “mRNA” features as top-level, i.e. ignore the gene container that they are in.
    Now you can set topLevelFeatures = mRNA in the track configuration, and the track will
    display only “mRNA” features on the top level, ignoring any other existing top-level features,
    and ignoring the containing “gene” features. This helps address what seems to be a common
    pain point of having to “filter” tabix-formatted GFF3 before using it with Apollo. One
    important caveat is that users that configure tracks to use an “out of band” source of
    feature density or coverage data, like a separate wiggle file that shows feature density,
    will have to make sure that the density data is correct for this filter setting if they
    use it. Thanks to @Yating-L, @nathandunn, and @cmdcolin for valuable discussions.
    Stores that support topLevelFeatures currently are: GFF3Tabix, GFF3, BED, BEDTabix,
    GTF, and REST (issue #974, issue #969, @rbuels)
  • JBrowse can now accept additional configuration from a data-config attribute on its
    container element. This is useful for embedding JBrowse in other sites, particularly
    in cases where the JBrowse assets and configuration are stored or referenced from a
    different location from the page displaying the embedded JBrowse. For example:

    <div class="jbrowse"
            data-config='"baseUrl": "../jbrowse"'
            style="height: 600px; width: 100%; padding: 0; border: 0;"

    would tell JBrowse to look for its configuration and assets at the relative base URL
    “../jbrowse”. @rbuels

  • JBrowse now has a favicon! (issue #973, @rbuels)
  • Added additional caching code to SequenceChunks and NCList stores, reducing duplicate
    network requests and increasing performance in some circumstances (issue #855, @cmdcolin)

Bug fixes

  • Fix a bug in which saving exported data to a file was nonfunctional for some export
    data types. @rbuels
  • Fix a bug in which subfeatures were not always fetched correctly when using the GFF3Tabix
    store (issue #780, @rbuels)
  • Fixed several bugs with specific cases of relative URLs used in configuration. @rbuels

About Robert Buels

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