Skip to main content

v2.4.2 Release

ยท 2 min read

This release addresses a couple small bugs, including a fix for subfeature detail jexl callbacks, spreadsheet view cosmetic improvements, and synteny view mouseovers getting stuck. See details below

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.

2.4.2 (2023-03-27)โ€‹

๐Ÿš€ Enhancementโ€‹

  • core
    • #3604 Alignments tags description in feature details on mouseover (@cmdcolin)
  • Other

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3610 Avoid cutting off import form of spreadsheet view, fix overflowed text in table header (@cmdcolin)
    • #3600 Fix using the force load button after a stats timeout (@cmdcolin)
    • #3592 Fix shading on synteny features after mouseout (@cmdcolin)
  • __mocks__, core
    • #3608 Fix subfeatures formatter not being applied to feature detail panel (@cmdcolin)
    • #3607 Avoid "ResizeObserver" loop warning during development (@cmdcolin)
  • core
    • #3593 Fix gene without subfeatures not being displayed in sequence feature details (@cmdcolin)

๐Ÿ  Internalโ€‹

  • #3611 Use local data instead of remote data for LGV component test (@cmdcolin)

Committers: 2โ€‹

v2.4.1 Release

ยท 2 min read

Hello all, this release adds a number of small enhancements to the dotplot view including scroll zoom, and also fixes a number of small bugs. See the release notes below for details

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.

2.4.1 (2023-03-14)โ€‹

๐Ÿš€ Enhancementโ€‹

  • core
    • #3534 Improve visibility of SNPs on alignments track (@cmdcolin)
    • #3561 Add scroll zoom, d-pad, and more click+drag options to dotplot (@cmdcolin)
  • Other
    • #3574 Add ability to load all built-in synteny data sources from @jbrowse/cli (@cmdcolin)
    • #3564 Use double-click to zoom in on particular offset in LGV, and make ctrl+scroll also zoom in on particular offset (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • #3578 Fix selected synteny feature getting unselected after scroll (@cmdcolin)
  • #3566 Fix use of "show all regions with data" feature in SV inspector with TRA entries (with CHR2 from INFO) (@cmdcolin)
  • #3558 Fix visual effect from using the overview scalebar click and dragging backwards (@cmdcolin)
  • #3556 Fix infinite loading state when no synteny features are visible in synteny view (@cmdcolin)
  • #3551 Fix bad layout on tabix tracks that have Unicode characters (@cmdcolin)
  • #3548 Fix upper case querying of jbrowse 1 text search store (@cmdcolin)
  • #3545 Fix issue where clearing search box on LGV import form turns search box into loading bar (@cmdcolin)

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

  • Other
  • __mocks__, core, text-indexing
    • #3557 Add additional lint rules from typescript-eslint and eslint-plugin-unicorn (@cmdcolin)

Committers: 2โ€‹

v2.4.0 Release

ยท 2 min read

Hello all! We are excited to announce the new features in this release. Here are some highlights

More theme options and dark modeโ€‹

The jbrowse web and jbrowse desktop apps now have multiple themes that a user can pick between.

Extra themes can be defined via plugins or via your config file.

See the theme docs for more info and let us know if you have any requests

SVG export of more view typesโ€‹

Dotplot, circular, and linear synteny views have added an SVG export option. The SVG exports can incorporate the current theme, or use a default.

See the release notes for more!

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.

2.4.0 (2023-02-24)โ€‹

๐Ÿš€ Enhancementโ€‹

  • Other
  • core
    • #3513 Add ability to open refNameAliases+cytobands in "Open sequence" start screen on desktop (@cmdcolin)
    • #3512 SVG export of linear synteny view, dotplot, and circular views (@cmdcolin)
    • #3467 Create dark theme and allow user to toggle different themes from preferences dialog (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

๐Ÿ“ Documentationโ€‹

Committers: 2โ€‹

v2.3.4 Release

ยท 2 min read

Hello all,

This release incorporates a "faceted track selector" similar to JBrowse 1. This track selector is available by default as an alternative to the hierarchical selector, to give users the "best of both worlds"

The faceted selector is a dialog box that is opened from a button "Open faceted selector" at the top of the hierarchical selector.

There are a couple other important bugfixes relating to horizontal flipping in the synteny view, and selecting features in the synteny view.

We really enjoyed meeting everyone at PAG 2023 and hearing all the feedback everyone had! We hope to continue rolling out more improvements over the coming year :)

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.

2.3.4 (2023-02-01)โ€‹

๐Ÿš€ Enhancementโ€‹

  • core
    • #3494 Use transitionDuration 0 as defaultProp in theme for both popovers and menus (@cmdcolin)
    • #3488 Render HTML in faceted track selector for track data/metadata (@cmdcolin)
    • #3483 Add anchorOrigin/transformOrigin to default menu component (@cmdcolin)
    • #3470 Variant sample grid auto-size columns and resizer (@cmdcolin)
  • Other
    • #3304 Faceted/data grid style track selector (@cmdcolin)
    • #3477 Larger margins to add track workflow to visually clarify next button behavior (@cmdcolin)
    • #3475 Bypass plugins.json download if unneeded during app startup (@cmdcolin)
    • #3458 Improve auto-update of sequence track height when toggling forward/reverse/translation settings (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • core
    • #3482 Fix loading external plugins in embedded linear-genome-view demo (@cmdcolin)
  • Other
    • #3457 Fix synteny view not drawing after horizontal flip in v2.3.3 (@cmdcolin)
    • #3459 Booleanize localstorage settings from older versions of LGV to avoid crash (@cmdcolin)

๐Ÿ“ Documentationโ€‹

Committers: 1โ€‹

v2.3.3 Release

ยท 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.

2.3.3 (2023-01-11)โ€‹

๐Ÿš€ 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โ€‹

2022 year in review

ยท 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 stopTokens 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)

v2.3.2 Release

ยท 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.

2.3.2 (2022-12-20)โ€‹

๐Ÿš€ 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โ€‹

v2.3.1 Release

ยท 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.

๐Ÿš€ 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โ€‹

v2.2.2 Release

ยท 2 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.

2.2.2 (2022-12-06)โ€‹

๐Ÿš€ 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โ€‹

v2.2.1 Release

ยท 2 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.

2.2.1 (2022-11-21)โ€‹

๐Ÿš€ 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โ€‹