Skip to main content

ยท 2 min read

Hello all,

This release refactored a number of things with the synteny view that should improve performance. This refactoring also enabled self-vs-self alignments to be rendered by the linear synteny view which previously was not supported.

We also fixed the desktop app not being able to auto-update in v2.2.2-v2.3.2. If you are on one of these versions for JBrowse Desktop, please manually download this release to get back into the auto-update stream :)

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.3.3 (2023-01-11)โ€‹

Packages in this release

PackageDownload
@jbrowse/corehttps://www.npmjs.com/package/@jbrowse/core
@jbrowse/text-indexing
@jbrowse/plugin-alignmentshttps://www.npmjs.com/package/@jbrowse/plugin-alignments
@jbrowse/plugin-arc
@jbrowse/plugin-authenticationhttps://www.npmjs.com/package/@jbrowse/plugin-authentication
@jbrowse/plugin-bedhttps://www.npmjs.com/package/@jbrowse/plugin-bed
@jbrowse/plugin-comparative-adapters
@jbrowse/plugin-confighttps://www.npmjs.com/package/@jbrowse/plugin-config
@jbrowse/plugin-data-managementhttps://www.npmjs.com/package/@jbrowse/plugin-data-management
@jbrowse/plugin-dotplot-view
@jbrowse/plugin-gccontenthttps://www.npmjs.com/package/@jbrowse/plugin-gccontent
@jbrowse/plugin-gff3https://www.npmjs.com/package/@jbrowse/plugin-gff3
@jbrowse/plugin-grid-bookmarkhttps://www.npmjs.com/package/@jbrowse/plugin-grid-bookmark
@jbrowse/plugin-gtfhttps://www.npmjs.com/package/@jbrowse/plugin-gtf
@jbrowse/plugin-hic
@jbrowse/plugin-jobs-management
@jbrowse/plugin-legacy-jbrowsehttps://www.npmjs.com/package/@jbrowse/plugin-legacy-jbrowse
@jbrowse/plugin-linear-comparative-view
@jbrowse/plugin-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/plugin-linear-genome-view
@jbrowse/plugin-lollipop
@jbrowse/plugin-menus
@jbrowse/plugin-rdf
@jbrowse/plugin-sequencehttps://www.npmjs.com/package/@jbrowse/plugin-sequence
@jbrowse/plugin-spreadsheet-view
@jbrowse/plugin-text-indexing
@jbrowse/plugin-variantshttps://www.npmjs.com/package/@jbrowse/plugin-variants
@jbrowse/plugin-wigglehttps://www.npmjs.com/package/@jbrowse/plugin-wiggle
@jbrowse/clihttps://www.npmjs.com/package/@jbrowse/cli
@jbrowse/desktop
@jbrowse/imghttps://www.npmjs.com/package/@jbrowse/img
@jbrowse/react-circular-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-circular-genome-view
@jbrowse/react-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-linear-genome-view
@jbrowse/web

๐Ÿš€ Enhancementโ€‹

  • core
    • #3440 "Show all regions" for dotplot and synteny views and refactor synteny rendering RPC to optimize scrolling (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3451 Fix auto-updates on desktop not working since v2.2.2 (@cmdcolin)
  • core
    • #3428 Add missing dependencies to embedded component package.json's (@cmdcolin)

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

Committers: 1โ€‹

ยท 5 min read

2022 was a big year for JBrowse 2!

We started the year with v1.5.5 and ended with v2.3.2. Some big things happened in between!

Let's check some new features out.

New pre-printsโ€‹

In 2022, we published preprints for our main JBrowse 2 paper https://www.biorxiv.org/content/10.1101/2022.07.28.501447v1 and JBrowse Jupyter https://www.biorxiv.org/content/10.1101/2022.05.11.491552v1.

URL query parameter APIโ€‹

We added the ability to control JBrowse 2 using URL parameters in v1.6.4

This allows users to write URLs such as

http://yoursite/jbrowse/?loc=chr1:1,000,000-2,000,000&assembly=hg19&tracks=genes

This improves the ability to link to direct locations of interest from gene pages for example. See https://jbrowse.org/jb2/docs/urlparams/ for more info.

In v2.2.1, we added the ability to view "SyntenyTracks" as a regular linear genome view track. These tracks let you right click a feature and select "Open synteny view at this position" and it will show you e.g. the matching region on another assembly.

Base pair exact rendering of syntenyโ€‹

A long standing goal has been to render "base pair exact synteny" when the information is available e.g. as CIGAR strings.

This allows us to see that a "deletion relative to one genome" is an "insertion relative to the other".

The 'curvy' synteny line rendering mode was also added.

Floating labels adding to gene glyphsโ€‹

In earlier versions, the label for a feature would not be visible if you were zoomed e.g. into the middle of the gene. In v1.7.0 we adding "floating labels" so that the feature label was always visible as you scroll.

Improved SVG export using canvas2svgโ€‹

We switched to a battle tested canvas2svg library in v1.7.9 for exporting SVGs which improved exporting our 'sashimi-style' arcs on RNA-seq.

Feature detail panel customizationโ€‹

In v1.7.10, we added the ability to customize the feature details panel with custom links. This is very useful to add links to external resources or gene pages for different features.

See https://jbrowse.org/jb2/docs/config_guides/customizing_feature_details/ for more info

Upgrading to webpack 5 and reducing bundle sizes, and MUI v5 upgradeโ€‹

In v1.7.0, we upgraded to webpack 5 which improved our bundle sizes, which makes the app load faster and feel more lightweight. In fact, over the lifetime of jbrowse 2, we have decreased our bundle size, and the initial load of v2.3.2 is actually 2.5x smaller than v1.0.0!

We also upgraded to MUI v5, which kept us on track with the latest and greatest from MUI, who continues to improve their UI widgets like the data grid.

Improved performance of the alignments tracksโ€‹

We worked to improve alignments track performance throughout the year on a number of fronts. We greatly improved performance of the alignments track when web workers were used by avoiding serialization of all BAM/CRAM data (see https://jbrowse.org/jb2/blog/2022/04/26/v1.7.5-release/) and also did low level optimizations in our @gmod/bam and @gmod/cram libraries. There is still more to do, but we hope this improves user experience looking at large data files!

Figure showing BAM/CRAM performance on long and short reads of different coverages in JBrowse 2 versions over 2022. Figure generated by https://github.com/cmdcolin/jb2profile

(note: we also added web worker support to our embedded linear-genome-view, developers can manually opt-in to this with web worker RPC https://jbrowse.org/storybook/lgv/main/?path=/story/using-webworker-rpc--page)

More plugins for the plugin store!โ€‹

We have continued see new plugins in the plugin ecosystem, including:

  • MultiLevelLinearView - a plugin that synchronizes multiple linear genome views at multiple zoom levels, by @carolinebridge-oicr

  • Reactome - showing pathways using Reactome's pathway viewer, by @carolinebridge-oicr

  • RefGet API for fetching sequence info from external contributor Emilio Righi, who has also contributed in making Vue adapters for our React code

See more here, as well as screenshots below: https://jbrowse.org/jb2/plugin_store/

Video of the MultiLevelLinearView

Screenshot of the Reactome plugin, showing the pathway viewer

Multi-wiggle tracksโ€‹

We added the ability to have "multi-wiggle" tracks in v2.1.0, which let's you see multiple quantitative signals on the same Y-scalebar easily.

"Overlaid" multi-wiggle track

"Multi-row" multi-wiggle track

Arc and "read cloud" rendering of paired-end and split long readsโ€‹

In v2.3.1, we introduced the ability to render the connection between paired-end and split-long reads using arcs! This style of view is similar to what we offered in the "breakpoint split view" but is more easily accessible being simply a linear genome view track rather than a custom view type!

We also created the "read cloud view" which stratifies the reads according to "insert size". Each of these features is similar to ones available in JBrowse 1, but has the added ability in JBrowse 2 to be able to connect across discontinuous regions (xref https://jbrowse.org/docs/paired_reads.html for JBrowse 1).

The features will color themselves according to read orientation (e.g. blue, teal, and green indicate various types of inversions or duplications) as well as insert size (pink is dynamically added if the insert size is statistically too small, which read is added if the insert size is statistically too large, each using +/- 3sd as a measure).

Looking forwardโ€‹

In 2023, we will start to see beta versions of the new Apollo rewrite with JBrowse 2 integration. A new single cell data viewer plugin is also in the works. Adding systems for multi-way synteny, exporting data, and faceted track selectors are also underway. Also, feel free to let us know what features you want to see!

Many of our team members will be at the Plant and Animal Genome conference 2023, so we look forward to seeing you there!

  • Colin Diesh (@cmdcolin)
  • Garrett Stevens (@garrettjstevens)
  • Scott Cain (@scottcain)
  • Caroline Bridge (@carolinebridge-oicr)
  • Robert Buels (@rbuels)
  • Teresa De Jesus Martinez (@teresam856)

ยท 2 min read

This release contains important fixes for drawing base-level synteny based on CIGAR strings, especially in inverted regions. We also fixed refName renaming (e.g. your BAM file has 'chr1' but the FASTA has '1') on the new arc display (see v2.3.1).

Additionally, it offers the ability to reverse/complement the sequence in the "Get sequence" dialog.

Screenshot showing how insertions from relative to one assembly exactly match up at a "deletion" relative to another, using the LGV synteny display and curved arcs. Previous versions had bugs but will now match exactly.

Screenshot showing the reverse and complement checkboxes in the Get sequence dialog

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.3.2 (2022-12-20)โ€‹

Packages in this release

๐Ÿš€ Enhancementโ€‹

  • core
    • #3422 Auto-adjust height of reference sequence track to current settings (@cmdcolin)
  • Other
    • #3421 Add ability to revcomp sequence in the "Get sequence" dialog (@cmdcolin)
    • #3413 Add a "base" set of tracks and assemblies for the embedded demos (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • #3419 Fix rendering base-level alignments on synteny visualizations, especially in inverted regions (@cmdcolin)
  • #3416 Fix rendering alignment arcs on files that need refname renaming and add jitter setting (@cmdcolin)
  • #3415 Fix circular view being rendered as a blank area if tab is opened in the background (@cmdcolin)

Committers: 1โ€‹

ยท 4 min read

Hello all! This release adds some great new features!

  • New "arc" and "read cloud" alignments track modes which render long range connections between read pairs/split reads. These views have a big impact on being able to visualize structural variants.

  • We now automatically optimize the "prefix size" for our trix indexes created by jbrowse text-index which should help solve issues with slow text searching.

  • We now refer to many pluggable elements by a "display name" instead of the coded class name so we have instead of "LinearGCContentDisplay" -> "GC content display".

New alignments track displaysโ€‹

We created a new display mode that changes the "pileup" of reads into "arcs" which connects both paired-end reads and split-long read alignments.

New track menu showing the ability to replace the "lower panel" with arc display or read cloud display

The arc view and read cloud view rendering across discontinuous displayedRegions

A zoomed in view of long-reads (top) and paired-end reads (bottom) at the breakpoint of a large deletion

Easily toggleable "compact" view of alignmentsโ€‹

We now have an easily toggleable compact setting on alignments tracks (previously had to manually change feature height)

Optimized prefix size for text search indexingโ€‹

Previously, if indexing long gene IDs with jbrowse text-index it would often be slow because the "trix" format is generally optimized for short gene symbols. We added the --prefixSize parameter in previous jbrowse versions to allow optimizing for specific gene ID lengths, but this was sort of a magic number. Now, jbrowse text-index will automatically calculate the --prefixSize if none is provided, which tries to get an even ~64kb bin size. Let us know how it goes for your data!

Re-install the CLI tools with e.g. npm install -g @jbrowse/cli to get the latest version with this feature.

Moved "Track Hub Registry" plugin to plugin storeโ€‹

We removed the "Track Hub Registry" plugin, which was previously a "core plugin", to the plugin store. This will allow us to update the plugin over time and respond better to issues when they change their remote API.

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

Packages in this release

๐Ÿš€ Enhancementโ€‹

  • Other
    • #3403 Reduce overplotting on dotplot grid lines and other misc improvements (@cmdcolin)
    • #3381 Add method for cache busting requests to the config file in jbrowse-web (@cmdcolin)
    • #3384 Add method to more easily create compact view of alignments (@cmdcolin)
  • core
    • #3391 Allow arc display to connect to "unpaired" positions using RNEXT/PNEXT or SA tag (@cmdcolin)
    • #3387 Small UI tweaks for add track workflow (@cmdcolin)
    • #3358 Create new "arc" display type to show long range connections between paired-end and split-reads (@cmdcolin)
  • text-indexing
    • #3385 Optimize prefix size for text indexing automatically (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3407 Remove trackhub registry plugin from core plugins, moved to plugin store (@cmdcolin)
    • #3406 Fix loading connection tracks from connections that don't specify assemblyNames in config (@cmdcolin)
    • #3390 Fix positioning within large alignments for query->target LGV synteny navigation (@cmdcolin)
    • #3388 Fix search result that matches synonyms that matches multiple locations (@cmdcolin)
  • core
    • #3404 Fix double-render of some synteny features (@cmdcolin)
    • #3401 Remove y-scalebar rendering placeholder values in blank and loading states (@cmdcolin)
    • #3389 Fix issue where snackbar would not show up when same error message is triggered multiple times (@cmdcolin)

๐Ÿ“ Documentationโ€‹

  • core
  • Other
    • #3383 Add note to user guide about variant callers that can be used for SV inspector (@cmdcolin)

๐Ÿ  Internalโ€‹

  • __mocks__, core, text-indexing
    • #3400 Reduce peerDependency warnings from installing dev environment (@cmdcolin)
  • core

Committers: 1โ€‹

ยท 3 min read

Hello all, this release contains a bugfix for the circular view and breakpoint split view with "TRA" type features not being displayed. See release notes below for a couple other small bugfixes and enhancements.

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.2.2 (2022-12-06)โ€‹

Packages in this release

PackageDownload
@jbrowse/corehttps://www.npmjs.com/package/@jbrowse/core
@jbrowse/text-indexing
@jbrowse/plugin-alignmentshttps://www.npmjs.com/package/@jbrowse/plugin-alignments
@jbrowse/plugin-arc
@jbrowse/plugin-authenticationhttps://www.npmjs.com/package/@jbrowse/plugin-authentication
@jbrowse/plugin-bedhttps://www.npmjs.com/package/@jbrowse/plugin-bed
@jbrowse/plugin-breakpoint-split-view
@jbrowse/plugin-circular-viewhttps://www.npmjs.com/package/@jbrowse/plugin-circular-view
@jbrowse/plugin-comparative-adapters
@jbrowse/plugin-confighttps://www.npmjs.com/package/@jbrowse/plugin-config
@jbrowse/plugin-data-managementhttps://www.npmjs.com/package/@jbrowse/plugin-data-management
@jbrowse/plugin-dotplot-view
@jbrowse/plugin-gccontenthttps://www.npmjs.com/package/@jbrowse/plugin-gccontent
@jbrowse/plugin-gff3https://www.npmjs.com/package/@jbrowse/plugin-gff3
@jbrowse/plugin-grid-bookmarkhttps://www.npmjs.com/package/@jbrowse/plugin-grid-bookmark
@jbrowse/plugin-gtfhttps://www.npmjs.com/package/@jbrowse/plugin-gtf
@jbrowse/plugin-hic
@jbrowse/plugin-jobs-management
@jbrowse/plugin-legacy-jbrowsehttps://www.npmjs.com/package/@jbrowse/plugin-legacy-jbrowse
@jbrowse/plugin-linear-comparative-view
@jbrowse/plugin-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/plugin-linear-genome-view
@jbrowse/plugin-lollipop
@jbrowse/plugin-menus
@jbrowse/plugin-protein
@jbrowse/plugin-rdf
@jbrowse/plugin-sequencehttps://www.npmjs.com/package/@jbrowse/plugin-sequence
@jbrowse/plugin-spreadsheet-view
@jbrowse/plugin-sv-inspector
@jbrowse/plugin-svghttps://www.npmjs.com/package/@jbrowse/plugin-svg
@jbrowse/plugin-text-indexing
@jbrowse/plugin-trackhub-registry
@jbrowse/plugin-trixhttps://www.npmjs.com/package/@jbrowse/plugin-trix
@jbrowse/plugin-variantshttps://www.npmjs.com/package/@jbrowse/plugin-variants
@jbrowse/plugin-wigglehttps://www.npmjs.com/package/@jbrowse/plugin-wiggle
@jbrowse/clihttps://www.npmjs.com/package/@jbrowse/cli
@jbrowse/desktop
@jbrowse/imghttps://www.npmjs.com/package/@jbrowse/img
@jbrowse/react-circular-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-circular-genome-view
@jbrowse/react-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-linear-genome-view
@jbrowse/web

๐Ÿš€ Enhancementโ€‹

  • Other
    • #3350 Retain feature labels in compact display mode for SVG features, and allow keeping feature description without feature label (@cmdcolin)
    • #3357 Allow holding shift key to create rubberband selection on LGV (@cmdcolin)
    • #3363 Create remove-track CLI command (@cmdcolin)
    • #3341 Add BEDPE adapter type (@cmdcolin)
  • core

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3377 Fix rendering and clicking synteny features when using MainThreadRpc (@cmdcolin)
    • #3375 Fix jbrowse upgrade CLI command overwriting config.json with --branch or --nightly options (@cmdcolin)
    • #3370 Fix error with SNPCoverage not rendering MM tag modifications in some cases (@cmdcolin)
    • #3366 Fix ability to use LGV synteny track on inverted alignments (@cmdcolin)
    • #3348 Fix for breakpoint split view and circular view issues with <TRA> type entries in v2.2.1 (@cmdcolin)
  • core
    • #3369 Fix uncaught promise errors and add lint rule for catching these (@cmdcolin)

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

  • core
    • #3368 Create base "Dialog" component to standardize dialogs across codebase (@cmdcolin)
  • text-indexing

Committers: 2โ€‹

ยท 3 min read

Hello, we are happy to release v2.2.1!

This contains several improvements including

  • Ability to display the reference sequence track as a "GC content" track
  • Ability to view SyntenyTracks as a plain track on a regular linear genome view, and to create synteny views from this

It also contains two important bug fixes

  • In v2.2.0 CRAM features did not display mismatches correctly on alignments tracks
  • In v2.2.0 the LGV ImportForm froze when changing assemblies that had the same refnames

We recommend upgrading to fix these issues!

Here are some screenshots of the new features in this release as well

screenshot showing the GC content display on the reference sequence track

menu items for opening the GC content

screenshot showing right click on a feature in a SyntenyTrack -> Open synteny view

screenshot showing large synteny features on a SyntenyTrack in the LGV using a hg19 vs hg38 chain liftover file

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.2.1 (2022-11-21)โ€‹

Packages in this release

PackageDownload
@jbrowse/corehttps://www.npmjs.com/package/@jbrowse/core
@jbrowse/plugin-alignmentshttps://www.npmjs.com/package/@jbrowse/plugin-alignments
@jbrowse/plugin-authenticationhttps://www.npmjs.com/package/@jbrowse/plugin-authentication
@jbrowse/plugin-bedhttps://www.npmjs.com/package/@jbrowse/plugin-bed
@jbrowse/plugin-breakpoint-split-view
@jbrowse/plugin-circular-viewhttps://www.npmjs.com/package/@jbrowse/plugin-circular-view
@jbrowse/plugin-comparative-adapters
@jbrowse/plugin-confighttps://www.npmjs.com/package/@jbrowse/plugin-config
@jbrowse/plugin-data-managementhttps://www.npmjs.com/package/@jbrowse/plugin-data-management
@jbrowse/plugin-dotplot-view
@jbrowse/plugin-gccontenthttps://www.npmjs.com/package/@jbrowse/plugin-gccontent
@jbrowse/plugin-gff3https://www.npmjs.com/package/@jbrowse/plugin-gff3
@jbrowse/plugin-grid-bookmarkhttps://www.npmjs.com/package/@jbrowse/plugin-grid-bookmark
@jbrowse/plugin-gtfhttps://www.npmjs.com/package/@jbrowse/plugin-gtf
@jbrowse/plugin-legacy-jbrowsehttps://www.npmjs.com/package/@jbrowse/plugin-legacy-jbrowse
@jbrowse/plugin-linear-comparative-view
@jbrowse/plugin-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/plugin-linear-genome-view
@jbrowse/plugin-rdf
@jbrowse/plugin-sequencehttps://www.npmjs.com/package/@jbrowse/plugin-sequence
@jbrowse/plugin-spreadsheet-view
@jbrowse/plugin-variantshttps://www.npmjs.com/package/@jbrowse/plugin-variants
@jbrowse/plugin-wigglehttps://www.npmjs.com/package/@jbrowse/plugin-wiggle
@jbrowse/clihttps://www.npmjs.com/package/@jbrowse/cli
@jbrowse/desktop
@jbrowse/imghttps://www.npmjs.com/package/@jbrowse/img
@jbrowse/react-circular-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-circular-genome-view
@jbrowse/react-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-linear-genome-view
@jbrowse/web

๐Ÿš€ Enhancementโ€‹

  • Other
    • #3277 Create new "Add track workflow" that allows pasting JSON track configs (@cmdcolin)
    • #3328 Add GC content display type to the reference sequence track (@cmdcolin)
    • #3316 Add LGV typescripting to @jbrowse/react-linear-genome-view (@cmdcolin)
  • core
    • #3298 Add authentication plugin to embedded components (@garrettjstevens)
    • #3329 Add ability to minimize/collapse tracks and views and move views up/down in view stack (@cmdcolin)
    • #3308 Add ability to display synteny track in a normal LGV showing regions of synteny as features (@cmdcolin)
    • #3317 Move ErrorBoundary so that tracks/views that have crashed can be closed more easily (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3342 Fix CRAM mismatches calculation regression in v2.2.0 (@cmdcolin)
    • #3319 Fix pileup "sort by" setting being lost on zoom level change (@cmdcolin)
  • core
    • #3340 Fix linear genome view import form going into infinite loading state changing assemblies with same refnames (@cmdcolin)
    • #3339 Fix force flag for drawing large regions and node-fetch polyfill for node 18 fix in @jbrowse/img (@cmdcolin)

Committers: 2โ€‹

ยท 4 min read

This release includes several important improvements including

  • Lazily loading assembly refNames: previously when you had multiple assemblies in your config, it would load all their refNames at browser startup. Now, it only fetches refNames when you request to use an assembly.
  • Simplified "synteny track selector" on the dotplot and synteny import forms
  • Improved documentation! The entire jbrowse 2 documentation has been overhauled, and the monolithic user guide, config guide, and developer guide pages have been split into smaller pages. We also now auto-generate documentation on our config and state tree models, and have a search bar
  • Improved speed on alignments tracks: a small optimization was made for alignments tracks that can improve performance on alignments tracks by 30% or so especially on short reads

Figure showing improved speed on short read alignments of the refactor (this release) vs main (which was v2.1.7)

Note that the changes to allow lazy loading assemblies may have somewhat changed the "contract", so if your code is using the assemblyManager directly in any places, please be aware of this change. Proper usage of the assemblyManager API uses either

  1. use assemblyManager.get(assemblyName) which can return undefined initially, but then this initiates the lazy load and can be caught by reactivity of wrapping your components in observers
  2. use assemblyManager.waitForAssembly(assemblyName) function, which is asynchronous but returns a promise. this avoids the initial return undefined behavior
  3. avoid directly accessing e.g. assemblyManager.assemblies

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.2.0 (2022-11-04)โ€‹

Packages in this release

PackageDownload
@jbrowse/corehttps://www.npmjs.com/package/@jbrowse/core
@jbrowse/text-indexing
@jbrowse/plugin-alignmentshttps://www.npmjs.com/package/@jbrowse/plugin-alignments
@jbrowse/plugin-arc
@jbrowse/plugin-authenticationhttps://www.npmjs.com/package/@jbrowse/plugin-authentication
@jbrowse/plugin-bedhttps://www.npmjs.com/package/@jbrowse/plugin-bed
@jbrowse/plugin-circular-viewhttps://www.npmjs.com/package/@jbrowse/plugin-circular-view
@jbrowse/plugin-comparative-adapters
@jbrowse/plugin-confighttps://www.npmjs.com/package/@jbrowse/plugin-config
@jbrowse/plugin-data-managementhttps://www.npmjs.com/package/@jbrowse/plugin-data-management
@jbrowse/plugin-dotplot-view
@jbrowse/plugin-gff3https://www.npmjs.com/package/@jbrowse/plugin-gff3
@jbrowse/plugin-gtfhttps://www.npmjs.com/package/@jbrowse/plugin-gtf
@jbrowse/plugin-hic
@jbrowse/plugin-jobs-management
@jbrowse/plugin-legacy-jbrowsehttps://www.npmjs.com/package/@jbrowse/plugin-legacy-jbrowse
@jbrowse/plugin-linear-comparative-view
@jbrowse/plugin-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/plugin-linear-genome-view
@jbrowse/plugin-menus
@jbrowse/plugin-sequencehttps://www.npmjs.com/package/@jbrowse/plugin-sequence
@jbrowse/plugin-spreadsheet-view
@jbrowse/plugin-svghttps://www.npmjs.com/package/@jbrowse/plugin-svg
@jbrowse/plugin-text-indexing
@jbrowse/plugin-trackhub-registry
@jbrowse/plugin-trixhttps://www.npmjs.com/package/@jbrowse/plugin-trix
@jbrowse/plugin-variantshttps://www.npmjs.com/package/@jbrowse/plugin-variants
@jbrowse/plugin-wigglehttps://www.npmjs.com/package/@jbrowse/plugin-wiggle
@jbrowse/clihttps://www.npmjs.com/package/@jbrowse/cli
@jbrowse/desktop
@jbrowse/imghttps://www.npmjs.com/package/@jbrowse/img
@jbrowse/react-circular-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-circular-genome-view
@jbrowse/react-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-linear-genome-view
@jbrowse/web

๐Ÿš€ Enhancementโ€‹

  • Other
  • core
    • #3299 Add ability to open a synteny track directly from the dotplot/linear synteny view import forms (@cmdcolin)
    • #3287 Lazy-load assemblies on demand instead of all at app startup (@cmdcolin)
    • #3279 Remove unnecessary expanded region query and small refactors (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • core
    • #3309 Fix animated "Loading..." message keyframes (@cmdcolin)
    • #3306 Fix the RefNameAutocomplete displaying a stale value for chromosome names (@cmdcolin)
    • #3302 Improve rubberband zooming across elided regions (@cmdcolin)
  • Other
    • #3293 Fix CRAM plotting for data files that encode insertions in uncommon way (@cmdcolin)

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

Committers: 3โ€‹

ยท One min read

This release fixes the build of @jbrowse/react-linear-genome-view under webpack 4, which had trouble due to the web worker support added in v2.1.6

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.1.7 (2022-10-20)โ€‹

Packages in this release

๐Ÿ› Bug Fixโ€‹

  • #3282 Fix for embedded build with webpack 4 failing with v2.1.6 (@cmdcolin)

Committers: 1โ€‹

ยท 4 min read

We are happy to release v2.1.6

This has several important fixes and improvements

  • Tracks no longer hang in "Loading..." state under Safari and Webkit based browsers, a bug with starting the webworker was fixed
  • There is now an option to use the WebWorkerRpc on the @jbrowse/react-linear-genome-view. This is a great improvement because the WebWorkerRpc dramatically reduces the "stalling" of the main thread when large datasets like BAM/CRAM are being loaded. See https://jbrowse.org/storybook/lgv/main/?path=/story/using-webworker-rpc--page for more info!
  • All feature types, not just gene features, can obtain the underlying feature sequence with upstream/downstream options
  • The ability to refer to plugins in a path relative to your data directory has been fixed, so you can easily refer to plugins in your config file with e.g. "plugins":[{"name":"MyPlugin","umdLoc":{"uri":"myplugin.js"}}] (umdLoc resolves the uri relative to the config.json file that it is in use). There is also umdUrl which can be used in place of umdLoc which can be used like this "plugins":[{"name":"MyPlugin","umdUrl":"myplugin.js"}] and this will resolve relative to the jbrowse root directory e.g. where the index.html is. We recommend using UMD for now, as ESM modules do not have full browser support e.g. in firefox yet, but this will likely be changing soon and we will update tutorials when this occurs!

See our volvox example for a simple no-build plugin https://github.com/GMOD/jbrowse-components/blob/main/test_data/volvox/umd_plugin.js along with it's config https://github.com/GMOD/jbrowse-components/blob/main/test_data/volvox/config.json and see our no-build plugin tutorial! https://jbrowse.org/jb2/docs/tutorials/no_build_plugin_tutorial/

Screenshot of the feature sequence panel showing on a SNP, allowing you to get upstream and downstream sequence of the SNP

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.1.6 (2022-10-19)โ€‹

Packages in this release

PackageDownload
@jbrowse/corehttps://www.npmjs.com/package/@jbrowse/core
@jbrowse/text-indexing
@jbrowse/plugin-alignmentshttps://www.npmjs.com/package/@jbrowse/plugin-alignments
@jbrowse/plugin-arc
@jbrowse/plugin-authentication
@jbrowse/plugin-bedhttps://www.npmjs.com/package/@jbrowse/plugin-bed
@jbrowse/plugin-breakpoint-split-view
@jbrowse/plugin-circular-viewhttps://www.npmjs.com/package/@jbrowse/plugin-circular-view
@jbrowse/plugin-comparative-adapters
@jbrowse/plugin-confighttps://www.npmjs.com/package/@jbrowse/plugin-config
@jbrowse/plugin-data-managementhttps://www.npmjs.com/package/@jbrowse/plugin-data-management
@jbrowse/plugin-dotplot-view
@jbrowse/plugin-gff3https://www.npmjs.com/package/@jbrowse/plugin-gff3
@jbrowse/plugin-grid-bookmarkhttps://www.npmjs.com/package/@jbrowse/plugin-grid-bookmark
@jbrowse/plugin-gtfhttps://www.npmjs.com/package/@jbrowse/plugin-gtf
@jbrowse/plugin-hic
@jbrowse/plugin-jobs-management
@jbrowse/plugin-legacy-jbrowsehttps://www.npmjs.com/package/@jbrowse/plugin-legacy-jbrowse
@jbrowse/plugin-linear-comparative-view
@jbrowse/plugin-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/plugin-linear-genome-view
@jbrowse/plugin-lollipop
@jbrowse/plugin-menus
@jbrowse/plugin-protein
@jbrowse/plugin-rdf
@jbrowse/plugin-sequencehttps://www.npmjs.com/package/@jbrowse/plugin-sequence
@jbrowse/plugin-spreadsheet-view
@jbrowse/plugin-sv-inspector
@jbrowse/plugin-svghttps://www.npmjs.com/package/@jbrowse/plugin-svg
@jbrowse/plugin-text-indexing
@jbrowse/plugin-trackhub-registry
@jbrowse/plugin-trixhttps://www.npmjs.com/package/@jbrowse/plugin-trix
@jbrowse/plugin-variantshttps://www.npmjs.com/package/@jbrowse/plugin-variants
@jbrowse/plugin-wigglehttps://www.npmjs.com/package/@jbrowse/plugin-wiggle
@jbrowse/clihttps://www.npmjs.com/package/@jbrowse/cli
@jbrowse/desktop
@jbrowse/imghttps://www.npmjs.com/package/@jbrowse/img
jbrowse-predefined-sessions
@jbrowse/react-circular-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-circular-genome-view
@jbrowse/react-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-linear-genome-view
@jbrowse/web

๐Ÿš€ Enhancementโ€‹

  • Other
    • #3272 Disable resolution of Derives_from fields in GFF3 parsing, fixes TAIR gff (@cmdcolin)
    • #3254 Use tick labels that correspond to the overview's larger zoom level (@cmdcolin)
  • core
    • #3230 Add ability to customize About dialog with callbacks and optionally hide links to data (@cmdcolin)
    • #3275 Add help dialog for feature sequence panel (@cmdcolin)
    • #3250 Handle alternate line endings (@garrettjstevens)
    • #3252 Fix gene sequence fetching in embedded, and allow fetching genomic sequence for other feature types (@cmdcolin)
  • core, text-indexing

๐Ÿ› Bug Fixโ€‹

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

Committers: 3โ€‹

ยท 3 min read

We are happy to present v2.1.5! This release adds the ability for the embedded linear genome view component to have session tracks, and we added a new UI for alerts/errors on tracks. See the changelog for details.

Other issues with the circular genome view, authentication on jbrowse-desktop, and the trackhub registry were also fixed. Enjoy!

Downloadsโ€‹

To install JBrowse 2 for the web, you can download the link above, or you can use the JBrowse CLI to automatically download the latest version. See the JBrowse web quick start for more details.

See "Packages in this release" in the changelog for links to packages published on NPM.

2.1.5 (2022-10-03)โ€‹

Packages in this release

PackageDownload
@jbrowse/corehttps://www.npmjs.com/package/@jbrowse/core
@jbrowse/plugin-alignmentshttps://www.npmjs.com/package/@jbrowse/plugin-alignments
@jbrowse/plugin-breakpoint-split-view
@jbrowse/plugin-circular-viewhttps://www.npmjs.com/package/@jbrowse/plugin-circular-view
@jbrowse/plugin-confighttps://www.npmjs.com/package/@jbrowse/plugin-config
@jbrowse/plugin-data-managementhttps://www.npmjs.com/package/@jbrowse/plugin-data-management
@jbrowse/plugin-dotplot-view
@jbrowse/plugin-grid-bookmarkhttps://www.npmjs.com/package/@jbrowse/plugin-grid-bookmark
@jbrowse/plugin-jobs-management
@jbrowse/plugin-legacy-jbrowsehttps://www.npmjs.com/package/@jbrowse/plugin-legacy-jbrowse
@jbrowse/plugin-linear-comparative-view
@jbrowse/plugin-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/plugin-linear-genome-view
@jbrowse/plugin-menus
@jbrowse/plugin-spreadsheet-view
@jbrowse/plugin-sv-inspector
@jbrowse/plugin-svghttps://www.npmjs.com/package/@jbrowse/plugin-svg
@jbrowse/plugin-trackhub-registry
@jbrowse/plugin-variantshttps://www.npmjs.com/package/@jbrowse/plugin-variants
@jbrowse/plugin-wigglehttps://www.npmjs.com/package/@jbrowse/plugin-wiggle
@jbrowse/desktop
@jbrowse/imghttps://www.npmjs.com/package/@jbrowse/img
@jbrowse/react-circular-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-circular-genome-view
@jbrowse/react-linear-genome-viewhttps://www.npmjs.com/package/@jbrowse/react-linear-genome-view
@jbrowse/web

๐Ÿš€ Enhancementโ€‹

  • Other
    • #3200 Use Alert component for track messages (@garrettjstevens)
    • #3229 Allow user to select local assembly to add tracks to for trackhub registry (@cmdcolin)
    • #3220 Improve error reporting on SV inspector/spreadsheet view on import form (@cmdcolin)
    • #3198 Improve error reporting on jbrowse-web start screen when user attempts to open a broken recent session (@carolinebridge-oicr)
  • core
    • #3223 Allow adding session tracks to embedded react component along with disableAddTracks option if unwanted (@cmdcolin)
    • #3227 Add infrastructure for creating linear-genome-view sub-classes (@carolinebridge-oicr)
    • #3215 Add error boundary on view, track, and drawer widget (@cmdcolin)
    • #3216 Add ability to set number of bp to fetch up/down stream/inside intron in feature details (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3241 Fix local session failing to load copying between tabs in some cases (@cmdcolin)
    • #3234 Fix circular embedded view failing to load in v2.1.3 and v2.1.4 (@cmdcolin)
    • #3233 Fix legend being cutoff on multiwiggle tracks with wide window (@cmdcolin)
    • #3217 Fix loading tracks from connection using assembly alias (@cmdcolin)
    • #3214 Fix trackhub registry failing to load in 2.x.y versions of jbrowse (@cmdcolin)
    • #3204 Fix authentication configuration on jbrowse-desktop (@cmdcolin)
  • core

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

Committers: 3โ€‹