Skip to main content

v1.3.0 Release

· 4 min read

We're excited to announce the v1.3.0 release of JBrowse Web! Some highlights of this release include:

In-app plugin store

Building on the plugin store on our website in the last release, we're now excited to announce that plugins can be installed from within JBrowse Web! Plugins from our plugin store can now be installed with the click of a button.

Screenshot of plugin store with MsaView plugin installed and open

Open local files

JBrowse Web now has the ability for tracks to use files on your local hard drive. This is a great option if you want to visualize files you have locally without uploading them to a server. These files will need to be re-opened each time the app is opened or refreshed, but more robust handling of local files will be available when we release JBrowse Desktop.

Screenshot of selector in URL and File states

Color by MM and MP/ML tags in BAM/CRAM

The MM and MP/ML tags can be used to color alignments tracks by either base modifications or by methylation. The modifications mode is exciting because it can show arbitrary DNA/RNA modifications, and the methylation mode uses specific CpG context to show both modified and unmodified CpGs.

Screenshot of alignments tracks colored by methylation and base modification

In this screenshot, the top alignments track is colored by methylation and the bottom alignments track is colored by base modification.

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.3.0 (2021-05-24)

🚀 Enhancement

  • Other
    • #2001 Make tracks added using the add track widget a session track if not in adminMode (@cmdcolin)
    • #1980 Add popup confirmation dialog for unknown session plugins, and use plugins.json as a whitelist (@cmdcolin)
    • #1977 Upgrade @material-ui/data-grid (@cmdcolin)
  • core
    • #1982 Allow manually specifying adapter type if filename does not match expected pattern (@cmdcolin)
    • #1975 Allow local files on the users computer to be opened as tracks in jbrowse-web (@cmdcolin)
    • #1865 Show modified bases using MM and MP/ML tags in BAM/CRAM (@cmdcolin)
    • #1984 Better feature details when there are short arrays of json supplied as feature data (@cmdcolin)
    • #1931 Create in app graphical plugin store (@elliothershberg)

🐛 Bug Fix

  • core
    • #1985 Avoid error calculating UTR on features that have no exon subfeatures (@cmdcolin)
    • #1954 Add more environments to configSchema create calls to fix ability to use custom jexl commands with main thread rendering (@cmdcolin)
    • #1963 Fix ability to use DialogComponent (used for svg export, pileup sort, etc) on embedded components (@cmdcolin)
    • #1945 Fix hic not being able to render due to incorrect lazy loading (@cmdcolin)
  • Other

📝 Documentation

  • #2002 Add @jbrowse/img to homepage (@cmdcolin)
  • #2007 Update docs for modifications/methylation coloring, plugin store, and the sequence panel in feature details (@cmdcolin)
  • #1976 reorganize the demo page to emphasize the cancer sv demo more (@rbuels)
  • #1952 Add demo for 1000 genomes extended trio dataset to website (@cmdcolin)
  • #1862 Add example for using a build-time included plugin to storybook (@cmdcolin)

🏠 Internal

  • Other
    • #2003 Make SNPCoverage independently generate the modifications tag-color mapping (@cmdcolin)
  • core, development-tools

Committers: 4

v1.2.0 Release

· 4 min read

We're excited to announce the v1.2.0 release of JBrowse Web!

New plugin store added to website

One of the core aspects of JBrowse 2 is that it is an extensible platform for biological visualization that can be extended with plugins. We are excited to introduce the first version of our plugin store, where we list the current external plugins that are available. Check it out here. In the coming weeks, we will also be bringing this plugin store directly into the application, allowing plugin installation with the click of a button. Stay tuned!

SVG export

We're excited to introduce a new feature to JBrowse Web: built-in SVG export of track visualizations! This feature currently supports the linear genome view, and will be extended to more views in future releases.

With the addition of this feature, it is now even easier to create publication-ready screenshots of JBrowse views.

Virtualized track lists

An important consideration for genomics software is scaling to very large datasets. We have implemented a virtualization of our hierarchical track selector, enabling it to support arbitrarily large track lists.

Lazy loading

We have expanded our use of lazy loading, which optimizes app performance and improves load times.

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.2.0 (2021-05-03)

🚀 Enhancement

  • core
    • #1125 Export SVG (@cmdcolin)
    • #1867 Virtualized tree for tracklist to support having thousands of tracks (@cmdcolin)
    • #1660 Allow connections to have multiple assemblies (@garrettjstevens)
    • #1864 Add Material UI's DataGrid to re-exports (@garrettjstevens)
    • #1875 Make drawer widget titles stay visible when scrolling inside the widget (@cmdcolin)
    • #1877 Add ability to copy the text produced by the feature details sequence panel to MS Word/Google Docs and preserve styling (@cmdcolin)
    • #1854 Make "About track" dialog available from tracklist and for non-LGV tracks (@cmdcolin)
    • #1853 Add mouseovers in feature details that show field descriptions for VCF fields (@cmdcolin)
  • Other
    • #1892 Create new JB2 plugin store (@elliothershberg)
    • #1901 Make using --out for add-assembly create output directory if it does not exist and fix outputting to symlink (@cmdcolin)
    • #1850 Add true breakend ALT strings to the feature details panel (@cmdcolin)
    • #1878 Add --delete to set-default-session, fix --session (@garrettjstevens)
    • #1861 Change Alignments track "Fade mismatches by quality" setting to a separate config param and made it less strict (@cmdcolin)

🐛 Bug Fix

  • core
    • #1924 Fix import of BED and navToLocString from spreadsheet views (@cmdcolin)
    • #1918 Fix issue with some falsy values being hidden in feature details (@cmdcolin)
    • #1911 Fix breakpoint split view visualizations for files that need ref renaming (e.g. chr1 vs 1) (@cmdcolin)
    • #1904 Fix issue with synteny polygons displaying slightly offset (@cmdcolin)
    • #1884 Fix rIC ponyfill for use on Safari (@cmdcolin)
  • Other
    • #1912 Fix reloading of local sessions when using React.StrictMode (@cmdcolin)
    • #1900 Make clicking away from autocomplete popup on track container work (@cmdcolin)
    • #1878 Add --delete to set-default-session, fix --session (@garrettjstevens)
    • #1871 Fix crash on dotplot/linear synteny import form and when closing linear synteny track (@cmdcolin)
    • #1860 Fix alignments read filter jexl syntax (@cmdcolin)

📝 Documentation

  • #1914 Use MDX to add proper image captions in web and pdf documentation (@cmdcolin)
  • #1855 Add download page in website header and new super-quick-start guide (@cmdcolin)

🏠 Internal

Committers: 4

v1.1.0 Release

· 3 min read

We're pleased to announce a new release of JBrowse Web!

Changed callbacks language from JavaScript to Jexl

To allow users to safely and seamlessly share advanced configurations in sessions, we now use Jexl to express configuration callbacks. Note that this is a breaking change, function()-style callbacks will no longer work.

For details, see the callbacks section of our configuration guide.

Fetch intron and upstream/downstream sequences

We also have several other improvements including the ability to get intron and upstream/downstream sequence in the feature details

Interactive documentation using Storybook

Another new update is the first release of our interactive Storybook docs for the embeddable React Linear Genome View. The docs contain live examples of how the LGV component can be used, along with source-code examples. The site can be found here.

Enhanced navigation to drawer widget stack

We have added a dropdown to enhance navigation between stack of active widgets. The update also adds a minimize button to allow quick access to full screen JBrowse web.

See below for demos of the new navigation UI.

Minimize button demo

Demo of using the minimize button in the drawer

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.1.0 (2021-03-29)

🚀 Enhancement

  • core
    • #1846 Improve copy+paste in the data grids for feature details (@cmdcolin)
    • #1814 Add ability to get promoter sequence and intron sequence for genes from the feature details panel (@cmdcolin)
    • #1816 Remove some animation effects (@cmdcolin)
    • #1778 Adds dropdown to show drawer widget stack (@teresam856)
    • #1685 Change callbacks language from JavaScript to Jexl (@peterkxie)
  • Other
    • #1831 Add dialog for launching breakpoint split view from variant feature details (@cmdcolin)
    • #1803 Transcript and gene glyphs can now display implied UTRs, active by default (@cmdcolin)
    • #1808 Add another heuristic for returning gene features from BigBed (@cmdcolin)
    • #1774 Add warning dialog in LGV before returning to import form to prevent accidentally losing the current view (@cmdcolin)

🐛 Bug Fix

📝 Documentation

🏠 Internal

Committers: 6

v1.0.4 Release

· 6 min read

This release of JBrowse Web includes a great many small improvements and bug fixes, see the full changelog below.

Some particularly salient improvements include:

Better indications for insertions

The alignments track received a couple updates including "large insertion indicators" for large indels, and also an upside-down count of clipping or insertion events. There is also a triangular indicator plotted when the insertion/clip count exceeds a threshold at that position defaulted to 30% of reads

Click and drag the overview bar to "Get sequence"

Users can now download regions of sequence by selecting a region in the linear genome view and clicking "get sequence". See the demonstration video below:

You can also "get sequence" in the read vs reference view, which allows you to "get sequence" for the inserted bases or softclipped bases from a read alignment

A long-requested feature, implemented in #1588 by @teresam856!

Enhanced navigation of paired end reads and BND/TRA breakends

Feature detail panels for BND/TRA features, long split-alignments, and paired-end reads have links to navigate or popup of the breakpoint split views with their mates.

Implemented by @cmdcolin in #1701.

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.0.4 (2021-03-08)

🚀 Enhancement

  • core
    • #1758 Add ability to get stitched together CDS, protein, and cDNA sequences in feature details (@cmdcolin)
    • #1721 Manually adjust feature height and spacing on alignments track (@cmdcolin)
    • #1728 Add list of loaded plugins to the "About widget" (@rbuels)
    • #1711 Add plugin top-level configuration (@teresam856)
    • #1699 Add sequence track for both read and reference genome in the "Linear read vs ref" comparison (@cmdcolin)
    • #1701 Add clickable navigation links to supplementary alignments/paired ends locations and BND/TRA endpoints in detail widgets (@cmdcolin)
    • #1601 Add ability to color by per-base quality in alignment tracks (@cmdcolin)
    • #1640 Move stats calculation to BaseFeatureAdapter (@cmdcolin)
    • #1588 Add "Get sequence" action to LGV rubber-band (@teresam856)
  • Other
    • #1743 Add color picker and choice of summary score style for wiggle track (@cmdcolin)
    • #1763 Add a "CSS reset" to jbrowse-react-linear-genome-view to prevent parent styles from outside the component leaking in (@cmdcolin)
    • #1756 Split alignments track menu items into "Pileup" and "SNPCoverage" submenus (@cmdcolin)
    • #1742 Add ability to display crosshatches on the wiggle line/xyplot renderer (@cmdcolin)
    • #1736 Fix CLI add-track --load inPlace to put exact contents into the config, add better CLI example docs (@cmdcolin)
    • #1394 Add new menu items for show/hide feature labels, set max height, and set compact display mode (@cmdcolin)
    • #1720 Standardize phred qual scaling between BAM and CRAM and add option to make mismatches render in a lighter color when quality is low (@cmdcolin)
    • #1704 Add "Show all regions in assembly" to import form and make import form show entire region when refName selected (@cmdcolin)
    • #1687 Threshold for indicators on SNPCoverage + inverted bargraph of interbase counts for sub-threshold events (@cmdcolin)
    • #1695 Improve zoomed-out display of quantitative displays tracks when bicolor pivot is active (@cmdcolin)
    • #1680 Add on click functionality to quantitative track features (@teresam856)
    • #1630 Get column names from BED tabix files and other utils for external jbrowse-plugin-gwas support (@cmdcolin)
    • #1709 Improve sorting and filtering in variant detail widget (@cmdcolin)
    • #1688 Bold insertion indicator for large insertions on pileup track (@cmdcolin)
    • #1669 Allow plain json encoding of the session in the URL (@cmdcolin)
    • #1642 Enable locstring navigation from LGV import form (@teresam856)
    • #1655 Add GFF3Tabix and BEDTabix inference to JB1 connection (@garrettjstevens)
    • #1643 Add an offset that allows all wiggle y-scalebar labels to be visible (@cmdcolin)
    • #1632 Displays warnings when receiving a session with custom callbacks (@peterkxie)
    • #1615 Increase pileup maxHeight (@cmdcolin)
    • #1624 GCContent adapter (@cmdcolin)
    • #1614 Add insertion and clip indicators to SNPCoverage views (part of Alignments tracks) (@cmdcolin)
    • #1610 Display error message from dynamodb session sharing error (@cmdcolin)

🐛 Bug Fix

  • Other
    • #1777 Quick fix for block error (@cmdcolin)
    • #1748 External plugins load after confirming config warning (@peterkxie)
    • #1750 Fix pileup sorting when using string tag (@cmdcolin)
    • #1747 Fix the position of the popup menu after rubberband select when there is a margin on the component e.g. in embedded (@cmdcolin)
    • #1736 Fix CLI add-track --load inPlace to put exact contents into the config, add better CLI example docs (@cmdcolin)
    • #1731 Fix alignment track ability to remember the height of the SNPCoverage subtrack on refresh (@cmdcolin)
    • #1719 Fix for navigation past end of chromosome (@cmdcolin)
    • #1698 Fix rendering read vs ref comparisons with CIGAR strings that use = sign matches (@cmdcolin)
    • #1697 Fix softclipping configuration setting causing bases to be missed (@cmdcolin)
    • #1689 Disable copy/delete menu items for reference sequence track (@teresam856)
    • #1682 Fix parsing of BED and BEDPE files with comment header for spreadsheet view (@cmdcolin)
    • #1679 Fix issue with using launching the add track widget on views that are not displaying any regions (@teresam856)
    • #1642 Enable locstring navigation from LGV import form (@teresam856)
    • #1626 Bug Fix: specify assembly in locstring (@teresam856)
    • #1619 Fix overview scale polygon not appearing properly in some cases (@cmdcolin)
  • core

📝 Documentation

🏠 Internal

Committers: 7

JBrowseR Release

· One min read

We are excited to announce a new JBrowse 2 product: JBrowseR. JBrowseR builds on top of the React component that we recently released. Our React component inherits the general JBrowse 2 philosophy: it is fully customizable and pluggable, like the core product.

The React component makes it very straightforward to embed a Linear Genome View into a React app. However, this API can come with a steep learning curve for bioinformaticians who may not be very familiar with React. This is where JBrowseR comes in!

JBrowseR provides an R interface to the JBrowse 2 LGV React component. Using JBrowseR, you can:

  • Embed the JBrowse 2 genome browser in R Markdown documents and Shiny applications
  • Deploy a genome browser directly from the R console to view your data
  • Customize your genome browser to display your own data

With this functionality, you can deploy a first-class genome browser with your data in just a few lines of R code!

For more information on getting started, check out the following resources:

v1.0.3 Release

· 4 min read

This release of JBrowse Web includes several improvements and bug fixes, including:

  • Search and dropdown combined into single intuitive component on linear genome view
  • Big alignment track enhancements
    • Added sort by tag to sorting options
    • Added ability to color by preset options such as "base pair", "mapping quality", and "tag"
    • Added ability to filter by preset options such as "read paired" and "read reverse strand"
  • Feature detail widget now shows subfeature details
  • Added --branch and --nightly flags for create and upgrade CLI commands
  • Improved admin server GUI
  • Additional track menu options for wiggle and SNP coverage tracks such as "autoscale", "log scale" and "histogram fill"
  • Improved build system for external plugins (check out our new plugin template at https://github.com/GMOD/jbrowse-plugin-template)

Figure showing the new feature for "color by tag" and "sort by tag" applied to a CRAM file

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.0.3 (2021-01-11)

🚀 Enhancement

  • Other
  • core
    • #1531 Add track menu options for autoscale, log scale, histogram fill, setting min/max score, and zoom level/resolution for wiggle/snpcoverage tracks (@cmdcolin)
    • #1473 Color, filter, and sort options for the alignments (@cmdcolin)
    • #1576 Add location string to tooltip for wiggle and SNPCoverage tracks (@cmdcolin)
    • #1529 Display subfeatures in feature details widget (@cmdcolin)
  • core, development-tools

🐛 Bug Fix

  • Other
    • #1608 Take into account offsetX of the rubberband on scalebar zooming (@cmdcolin)
    • #1597 Fix crash when there are undefined references in the state tree e.g. when a track is deleted but still referred to by a session (@peterkxie)
    • #1598 Disable 'copy to clipboard' while share url being generated (@peterkxie)
    • #1589 Fix the display of trackhub registry results (@cmdcolin)
    • #1573 Update hic-straw to fix error for hic files with many scaffolds (@cmdcolin)
    • #1563 Remove softclip and hardclip from being counted as SNPs in the SNPCoverage (@cmdcolin)
    • #1559 Avoid errors from breakpoint split view related to getBoundingClientRect on null track (@cmdcolin)
    • #1540 Fix memory leak when side scrolling LGV blocks (@cmdcolin)
    • #1534 Fix breakpoint split view showing too many connections for paired end ends (@cmdcolin)
    • #1524 Move loading flag for spreadsheet import wizard to volatile to avoid it persisting across refresh (@cmdcolin)
    • #1521 Add missing dep to react-linear-genome-view (@garrettjstevens)
  • core
    • #1587 Fix positioning of scalebar tooltips, overview scalebar plotting, and refName label positioning when displaying many regions (@cmdcolin)
    • #1547 Fix analytics crashing when using plugins (@cmdcolin)

📝 Documentation

  • #1594 Add GFF3 example to quickstart (@cmdcolin)
  • #1581 Add some features that are missing from jbrowse 2 to the feature comparison table (@cmdcolin)
  • #1558 Add docs for sequence track, variant track, launching synteny from dotplot, and add UCSC plugin to demo (@cmdcolin)
  • #1537 Add CONTRIBUTING.md with tips for getting started with codebase (@cmdcolin)

🏠 Internal

Committers: 6

v1.0.2 Release

· 2 min read

This release addresses two main issues:

  • A bug introduced in v1.0.1 where the CLI command jbrowse create would not download the latest version of JBrowse Web.
  • A fix for a problem that prevented @jbrowse/react-linear-genome-view (first released in v1.0.1) from working properly.

Several other bug fixes and improvements are also included. See details below.

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.

v1.0.2 (2020-12-02)

🚀 Enhancement

  • core
    • #1513 Add a custom scrollbar that overrides the auto-hiding behavior of scrollbars on OSX (@elliothershberg)

🐛 Bug Fix

  • Other
    • #1514 react-linear-genome-view bug fixes (@garrettjstevens)
    • #1517 Fix the use of filtering display on desktop (@cmdcolin)
    • #1512 Fix setting maxDisplayedBpPerPx for pileup display, helps prevent too large an area from being rendered (@cmdcolin)
    • #1442 Change track selector togglebutton to normal button (@cmdcolin)
    • #1506 Fix horizontally flipped translation frames position (@cmdcolin)
    • #1501 Fix CLI to allow jbrowse create to download newer monorepo tag format (@cmdcolin)
  • core

Committers: 3

v1.0.1 Release

· 3 min read

This release of JBrowse Web includes several improvements and bug fixes, including:

  • A new sequence track renderer that includes translation frames
  • The addition of session connections
  • A new track selector icon
  • Improvements to feature details widgets
  • And more! See details below.

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.

v1.0.1 (2020-11-25)

🚀 Enhancement

🐛 Bug Fix

  • core
    • #1491 Fix ability to add a PAF synteny track with add-track (@cmdcolin)
    • #1470 Avoid rendering the literal string 'null' in the feature details (@cmdcolin)
  • Other
    • #1489 Fix long read vs ref CIGAR rendering for horizontally flipped synteny view (@cmdcolin)
    • #1460 Add support for more bigBed subtypes and fallback for unsupported types (@peterkxie)
    • #1472 Wait on assemblies that are being tracked by the assemblyManager only (@cmdcolin)
    • #1466 Avoid rendering the display and renderer settings in the about this track dialog (@cmdcolin)
    • #1461 Fix usage of jbrowse-cli on node 10.9 related to fs.promises (@cmdcolin)
    • #1452 Bug: search box disappears from LGV header on smaller widths (@teresam856)
    • #1432 Make global variables window.JBrowseSession and window.JBrowseRootModel available in jbrowse-web (@teresam856)
    • #1431 Fix connection tracks not showing up in track selector (@garrettjstevens)
    • #1428 Fix the listVersions behavior of the jbrowse-cli returning duplicate entries (@cmdcolin)
    • #1422 Fix crash from empty ALT field in VCF (@cmdcolin)
    • #1413 Fix ability to add CRAM tracks using the web based add-track GUI (@cmdcolin)

📝 Documentation

🏠 Internal

Committers: 5

v1.0.0 Release

· 2 min read

I am pleased to announce the first stable release of JBrowse 2!

This release includes our new "display modes" concept which allows the same track to be displayed in different view types. For example, the same synteny track can be used in both a dotplot or a linear synteny view. Similarly, a SV VCF with breakends can be used in the circular view or a linear genome view.

This has been a massive effort by the team to get us to this 1.0.0 release, and we greatly thank all the beta users who have helped us with testing.

Changes

  • fixed bug with reference sequences that don't use the alias system
  • fixed bug with SV inspector having a disabled state stuck on the buttons
  • added documentation for the jbrowse admin-server command
  • added display modes, a giant effort to make the same track visible in multiple contexts
  • added a splash screen when no default session is in the config file
  • changed error state of spreadsheet to a volatile
  • fixed loading state of the RefNameAutocomplete
  • fixed spreadsheet import of VCF with no FORMAT column
  • made a small bundle-size improvement from removing unused crypto-js resources
  • removed savedSessions from config schema
  • fixed deleting a track when a closed widget references it
  • fixed crash when live editing an assembly in the assembly manager
  • added a simple PAF import form in the DotplotView and LinearSyntenyView import forms
  • updated @mui/material version
  • clearer output printed when using admin-server

Enjoy!

To install, you can download the link above, or you can use the jbrowse CLI tool to automatically download the latest version. See the jbrowse 2 quick-start guide for more info

v0.0.1-beta.28 Release

· 2 min read

This is the next round in our beta testing on the way to a stable release

New features include

  • added an assembly manager
  • added a bugfix for refname mapping that caused slowness
  • updated colors tied to the theme
  • fixed side scrolling on OSX triggering the back button
  • created shorter share URLs
  • fixed for VCF track set
  • created a default title on views that corresponds to the assembly name being viewed if relevant
  • better autoinference on add track
  • slower update frequency for the header bar, allowing faster scroll
  • hide callbacks on irrelevant config slots
  • disable opening local URLs in the add track workflows currently
  • created a --indexFile flag for the add-track CLI for adding BAI, CRAI, TBI, CSI index, etc. if it isn't automatically inferred
  • created a --out flag for the add-track CLI
  • improve behavior when running the CLI outside of the config directory
  • add ability to use the admin-server and the normal localhost:3000 webpack-dev-server in parallel

Enjoy!

To install, you can download the link above, or you can use the jbrowse CLI tool to automatically download the latest version. See the jbrowse 2 quick-start guide for more info