Skip to main content

ยท 2 min read

Small bugfix release, including some improvements to the ordering of tracks in the track selector. see changelog 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.

yarn run v1.22.18 $ lerna-changelog 2.6.3

Unreleased (2023-08-12)โ€‹

๐Ÿš€ Enhancementโ€‹

๐Ÿ› Bug Fixโ€‹

  • #3839 Fix bug where multi-quantitative tracks plotted incorrectly for some bigwigs with empty regions (@cmdcolin)
  • #3837 Fix text layout in dotplots with long coordinate strings (@cmdcolin)
  • #3825 Fix SVG export compatibility by removing rgba strings (@cmdcolin)
  • #3814 Fix suspense fallback to track container for lazy loaded display components (@cmdcolin)
  • #3808 Fix track ordering of hierarchical track selector to more closely match the config.json (@cmdcolin)
  • #3806 Fix a bug on the BookmarkWidget mui data grid where labels were not saving (@carolinebridge-oicr)
  • #3804 Fix version missing from about menu in @jbrowse/react-app (@cmdcolin)

๐Ÿ  Internalโ€‹

Committers: 3โ€‹

ยท 2 min read

This is a small bugfix release. We removed source maps to avoid some typescript warnings for consumers of our NPM packages. This means our "src" is no longer published to NPM.

We also fixed the "Stranded sequencing" coloring option on alignments tracks, which is especially useful for stranded paired-end RNA-seq and renamed the option to "Color by->First of pair strand", which corresponds to the terminology of IGV.

Figure showing stranded paired-end RNA-seq data with a positive and negative strand gene in view

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.

yarn run v1.22.18 $ lerna-changelog 2.6.2

Unreleased (2023-07-12)โ€‹

๐Ÿš€ Enhancementโ€‹

๐Ÿ› Bug Fixโ€‹

  • Other
    • #3798 Fix VCF feature starting at 1-based 1 (@cmdcolin)
    • #3775 Fix stranded RNA-seq rendering and rename option Color by -> "First-of-pair strand" (@cmdcolin)
    • #3758 Adds safety checks on AlignmentsDisplay properties to avoid undefined rendering (@carolinebridge-oicr)
    • #3770 Fix potential issue with display searchFeatureByID being undefined (@cmdcolin)
  • core
  • app-core, core, embedded-core, product-core, text-indexing, web-core
    • #3771 Use inlineSourceMaps for tsc builds and other misc changes (@cmdcolin)

๐Ÿ  Internalโ€‹

Committers: 3โ€‹

ยท 4 min read

Hello all, This ended up being a big release with a lot of new stuff!

  • Created the @jbrowse/react-app NPM package which effectively makes the jbrowse-web package NPM-installable. This is still new so let us know what you think. See the docs at https://jbrowse.org/storybook/app/main and example usages at https://jbrowse.org/jb2/docs/embedded_components/ (this is pretty new, there may be more updates or changes to come with this package!)
  • Improved code sharing across web, desktop, and embedded products (this was a large refactor, if you see any bugs let us know!)
  • Improved display of inversions in the read cloud display (see screenshot)
  • Fixed persistent issue with jbrowse create CLI creating corrupted output (update your local install with npm install -g @jbrowse/cli)

Figure showing split long reads alignments on the read cloud display spanning an inversion showing forward (red) to reverse (blue) and back to forward again.

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
    • #3743 Create mixin for shared code between LinearWiggleDisplay and MultiWiggleLinearDisplay (@cmdcolin)
    • #3711 Allow synteny data adapters to open files larger than 512Mb (@cmdcolin)
    • #3639 Add button to bookmark in jbrowse-web share dialog (@cmdcolin)
    • #3631 Add BEDPE add track workflow, avoid showing "Add track" when disabled (@carolinebridge-oicr)
    • #3700 Render alignment track arcs instantly after bpPerPx change (@cmdcolin)
    • #3695 Reduce re-drawing on alignments track paired read arcs/cloud display types (@cmdcolin)
  • core
    • #3725 Filter tracks that match all view.assemblyNames in multi-assembly track selector modes (@cmdcolin)
    • #3531 Add @jbrowse/react-app embedded component (@cmdcolin)
    • #3653 Evaluate extension point on track config pre-process snapshot (@cmdcolin)
    • #3706 Miscellaneous alignments arc/cloud fixes (@cmdcolin)
    • #3698 Add column resizers to the variant ANN/CSQ panels (@cmdcolin)
  • app-core, product-core, web-core
  • __mocks__
    • #3707 Improved read cloud display for long reads with inversions (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • core
    • #3749 Avoid re-prompting a user login when refresh token is processed (@cmdcolin)
    • #3572 Add OAuth and HTTP BasicAuth servers for local testing, fix some OAuth flows (@garrettjstevens)
    • #3708 Add removable-media to jbrowse desktop snap (@cmdcolin)
    • #3687 Take into account ML tag when showing MM tag on alignments, misc refactoring (@cmdcolin)
  • Other
    • #3747 Fix blank lines in GFF crashing text-index (@cmdcolin)
    • #3739 Fix specifying the assemblyNames config slot on add-connection CLI (@cmdcolin)
    • #3631 Add BEDPE add track workflow, avoid showing "Add track" when disabled (@carolinebridge-oicr)
    • #3667 Fix horizontal flip functionality for Hi-C display (@studentshivang)
    • #3703 Fix rendering error in alignments tracks when filtering by tag in CRAM file (@Lilas-w)
    • #3694 Fix ability to filter certain fields in BAM/CRAM files (@cmdcolin)
    • #3691 Fix breakpoint split view alignment connections not pointing at right position in v2.5.0 (@cmdcolin)
    • #3686 Fix jbrowse create/jbrowse upgrade CLI intermittent failures (@cmdcolin)
  • product-core, web-core
    • #3738 Don't throw on UCSC connection containing assemblies not matching connection->assemblyNames config (@cmdcolin)
  • app-core, core, embedded-core
  • app-core

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

  • app-core, core, product-core, text-indexing
    • #3740 Bump electron, proxy-agent, fontsource-roboto, etc. and update SnackbarMessage from typed array to object (@cmdcolin)
  • core
    • #3741 Distinguish between SessionWithConnections and SessionWithConnectionEditing (@cmdcolin)
  • Other
  • app-core, core, product-core, web-core
  • product-core
  • app-core, core, embedded-core, product-core, text-indexing
  • core, product-core
    • #3661 Create packages/product-core containing shared code between the various products (@rbuels)

Committers: 6โ€‹

ยท 2 min read

This release includes some small bugfixes. It also renames some internal APIs, if you are a plugin developer, take note of the new naming.

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.5.0 (2023-05-04)โ€‹

๐Ÿš€ Enhancementโ€‹

  • Other
  • core
    • #3677 Adjust RefNameAutocomplete width calculation to avoid ellipses (@cmdcolin)
    • #3660 Bump x-data-grid dependency, refactors for BaseFeatureDetails, add GridToolbar (@cmdcolin)
    • #3626 Update to mui x-data-grid 6 (@cmdcolin)

๐Ÿ› Bug Fixโ€‹

  • core
  • Other
    • #3670 Only double-click zoom if not clicking on feature (@cmdcolin)
    • #3652 Fix text being invisible on overview scalebar when cytobands shown (@cmdcolin)
    • #3632 Fix mouse click-and-drag behavior in the alternative "cursor mode" for the dotplot view (@cmdcolin)
    • #3625 Fix UCSC trackhub assembly aliases matching (@andrzejgrzelak)
  • __mocks__, core

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

  • core
    • #3647 Refactoring navToMultiple, navToLocString, and related (@cmdcolin)
    • #3629 Typescript checking for config slot names (@rbuels)
    • #3618 Rename APIs for feature density stats and quantitative stats (@cmdcolin)
    • #3615 Add check for default export to plugin loader (@rbuels)

Committers: 4โ€‹

ยท 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โ€‹

ยท 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โ€‹

ยท 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โ€‹

ยท 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โ€‹

ยท 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โ€‹

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