Skip to content

Releases: GMOD/jbrowse-components

Release v3.0.1

30 Jan 08:34
Compare
Choose a tag to compare

This release fixes the vanillajs build for the linear genome view and the hover genotype feature in v3.0.0

Release v3.0.0

29 Jan 23:27
Compare
Choose a tag to compare

Hello all!

This release announces v3.0.0 of JBrowse 2. It is not at all a dramatic change like the JBrowse 1 -> JBrowse 2 transition, it's much more incremental, and in fact, you can go on calling it JBrowse 2...as a point of comparison, ggplot2 is on v3.5.1 right now :)

We decided to make a major bump due to some small "breaking" changes that could affect plugin and embedded library users in particular.

But for most users, this release should have nothing but the usual bugfixes and improvements! And there are a lot of these!

Without further ado, here are some highlights!

Improved rendering of phased VCF in multi-variant view

Phased variants offer a unique opportunity to see which parent particular variants came from. To help this, we added a new "phased" rendering mode to the multi-variant renderings, that takes phased VCF and renders each phase as an individual row. This allows users to effectively see the entire row as a haplotype, and can be used to help visualize trio VCF to find parent of origin

Screenshot From 2025-01-25 15-03-21 Screenshot showing the "phased mode" for a trio VCF

image

Screenshot showing how to access the phased rendering mode

Rendering of phase-sets

This could be more or less uncommon depending on your work, but for incompletely phased variant calls you will see "phased sets" (PS tag in genotypes). We color each set a random color

image

Screenshot showing phase set rendering of a phased VCF. This is nearly completely phased so just showing green, but each phase set would get a unique color. The black entries are unphased variants (which could be filtered out, but this is not done currently)

Rendering polyploids in the multi-variant view

image

Screenshot showing the "polyploid" rendering of the multi-variant display.

Polyploid variant calls can look like 0/2/./1 indicating one match to the reference (0), two alts (1,2), and one missing call (.).

  • Yellow indicates missingness
  • Grey indicates reference
  • Blue indicates the ALT===1
  • Red is ALT!==1

Each of these is a spectrum that increases in darkness, so darker blue indicates more ALT===1, darker red indicates more ALT!==1, darker yellow is more uncalled, etc.

Adding sample metadata to VCF from an external TSV

image

Screnshot showing multi-sample matrix display, with the population colors coming from a "sample TSV" file. The below config shows the samplesTsvLocation config, the first column should match the sample name in the VCF

Example TSV

name	population
HG01879	ACB
HG01880	ACB
HG01881	ACB
HG01882	ACB
HG01883	ACB
HG01884	ACB

Config

{
  "type": "VariantTrack",
  "trackId": "1kGP_high_coverage_Illumina.chr1.filtered.SNV_INDEL_SV_phased_panel.vcf",
  "name": "1kGP_high_coverage_Illumina.chr1.filtered.SNV_INDEL_SV_phased_panel.vcf",
  "assemblyNames": ["hg19"],
  "adapter": {
    "type": "VcfTabixAdapter",
    "vcfGzLocation": {
      "uri": "https://ftp-trace.ncbi.nlm.nih.gov/1000genomes/ftp/release/20130502/ALL.chr1.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz"
    },
    "index": {
      "location": {
        "uri": "https://ftp-trace.ncbi.nlm.nih.gov/1000genomes/ftp/release/20130502/ALL.chr1.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz.tbi"
      }
    },
    "samplesTsvLocation": {
      "uri": "https://jbrowse.org/genomes/hg19/1000g.sorted.csv.gz"
    }
  }
}

Improved UI for opening synteny tracks

It has always been challenging for end users to open synteny tracks

To help with this, we now support adding synteny tracks via the default "Add track" workflow, and make it easier to specify the query and target assembly names. We also added a similar UI change to the "Linear synteny view" import form

image

Screnshot showing the default add track workflow with new UI for choosing target and query assemblies for PAF tracks

image

Screenshot showing the add track workflow in the "Linear synteny view" import form, also showing new UI for choosing query and target assmblies

New "turbo zoom" buttons

In working with users, we noticed people having to click the zoom buttons or fiddle with the slider a lot. To aid this, we added a small dropdown for quickly doing 10x, 50x, and 100x zooms

image

For developers: some "breaking" changes

  1. We changed the "filehandle" type used in data adapters. We now use generic-filehandle2 which is simpler and does not require a node.js polyfill on the web
  2. Upgrading React 18 -> React 19 in our main webapp. This drops support for React 17, and may have some other implications

If you are a plugin or embedded user, and experience problems with upgrading, let us know!

3.0.0 (2025-01-29)

💥 Breaking Change

  • core
  • __mocks__, app-core, core, embedded-core, product-core, sv-core

🚀 Enhancement

  • Other
  • core, web-core
  • core, product-core
    • #4798 Add more track metadata to UCSC assembly hub loading (@cmdcolin)
  • core
    • #4795 Improved rendering of phased VCF and polyploid VCF in multi-variant view (@cmdcolin)
    • #4792 Allow uploading a sampleTsv file with per-sample metadata for VCF files (@cmdcolin)
    • #4786 Allow opening "synteny tracks" from the default Add track workflow (@cmdcolin)
    • #4785 Allow opening BedGraph et al in the default Add track workflow (@cmdcolin)
    • #4784 Improve UI for choosing query and target assemblies in the "New track" workflow for synteny tracks (@cmdcolin)
    • #4767 Improve load time when multiple tracks use same data file (@cmdcolin)
    • #4750 Add some more lazy loading for smaller bundle size (@cmdcolin)
  • sv-core
    • #4753 Allow launching a single level breakpoint split view focused on the breakends (@cmdcolin)
  • web-core
  • app-core, core
    • #4729 Update cram-js to avoid requesting file size for more CORS compatibility (@cmdcolin)

🐛 Bug Fix

  • Other
    • #4778 Fix GC content calculation consistency across blocks (@cmdcolin)
    • #4773 Fix "Color by CDS" for BED12 features (@cmdcolin)
    • #4771 Fix generating categories for composite tracks in UC...
Read more

Release v2.18.0

10 Dec 23:18
Compare
Choose a tag to compare

This release marks a number of improvements including

New multi-variant display modes

  • Ability to display multi-sample VCF in a 'matrix' or 'stacked' style view
  • Supports both large 1000 genomes style VCF or smaller trio VCF
  • Allows users to cluster rows by genotype using a call out to R script

image

Screenshot of the multi-variant viewer

Major improvements to the spreadsheet and SV inspector views

  • Allows opening tracks in the spreadsheet and SV inspector

  • Uses @mui/x-data-grid for display of the spreadsheet

  • Makes separate columns for VCF INFO fields

  • Support larger files by storing data in 'volatile' storage that doesn't bog down the session

  • Support DEL, INV, and all types of SVs instead of just TRA and BND type variants in the SV inspector

  • Re-navigates existing breakpoint split view instead of launching a new one each time

image

screenshot showing the new datagrid for the SV inspector

image

screenshot showing that you can open up tracks in the import form of the SV inspector

Saves user sessions in a local IndexedDB

  • Sessions are saved in IndexedDB instead of localStorage which has much higher capacity and organization, so you won't lose your sessions if your web browser closes!
  • Users can create "favorite" sessions to revisit for later
  • Admins can also create pre-configured sessions for their instancse for users

image

screenshot showing the new session manager with recent sessions, favorite sessions, and pre-configured sessions

Improved "aborting" behavior

This is an ongoing refactor, but there is now new improved 'aborting' behavior reducing some of the re-calculations that bog down the UI.

Optimized and improved jbrowse-plugin-gwas

  • New optimizations added for loading large GWAS style BED datasets to enable better jbrowse-plugin-gwas features
  • The jbrowse-plugin-gwas also added a better clickmap allowing you to see the mouse-over feature https://github.com/cmdcolin/jbrowse-plugin-gwas

image

2.18.0 (2024-12-10)

🚀 Enhancement

  • core, product-core, sv-core
  • Other
  • app-core, core, product-core, web-core
    • #4074 Autosave sessions in jbrowse-web IndexedDB database to make it easier to access old sessions (@cmdcolin)
  • app-core, core, embedded-core, product-core, sv-core, text-indexing, web-core
    • #4682 SV inspector improvements (x-data-grid, opening track data, re-navigate breakpoint split view, support INV/DEL/more) (@cmdcolin)
  • core, product-core
    • #4178 Add ability to use colorBy and filterBy for alignments track configs, and group by strand (@cmdcolin)
  • core, product-core, text-indexing
    • #4663 Replace AbortSignal with "stop token" to rescue some aborting behavior (@cmdcolin)

🐛 Bug Fix

  • #4708 Avoid full length sequence fetch on SNP coverage calculation (@cmdcolin)
  • #4676 Fix MCScanAnchorsAdapter rendering in linear genome view (@cmdcolin)
  • #4670 Fix GC-content track regression in v2.17.0 (@cmdcolin)
  • #4667 Reduce self-pairing for some paired-end read data in breakpoint split view (@cmdcolin)

🏠 Internal

  • __mocks__, app-core, core, embedded-core, product-core, sv-core, text-indexing, web-core
  • Other

Committers: 1

Release v2.17.0

18 Nov 20:42
Compare
Choose a tag to compare

This release adds:

  • Improved and bugfixed rendering of modified bases from BAM/CRAM files, particularly, it matches in many ways the IGV rendering of modified bases [^1]
  • Improved performance for ultra-long reads from Nanopore, especially with zooming in and out and scrolling because it caches the mismatches instead of re-calculating them repeatedly [^2]
  • Improved performance for wiggle tracks, multi-wiggle tracks, and SNP coverage tracks, particularly changing the height for these track types produces less re-rendering
  • A new data adapter loading BLAST tabular -outfmt 6 alignments for the synteny view
  • Fixed interpretation of the 'ts' tag from minimap2 for RNA-seq strandedness
  • Improved bedMethyl support

image
figure showing updated modifications rendering, and bedMethyl as a "MultiQuantitativeTrack"

image
example of the BLAST tabular adapter, showing TBLASTX results

[^1] Importantly, JBrowse 2 now takes into account the ML tag (likelihood) to better report the results when tools are providing low probability modification likelihoods, especially for when there are multiple modification possibilities at each position (e.g. commonly outputted from Dorado which reported as 'm' and 'h' probabilities, we now only choose the highest likelihood for reporting, which is in line with interpretation from the MM/ML tag specification)

[^2] As part of this change, the internals of BAM/CRAM records have been changed. If you have code that was directly accessing any internal attributes of these records, it may not work anymore. Please use the feature.get('...') on features to get data of interest. The .get(...) method is the only "official" API for accessing data on feature objects, and contact us if you run into any problems!

2.17.0 (2024-11-18)

🚀 Enhancement

🐛 Bug Fix

  • Other
  • core
    • #4639 Fix RNA-seq stranded arc coloring, change the color of RNA-seq introns, and improve compact rendering (@cmdcolin)
    • #4638 Fix rendering of UCSC repeatmasker BigBed and BED files (@cmdcolin)

🏠 Internal

  • core

Committers: 2

Release v2.16.1

03 Nov 16:57
Compare
Choose a tag to compare

Hi all,

This is a bugfix release! See notes below

2.16.1 (2024-11-03)

🚀 Enhancement

  • app-core, core, product-core, text-indexing
    • #4624 Add utility links to synteny feature details to allow centering a view on a feature (@cmdcolin)
  • Other
    • #4628 Allow configuring Hi-C normalization and default resolution multiplier (@cmdcolin)
    • #4619 Add resolutionMultiplier config slot to BigWigAdapter (@cmdcolin)

🐛 Bug Fix

  • #4634 Fix opening local files in the multi-wiggle add track selector (@cmdcolin)
  • #4633 Fix "Add track" select box not going away after selecting element (@cmdcolin)
  • #4632 Standardize modification colors between alignments track coverage and pileup subtracks (@cmdcolin)
  • #4631 Fix config description of assembly name ordering for synteny data adapters (@cmdcolin)
  • #4630 Fix MM tag modifications from particular BAM file failing to render on the negative strand (@cmdcolin)
  • #4626 Fix dark redraw on selected features after vertical resize of the synteny canvas (@cmdcolin)

Committers: 1

  • Colin Diesh (@cmdcolin) Done in 1.20s.
    Done in 0.54s.

Release v2.16.0

23 Oct 21:25
Compare
Choose a tag to compare

This release adds the long awaited ability to visualize "multi-way" synteny using a "series of pairwise" comparisons!

image

Screenshot of grape vs peach vs cacao

Example link here
https://jbrowse.org/code/jb2/main/?config=%2Fdemos%2Fplant_synteny_demo%2Fconfig2.json&session=share-OzIsqrPjDb&password=0T2Qs

Setting up multi-way synteny views can be performed from the "import form" or via the URL params. We envision further enhancements to come to improve functionality and ease-of-use of these views also.

image

Screenshot of the multi-way import form

2.16.0 (2024-10-23)

🚀 Enhancement

  • Other
    • #4615 Add configuration of transcriptTypes and containerTypes to the svg feature rendering (@cmdcolin)
  • app-core, core

🐛 Bug Fix

  • Other
    • #4593 Fix navigating to a refname result that is also indexed in search track index (@cmdcolin)
    • #4612 Fix error with tooltips in embedded components in vite dev mode (@cmdcolin)
    • #4602 Fix decoding of CRAM ML tag (@cmdcolin)
    • #4594 Fix highlight button causing issues clicking underlying track features (@cmdcolin)
    • #4586 Update electron-builder to fix broken desktop builds (@cmdcolin)
  • core

📝 Documentation

  • #4607 Add tiberius sample dataset and updated gencode and ncbi GFF gene sets (@cmdcolin)

🏠 Internal

  • Other
    • #4607 Add tiberius sample dataset and updated gencode and ncbi GFF gene sets (@cmdcolin)
  • app-core, core, embedded-core, product-core, web-core

Committers: 1

Release v2.15.4

20 Sep 17:53
Compare
Choose a tag to compare

Fixes Hi-C files failing to load in v2.15.3 and also fixes text indexing on JBrowse Desktop on Windows machines

2.15.4 (2024-09-20)

🐛 Bug Fix

Committers: 1

Release v2.15.3

19 Sep 00:29
Compare
Choose a tag to compare

This release (hopefully) fixes the SSL code signing on the Windows version of the jbrowse desktop app. This should help auto-updates work better on Windows

2.15.2 (2024-09-18)

🚀 Enhancement

🐛 Bug Fix

🏠 Internal

  • #4569 Refactor GFF3 parser to avoid returning internal _linehash variable (@cmdcolin)

Committers: 1

Release v2.15.1

12 Sep 16:53
Compare
Choose a tag to compare

This release adds a bugfix for slow loading times due to a refname aliases bug

It also adds a new visualization mode for breakpoint split view to show paired read and split read orientations, helping to show things like inversions

image

🚀 Enhancement

  • core, sv-core
    • #4561 Create notion of launching a single-row breakpoint split view (@cmdcolin)
  • Other
  • core
    • #4554 Fix the ability to sort menu items by priority for CascadingMenu (@cmdcolin)

🐛 Bug Fix

  • Other
  • core
    • #4553 Fix performance regression since v2.14.0 in assembly loading (@cmdcolin)

🏠 Internal

  • core
  • Other

Committers: 1

Release v2.15.0

04 Sep 02:18
Compare
Choose a tag to compare

This release has a couple updates

  • Update to MUIv6
  • Fix bug with BigBed names processing
  • Fix bug with e.g. @jbrowse/react-linear-genome-view's view menu appearing incorrectly

🚀 Enhancement

  • app-core, core, embedded-core, product-core, text-indexing, web-core

🐛 Bug Fix

  • core, embedded-core
    • #4544 Fix cascading sub menus bug in embedded components in v2.14.0 (@cmdcolin)
  • core
  • app-core
    • #4542 Fix alignments track feature details customization (@cmdcolin)

Committers: 1