Skip to content

Releases: GMOD/jbrowse-components

Release v2.1.6

19 Oct 22:13
Compare
Choose a tag to compare

We are happy to release v2.1.6

This has several important fixes and improvements

  • Tracks no longer hang in "Loading..." state under Safari and Webkit based
    browsers, a bug with starting the webworker was fixed
  • There is now an option to use the WebWorkerRpc on the
    @jbrowse/react-linear-genome-view. This is a great improvement because the
    WebWorkerRpc dramatically reduces the "stalling" of the main thread when
    large datasets like BAM/CRAM are being loaded. See
    https://jbrowse.org/storybook/lgv/main/?path=/story/using-webworker-rpc--page
    for more info!
  • All feature types, not just gene features, can obtain the underlying feature
    sequence with upstream/downstream options
  • The ability to refer to plugins in a path relative to your data directory
    has been fixed, so you can easily refer to plugins in your config file with
    e.g. "plugins":[{"name":"MyPlugin","umdLoc":{"uri":"myplugin.js"}}]
    (umdLoc resolves the uri relative to the config.json file that it is in
    use). There is also umdUrl which can be used in place of umdLoc which can
    be used like this "plugins":[{"name":"MyPlugin","umdUrl":"myplugin.js"}]
    and this will resolve relative to the jbrowse root directory e.g. where the
    index.html is. We recommend using UMD for now, as ESM modules do not have
    full browser support e.g. in firefox yet, but this will likely be changing
    soon and we will update tutorials when this occurs!

See our volvox example for a simple no-build plugin
https://github.com/GMOD/jbrowse-components/blob/main/test_data/volvox/umd_plugin.js
along with it's config
https://github.com/GMOD/jbrowse-components/blob/main/test_data/volvox/config.json
and see our no-build plugin tutorial!
https://jbrowse.org/jb2/docs/tutorials/no_build_plugin_tutorial/

Screenshot of the feature sequence panel showing on a SNP, allowing you to get
upstream and downstream sequence of the SNP

🚀 Enhancement

  • Other
    • #3272 Disable resolution of Derives_from fields in GFF3 parsing, fixes TAIR gff (@cmdcolin)
    • #3254 Use tick labels that correspond to the overview's larger zoom level (@cmdcolin)
  • core
    • #3230 Add ability to customize About dialog with callbacks and optionally hide links to data (@cmdcolin)
    • #3275 Add help dialog for feature sequence panel (@cmdcolin)
    • #3250 Handle alternate line endings (@garrettjstevens)
    • #3252 Fix gene sequence fetching in embedded, and allow fetching genomic sequence for other feature types (@cmdcolin)
  • core, text-indexing

🐛 Bug Fix

📝 Documentation

🏠 Internal

Committers: 3

Release v2.1.5

03 Oct 22:42
Compare
Choose a tag to compare

We are happy to present v2.1.5! This release adds the ability for the embedded
linear genome view component to have session tracks, and we added a new UI for
alerts/errors on tracks. See the changelog for details.

Other issues with the circular genome view, authentication on jbrowse-desktop,
and the trackhub registry were also fixed. Enjoy!

🚀 Enhancement

  • Other
    • #3200 Use Alert component for track messages (@garrettjstevens)
    • #3229 Allow user to select local assembly to add tracks to for trackhub registry (@cmdcolin)
    • #3220 Improve error reporting on SV inspector/spreadsheet view on import form (@cmdcolin)
    • #3198 Improve error reporting on jbrowse-web start screen when user attempts to open a broken recent session (@carolinebridge-oicr)
  • core
    • #3223 Allow adding session tracks to embedded react component along with disableAddTracks option if unwanted (@cmdcolin)
    • #3227 Add infrastructure for creating linear-genome-view sub-classes (@carolinebridge-oicr)
    • #3215 Add error boundary on view, track, and drawer widget (@cmdcolin)
    • #3216 Add ability to set number of bp to fetch up/down stream/inside intron in feature details (@cmdcolin)

🐛 Bug Fix

  • Other
    • #3241 Fix local session failing to load copying between tabs in some cases (@cmdcolin)
    • #3234 Fix circular embedded view failing to load in v2.1.3 and v2.1.4 (@cmdcolin)
    • #3233 Fix legend being cutoff on multiwiggle tracks with wide window (@cmdcolin)
    • #3217 Fix loading tracks from connection using assembly alias (@cmdcolin)
    • #3214 Fix trackhub registry failing to load in 2.x.y versions of jbrowse (@cmdcolin)
    • #3204 Fix authentication configuration on jbrowse-desktop (@cmdcolin)
  • core

📝 Documentation

🏠 Internal

Committers: 3

Release v2.1.4

16 Sep 20:10
Compare
Choose a tag to compare

This release fixes the UMD builds for the react components which failed to upload to npm in 2.1.3. Doesn't affect desktop or any other systems

🐛 Bug Fix

  • #3191 Fix the UMD build of the react embedded components (@cmdcolin)

Committers: 1

Release v2.1.3

15 Sep 19:26
Compare
Choose a tag to compare

This release includes a quality-of-life improvement for users plotting synteny
with CIGAR strings. Before this version, the x-axis in the dotplot was assumed
to be target sequence (and similarly, the top row in the linear synteny view
was assumed to be the target sequence). But now, target can be either x- or
y-axis in dotplot, and top or bottom in linear synteny views, removing the need
for the user to care as much about query-vs-target ordering.

This release also includes several fixes for the the behavior of text searching
in the linear genome view, a new button to open a .jbrowse file directly from
the start screen on jbrowse-desktop, and an important bugfix to plotting
inverted alignments on dotplots that affected versions v2.1.0-v2.1.2.

Screenshot showing the latest jbrowse desktop start screen, with a button to open .jbrowse sessions

Screenshot showing both X/Y orientations of two yeast genomes on the dotplot view, focusing on the deletions and insertions.

Enjoy!

🚀 Enhancement

  • Other
    • #3188 Add 'Open saved session' button to start screen on desktop (@cmdcolin)
    • #3187 Add mouseover tooltip descriptions to the header of the VariantFeatureDetails sample/genotype table (@cmdcolin)
    • #3179 Add extendSession extension point to web and desktop (@garrettjstevens)
    • #3178 Allow X/Y assemblies of dotplot or top/bottom selection of synteny views to be either query or target (@cmdcolin)
    • #3173 Add ability for CLI to recognize plaintext BED files (@cmdcolin)
    • #3162 Add about dialog with version number for embedded components (@cmdcolin)
    • #3163 Note for user to wait before re-launching app on desktop update (@cmdcolin)
  • core

🐛 Bug Fix

  • core
    • #3168 Fix search behavior when there are multiple matches in LGV header and when feature description matched in import form (@cmdcolin)
    • #3182 Fix "dead state tree node" error by creating snapshots of parent region for block calculations (@cmdcolin)
  • Other

📝 Documentation

🏠 Internal

Committers: 4

Release v2.1.2

25 Aug 21:30
Compare
Choose a tag to compare

Hello all, we are pleased to announce v2.1.2!

This release includes a number of small bugfixes to the multi-wiggle track
type, and a new feature for performing small sequence searches/motifs in the
visible region.


Screenshot of the sequence search feature. It is available from the "view menu"
on the linear genome view

Also, we just recently published the pre-print for our JBrowse 2 paper on
bioRxiv! https://www.biorxiv.org/content/10.1101/2022.07.28.501447v1

This is a tour de force describing the basic ideas behind JBrowse 2 as an app.
We are really pleased with how users and developers have helped to contribute
to JBrowse 2 thus far, and look forward to many more years!

🚀 Enhancement

🐛 Bug Fix

  • Other
    • #3157 Support the "name" field on multi-wiggle adapter subadapters instead of source (@cmdcolin)
    • #3154 Use the union of all the subadapter refNames for the MultiWiggleAdapter getRefNames (@cmdcolin)
    • #3156 Fix for mouseover/mouse click on wiggle/multi-wiggle causing errors in embedded mode (@cmdcolin)
    • #3151 Fix ability to click and drag overview scale bar dragging right to left (@cmdcolin)
    • #3133 Update the ref name box when assembly is changed in LGV import form (@garrettjstevens)
    • #3131 Use "code" instead of "key" for undo/redo keyboard event, fixes shift+ctrl+z redo (@garrettjstevens)
    • #3119 Use es2015 setting for commonjs builds of packages to fix @jbrowse/img (@cmdcolin)
    • #3142 Fix unicode arrow icon not rendering with some fonts in configuration editor (@garrettjstevens)
  • core
    • #3120 Fix menu items for changing display type from track menu (@cmdcolin)

Committers: 2

Release v2.1.0

28 Jul 22:27
Compare
Choose a tag to compare

We are pleased to present 2.1.0! This release adds some significant new
features including:

  • Multi-wiggle tracks - This allows, for example, multiple bigwig files to be
    displayed in a single track with synchronized scalebar settings. See
    multi-wiggle docs for more
    info.
  • Undo and redo functionality, let's you undo an operation in the UI e.g.
    closing a view, closing a track can be recovered
  • An alert when the dotplot view renders features that go beyond the bounds of
    the selected region. This is often an indication that the wrong assembly is
    being used or the query and target are backwards

Multi-row plot showing 21 ENCODE bigWig tracks

Overlapping "xyplot" rendering multiwiggle rendering mode with "emphasised"
points showing tumor vs normal coverage

Dotplot view showing warnings from rendering dotplot, generally due to the
wrong assemblies being compared. Screenshot also shows the dropdown menu to
choose whether mouse click-and-drag pans the view or selects a region

Undo and redo buttons in the Tools menu, also accessible from keyboard
shortcuts ctrl+z/ctrl+y and cmd+z/cmd+shift+z. The Undo/Redo function is
available in jbrowse-web and jbrowse-desktop currently

🚀 Enhancement

  • core
    • #3111 Create undo manager in jbrowse-web and jbrowse-desktop (@cmdcolin)
    • #3115 Add warning when dotplot renders outside of it's boundaries, and create click-and-drag panning of dotplot view (@cmdcolin)
    • #3102 Allow creating alternative "add track workflows" from within the "Add track" widget (@cmdcolin)
    • #3043 Create MultiWiggle track type, adapter, and renderers (@cmdcolin)
  • Other
    • #3113 Improve SVG performance by avoiding re-render when feature is clicked (@cmdcolin)
    • #3110 Remove TSDX from plugin development tools (@garrettjstevens)
    • #3106 Add "emphasis" mode for no fill/scatterplot mode in XYPlot type renderings (@cmdcolin)

🐛 Bug Fix

  • Other
    • #3109 Better support for developing plugins from within yarn 2+ workspaces (include __virtual folder in build) (@garrettjstevens)
  • core

📝 Documentation

Committers: 2

Release v2.0.1

13 Jul 21:17
Compare
Choose a tag to compare

We are pleased to announce 2.0.1

This release features the ability to mouseover and click synteny alignments on
the linear synteny view

If there are base level alignments, either from the read vs ref view or e.g. a
PAF file generated with minimap -c (outputs CIGAR), then you can also mouse
over to get information about the particular part of that alignment e.g. the
CIGAR string


Figure showing a mouseover inside a deletion in the read vs ref view

This release also has some other small fixes and improvements, see release notes!

🚀 Enhancement

🐛 Bug Fix

  • Other
    • #3088 Fix labels being cut-off in SVG features by rendering feature labels on main thread (@cmdcolin)
    • #3085 Fix zoom to behavior being inaccurate with many displayed regions visible (@cmdcolin)
    • #3082 Fix negative strand CIGAR renderings on linear synteny view (@cmdcolin)
    • #3077 Fix crash opening multiple synteny track selectors launched from dotplot view (@cmdcolin)
  • core
    • #3086 Fix pxToBp and bpToPx calculations when there are many displayed regions (@cmdcolin)

Committers: 2

Release v2.0.0

07 Jul 21:03
Compare
Choose a tag to compare

We are pleased to release v2.0.0! This is a major version milestone, but it
does not have a huge number of changes. Instead, the major change that resulted
in becoming v2.0.0 was the upgrade of many of our dependencies including

  • material-ui v4 -> v5
  • mobx-state-tree v3.14.1 -> v5
  • mobx-react v6 -> v7
  • mobx v5 -> v6

Therefore, to help users that may have been relying on library versions like
this, it is safer to make the version a major bump. If you run into any issues
with this upgrade, let us know and we can help

Some notable improvements:

  • This release improves bundle sizes for users of embedded components, by
    adding ESM builds to NPM. This can reduce the initial load of a webpage using
    e.g. @jbrowse/react-linear-genome-view by about 55% (1.4MB gzipped js->770kb
    gzipped js)

🚀 Enhancement

  • Other
    • #3001 Draw SNPs in modifications/methylation views (@cmdcolin)
    • #3068 Allow HTML in feature tooltips, remove react-simple-code-editor (@cmdcolin)
    • #3065 Allow changing between xyplot,line,density for linear wiggle tracks and other small fixes (@cmdcolin)
  • text-indexing
    • #3058 Improve bundle size and code splitting on embedded builds (v2) (@cmdcolin)
  • __mocks__, core, text-indexing
    • #2949 Upgrade to MUI v5, mobx-state-tree v5, mobx-react v6, mobx-react v7 (@cmdcolin)

🐛 Bug Fix

  • Other
    • #3072 Fix the display of inversions for MCScan alignments (@cmdcolin)
    • #3074 Fix the display of deletions vs insertions being backwards in synteny view with CIGAR strings (@cmdcolin)
    • #3057 Fix export SVG crash on some BigWig tracks (@cmdcolin)
    • #3052 Fix negative value quantitative display in svg exports (@cmdcolin)
  • core
    • #3064 Fix opening link in new tab by default in feature details (@cmdcolin)
    • #3053 Avoid displaying [object Object] on deeply nested data in base feature details (@cmdcolin)

🏠 Internal

Committers: 2

Release v1.7.11

23 Jun 02:35
Compare
Choose a tag to compare

We are excited to announce v1.7.11!

This release has some relatively small fixes to the UI, docs, and examples. For
developers, they may notice that we have removed node-canvas due to it's need
for having extra system dependencies, and becuase it only really was needed in
niche circumstances. This will improve the ease of installing packages like
@jbrowse/react-linear-genome-view.

🚀 Enhancement

  • core
    • #3044 Remove node-canvas from @jbrowse/core dependencies (@cmdcolin)
    • #3041 Fix ability to search and load data files using lower case refName aliases (@cmdcolin)
  • Other

🐛 Bug Fix

  • #3049 Fix ability to use callbacks for the linear arc renderer (@cmdcolin)

📝 Documentation

🏠 Internal

  • core

Committers: 1

Release v1.7.10

14 Jun 00:09
Compare
Choose a tag to compare

We are pleased to present the latest JBrowse 2 release!

This has some great new features including

Feature detail formatter

Here is an example which adds a link to the "Name" panel in the feature
details. It uses the jexl callback that returns an object with keys for each
field to modify (e.g. the key name is used here). See

{
  "type": "FeatureTrack",
  "trackId": "ncbi_gff_hg19_2",
  "name": "NCBI RefSeq",
  "formatDetails": {
    "feature": "jexl:{name:'<a href=https://google.com/?q='+feature.name+'>'+feature.name+'</a>'}"
  },
  "assemblyNames": ["hg19"],
  "adapter": {
    "type": "Gff3TabixAdapter",
    "gffGzLocation": {
      "uri": "https://s3.amazonaws.com/jbrowse.org/genomes/hg19/ncbi_refseq/GRCh37_latest_genomic.sort.gff.gz"
    },
    "index": {
      "location": {
        "uri": "https://s3.amazonaws.com/jbrowse.org/genomes/hg19/ncbi_refseq/GRCh37_latest_genomic.sort.gff.gz.tbi"
      }
    }
  }
}

Example screenshot

See https://jbrowse.org/jb2/docs/config_guide/#customizing-feature-details-panels for more info

Clearer configuration panel with explicit "Add item" button with "OK"/"Cancel" to confirm

Large track menus no longer disappear off the screen

Before

After

Automatically generate clickable links for data files in About track dialog

See also the "Copy config" button to download the config

🚀 Enhancement

  • Other
    • #3025 Add dotplot session spec (@cmdcolin)
    • #2975 Add simplified URL format for loading synteny views (@cmdcolin)
    • #3023 Add error handling in case of invalid OAuth2 configuration used. (@andrzejgrzelak)
    • #3020 Allow choosing trackId when using text-index with --file with --fileId (@cmdcolin)
    • #3016 Allow whitespace separated refname,start,end type locstring (@cmdcolin)
    • #3006 Add string array configuration slot UI improvements (@cmdcolin)
    • #2998 Avoid rendering offscreen contents in pileup renderer (@cmdcolin)
    • #3000 Add reference base and correct percentage calculations to tooltip on SNPCoverage display (@cmdcolin)
  • core
    • #2981 Add simplified URL format for loading spreadsheet and SV inspector (@cmdcolin)
    • #2990 Use shortened megabases (M) display when zoomed out, and option to hide the "open track selector" button (@carolinebridge-oicr)
    • #3003 Add ability to run field formatters on the feature details panel (@cmdcolin)
    • #3017 Add button to copy track config in About track dialog (@cmdcolin)
    • #2999 Generate clickable links to track data in about track dialog (@cmdcolin)
  • __mocks__, core
    • #3005 Use cascading menu helper library for track menu to avoid menu going offscreen (@cmdcolin)

🐛 Bug Fix

Committers: 3