Releases: GMOD/jbrowse-components
Release v3.0.1
This release fixes the vanillajs build for the linear genome view and the hover genotype feature in v3.0.0
Release v3.0.0
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 showing the "phased mode" for a trio VCF
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
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
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
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
Screnshot showing the default add track workflow with new UI for choosing target and query assemblies for PAF tracks
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
For developers: some "breaking" changes
- 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
- 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
- #4789 Allow user to edit region size as 'Custom zoom' (@cmdcolin)
- #4796 Make any bigType track open as BigBedAdapter in ucsc connections (@cmdcolin)
- #4788 Allow supplying a tsv of sample metadata with VCF for multi-variant views (@cmdcolin)
- #4782 Add track filetype guesser for BedGraph (@cmdcolin)
- #4774 Restore concept of linking synteny views (@cmdcolin)
- #4770 Add turbo-zoom buttons (@cmdcolin)
- #4756 Improved mouseover on alignment squiggles in breakpoint split view (@cmdcolin)
- #4736 Bulk delete session tracks (@cmdcolin)
- #4733 Add option to 'Hide small indels (less than 10bp)' (@cmdcolin)
core
,web-core
core
,product-core
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
web-core
app-core
,core
🐛 Bug Fix
Release v2.18.0
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
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
screenshot showing the new datagrid for the SV inspector
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
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
2.18.0 (2024-12-10)
🚀 Enhancement
core
,product-core
,sv-core
- Other
- #4692 Rename some session options on desktop "File" menu (@cmdcolin)
- #4703 Add mobx transaction to multi-level synteny zoom (@cmdcolin)
- #4696 BED optimizations for GWAS type data (@cmdcolin)
- #4693 Add mate.name to LGVSyntenyDisplay feature mouseovers (@cmdcolin)
- #4694 Allow opening bedpe files from users tracks in SV inspector (@cmdcolin)
- #4672 Add BedGraphAdapter and BedGraphTabixAdapter (@cmdcolin)
app-core
,core
,product-core
,web-core
app-core
,core
,embedded-core
,product-core
,sv-core
,text-indexing
,web-core
core
,product-core
core
,product-core
,text-indexing
🐛 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
- Colin Diesh (@cmdcolin) Done in 1.52s.
Release v2.17.0
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
figure showing updated modifications rendering, and bedMethyl as a "MultiQuantitativeTrack"
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
core
- Other
- #4649 Add support for displaying SNPs in "no_ref" CRAM files (@cmdcolin)
- #4627 Create BLAST tabular adapter (@garrettjstevens)
🐛 Bug Fix
- Other
core
🏠 Internal
Committers: 2
- Colin Diesh (@cmdcolin)
- Garrett Stevens (@garrettjstevens) Done in 1.81s.
Release v2.16.1
Hi all,
This is a bugfix release! See notes below
2.16.1 (2024-11-03)
🚀 Enhancement
app-core
,core
,product-core
,text-indexing
- Other
🐛 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
This release adds the long awaited ability to visualize "multi-way" synteny using a "series of pairwise" comparisons!
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.
Screenshot of the multi-way import form
2.16.0 (2024-10-23)
🚀 Enhancement
- Other
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
🏠 Internal
- Other
app-core
,core
,embedded-core
,product-core
,web-core
Committers: 1
- Colin Diesh (@cmdcolin)
Release v2.15.4
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
- Other
text-indexing
Committers: 1
- Colin Diesh (@cmdcolin) Done in 1.22s.
Release v2.15.3
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
- #4571 Fix code signing on the windows for jbrowse desktop (@cmdcolin)
- #4566 Fix handling of "." in VCF ALT field (@cmdcolin)
🏠 Internal
Committers: 1
- Colin Diesh (@cmdcolin) Done in 1.30s.
Release v2.15.1
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
🚀 Enhancement
core
,sv-core
- Other
core
🐛 Bug Fix
- Other
core
🏠 Internal
core
- Other
Committers: 1
- Colin Diesh (@cmdcolin) Done in 1.16s.
Release v2.15.0
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
core
app-core
Committers: 1
- Colin Diesh (@cmdcolin) Done in 0.84s.