Skip to main content

v1.7.0 Release

ยท 3 min read

We are excited to announce the latest JBrowse release! This has many great features including

  1. Floating feature labels, so if you are zoomed into the middle of a gene, the feature label hangs out alongside it on the left side of the screen! The results may not be pixel perfect in all cases (reverse complement labels can end up overlapping other features for example) but we hope this helps you see the labels for features that extend off the screen!

    Figure showing the feature labels floating alongside gene even when you are zoomed into the feature

  2. Upgraded build system for jbrowse-web and jbrowse-desktop to webpack 5, and added examples of using webpack 5 with embedded components. Webpack 5 results in smaller build sizes for jbrowse-web. For a typical session, amount of .js downloaded with gzip enabled in v1.6.9 is ~1.4MB, in v1.7.0 ~900kb (-500kb smaller). Without gzip enabled v1.6.9 4.8MB, v1.7.0 2.5MB (-2MB smaller). The result is largely due to better webworker bundling. See https://jbrowse.org/jb2/docs/embedded_components/ for webpack 5 examples in embedded components

  3. Optimizations and improved visualization of paired-end reads in the breakpoint split view

  4. Optimized linear synteny renderings with long CIGAR strings. These optimizations help viewing large alignments such as the CHM13-T2T-v2.0 assembly vs hg38 PAF file from https://github.com/marbl/CHM13#downloads (example here https://jbrowse.org/code/jb2/main/?config=test_data%2Fconfig_demo.json&session=share-0qD2-d_k4K&password=GF8Sk)

  5. The "Assembly selector" dropdown box now remembers your last selection, so you can more easily return to your genome of interest

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.

1.7.0 (2022-04-14)โ€‹

๐Ÿš€ Enhancementโ€‹

  • Other
    • #2909 Add --prefixSize flag to @jbrowse/cli text-index (@cmdcolin)
    • #2887 Optimize filtering on alignments tracks (@cmdcolin)
    • #2879 Multi-level synteny rubberband (@cmdcolin)
    • #2874 Optimizations for rendering long syntenic alignments e.g. CHM13 vs GRCh38 (@cmdcolin)
    • #2872 Better connection between paired-end alignments in breakpoint split view and optimizations (@cmdcolin)
  • core
    • #2902 Standardize heights of widgets in LGV import form (@cmdcolin)
    • #2781 Add floating labels to SVG features (@cmdcolin)
    • #2875 Make assembly selector remember your last selected assembly (@cmdcolin)
    • #2860 Avoid performing many peekTransferables to optimize RPC serialization (@rbuels)

๐Ÿ› Bug Fixโ€‹

  • Other
    • #2908 Fix AboutDialog under vite for embedded components (@cmdcolin)
    • #2900 Fix the 'Open assembly' menu item in jbrowse desktop (@cmdcolin)
    • #2882 Add padding at the bottom of the configuration editor to help color editing popup being cutoff (@cmdcolin)
    • #2877 Fix strand on arrows in horizontally flipped mode (@cmdcolin)
  • core
    • #2891 Use a user-supplied fetchESM callback to import ESM plugins to fix 'Critical dependency...' errors from embedded components (@cmdcolin)

๐Ÿ“ Documentationโ€‹

๐Ÿ  Internalโ€‹

  • core
    • #2904 Use a user-supplied fetchCJS callback to import CJS plugins (@cmdcolin)
    • #2891 Use a user-supplied fetchESM callback to import ESM plugins to fix 'Critical dependency...' errors from embedded components (@cmdcolin)
    • #2857 Refactor and improve types of OffscreenCanvas shim and ponyfill (@rbuels)
  • __mocks__, core

Committers: 3โ€‹