Skip to content

Releases: GMOD/jbrowse-components

Release v2.4.1

15 Mar 00:25
Compare
Choose a tag to compare

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

🚀 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

Release v2.4.0

24 Feb 02:13
Compare
Choose a tag to compare

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 changelog below more info

🚀 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

Release v2.3.4

01 Feb 23:26
Compare
Choose a tag to compare

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 :)

🚀 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

Release v2.3.3

11 Jan 19:07
Compare
Choose a tag to compare

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 :)

🚀 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

Release v2.3.2

20 Dec 22:47
Compare
Choose a tag to compare

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

🚀 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

Release v2.3.1

15 Dec 22:38
Compare
Choose a tag to compare

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.

See release notes below for 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

Release v2.2.2

06 Dec 23:28
Compare
Choose a tag to compare

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.

🚀 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

Release v2.2.1

21 Nov 20:18
Compare
Choose a tag to compare

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

🚀 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

Release v2.2.0

04 Nov 20:45
Compare
Choose a tag to compare

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

🚀 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

Release v2.1.7

20 Oct 13:30
Compare
Choose a tag to compare

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.