Releases: GMOD/jbrowse-components
Release v2.10.0
New file format for synteny tracks - PIF
This release adds a new synteny file format PIF ("pairwise indexed format"). It is essentially a small transformation of PAF ("pairwise mapping format") that allows querying the format using tabix.
Preparing a new PIF file
To prepare a PIF file, you can use the @jbrowse/cli tool:
Old workflow
minimap target.fa query.fa > query_vs_target.paf
jbrowse add-assembly target.fa
jbrowse add-assembly query.fa
gzip query_vs_target.paf # optionally gzip paf
jbrowse add-track query_vs_target.paf.gz -a query,target
New
minimap target.fa query.fa > query_vs_target.paf
jbrowse add-assembly target.fa
jbrowse add-assembly query.fa
jbrowse make-pif query_vs_target.paf # generates pif in same folder
jbrowse add-track query_vs_target.pif.gz -a query,target
Conceptually, the PIF file is just a tabix file that allows querying the PAF from either the query->target or the target->query.
Note: We have not yet improved the amount of data needed to view whole-genome overviews of the whole genome alignment, but we anticipate looking into this soon
Impact of using PIF vs PAF
This screenshot shows the example impact of loading a synteny track in the linear genome view: the indexed PIF track allows only a small amount of data to be downloaded, and so it is rendered much quicker. The data is exactly the same as a PAF file
Share link for the screenshot above https://jbrowse.org/code/jb2/main/?config=test_data%2Fhs1_vs_mm39%2Fconfig.json&session=share-DMGteXDmT3&password=6TIWA
Other new features in this release
- added ability to create highlighted regions from the bookmark widget
- click-and-drag or wheel side-scroll in the 'synteny area' of the linear synteny view. additionally, right context click on synteny features
- added support for lzma compression in CRAM files (via @gmod/[email protected])
🚀 Enhancement
core
- Other
- #4135 Split "recently used tracks" local storage keys by view assemblies (@cmdcolin)
- #4003 Adds the ability to highlight regions using the bookmarks widget (@carolinebridge-oicr)
- #4123 Remove session.notify after using the Add track workflow (@cmdcolin)
- #3859 Add new pairwise indexed PAF adapter format with CLI creation workflow (@cmdcolin)
- #4109 Allow right clicking synteny features (@cmdcolin)
- #4110 Scroll both panels of the linear synteny view when side scrolling the middle panel (@cmdcolin)
- #4108 Convert to floating-ui for tooltips for small speedup (@cmdcolin)
- #4107 Refactors and bundle size improvements (@cmdcolin)
app-core
,core
🐛 Bug Fix
- Other
core
app-core
,embedded-core
📝 Documentation
🏠 Internal
Committers: 2
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin) Done in 2.06s.
Release v2.9.0
This release adds a new feature for keeping track of your "Recently used tracks" and tagging "Favorite tracks" . This will be valuable especially to users and organizations who have large tracklists!
Screenshot showing "Recently used tracks" dropdown menu
We also added the ability to load "single file hubs" from UCSC. These must be manually pasted in the "Add connection" but in the future, we may add ability to auto-load the hubs via the URL bar or similar. You can find a large amount of these single file hubs from GenArk! https://hgdownload.soe.ucsc.edu/hubs/
Finally, this release also fixes an issue people saw with auto-updates for JBrowse Desktop on Mac failing.
2.9.0 (2023-11-30)
🚀 Enhancement
- Other
- #4070 Add support for single file hubs (@cmdcolin)
- #4096 Allow searching by gene name using linear synteny view (@cmdcolin)
- #4068 Allow searching the text-index by gene name from the URL bar (@cmdcolin)
- #3948 Make the default setting for the dotplot/synteny views use 'Existing tracks' by default (@cmdcolin)
- #4039 Adds "Favorites" and "Recently used" track categories to the track selector (@carolinebridge-oicr)
- #4067 Add arc plugin to @jbrowse/react-linear-genome-view core plugins (@cmdcolin)
core
,product-core
🐛 Bug Fix
core
- Other
Committers: 2
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin) Done in 1.41s.
Release v2.8.0
This release improves support for BEDPE and arc rendering of structural variants.
It also adds a new CLI command called jbrowse sort-gff
that intends to help simplify the loading of GFF tabix tracks.
Usage:
jbrowse sort-gff yourfile.gff | bgzip > yourfile.sorted.gff.gz
tabix yourfile.sorted.gff.gz
jbrowse add-track yourfile.sorted.gff.gz --load copy --out /var/www/html/jbrowse2
The jbrowse CLI tool can load BEDPE files with simply jbrowse add-track yourfile.bedpe
(or, optionally gzipped e.g. yourfile.bedpe.gz)
Screenshot showing the same data rendered as both a BEDPE file and VCF file with different variant types (<DUP>, <DEL>, <INV>, <TRA>
). Notably, this arc rendering can render 'cross-region' or 'inter-chromosomal' arcs.
Also, if you haven't seen it, check out our new office hours and community call schedule! See https://jbrowse.org/jb2/blog/2023/11/03/office-hours/
🚀 Enhancement
- Other
- #4045 Create multi-region arc display type for variant tracks (@cmdcolin)
- #4050 Allow specifying alternative config.json path via global variable (@cmdcolin)
- #4046 Show last autosave on jbrowse-web start screen (@cmdcolin)
- #4044 Speed up "multi-region" navigation in search box (@cmdcolin)
- #4032 Add
jbrowse sort-gff
subcommand (@cmdcolin)
product-core
core
app-core
- #4024 Add right-handed arrow to view title to emphasize the focused view (@carolinebridge-oicr)
🐛 Bug Fix
- #4052 Fix browser back button behavior in jbrowse-web (@cmdcolin)
- #4043 Fix crash in "Open session" widget for sessions that have 'track-less views' (@cmdcolin)
📝 Documentation
Committers: 2
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin) Done in 2.23s.
Release v2.7.2
This creates a universal build for macOS allowing improved performance on M1 type Macs. It also fixes loading bzip2 compressed CRAM files, and adds the information about what is being currently "hovered" to the app session.
🚀 Enhancement
core
- #3923 Proposal: Add "extendWorker" extension point (@garrettjstevens)
- Other
core
,product-core
🐛 Bug Fix
- #4016 Fix mouseover tooltip getting stuck after region select popup in dotplot (@cmdcolin)
- #4007 Update cram-js for bzip2 fix (@cmdcolin)
🏠 Internal
core
app-core
,core
Committers: 3
- Alexey Mukhin (@AcaDemIQ)
- Colin Diesh (@cmdcolin)
- Garrett Stevens (@garrettjstevens) Done in 1.56s.
Release v2.7.1
This release fixes an issue with jbrowse-desktop v2.7.0 failing on certain platforms (some linux machines), adds ability to auto-render links from metadata without adding <a href='...'>
tags, and fixes another issue on sparse multi-bigwigs
🚀 Enhancement
- Other
core
__mocks__
,core
🐛 Bug Fix
- Other
core
Committers: 1
- Colin Diesh (@cmdcolin)
Release v2.7.0
This release contains a number of new features and improvements
-
adds the concept of a 'focused view' and keyboard shortcuts for zoom in/out (ctrl or cmd+up/down) and side to side scroll (ctrl or cmd +left/right)
-
make bookmark persistent in localstorage so that they are usable across different sessions
-
upgrades jbrowse-web and jbrowse-desktop to use React 18 and latest versions of mobx+mobx-react+mobx-state-tree, and enable React.StrictMode
Note: embedded users can also opt-into React 18 for their apps, see lgv storybook for details
See the full changelog below for details!
🚀 Enhancement
- Other
- #3956 Make faceted track selector facet filters responsive to adjacent filter selections (@cmdcolin)
- #3953 Report JSON parse error when failing to load JSON file on desktop (@cmdcolin)
- #3951 Add jobs widget to jbrowse-web (@carolinebridge-oicr)
- #3900 Make bookmarks persistent across sessions with local storage (@carolinebridge-oicr)
- #3896 Upgrade oclif to v3 to avoid deprecation warnings (@garrettjstevens)
- #3907 Change the config.json missing screen to an "It worked!" message (@cmdcolin)
- #3901 Use shortened VCF feature description for some types of insertions and deletions (@cmdcolin)
- #3840 Adds custom filtering option to alignments tracks (@carolinebridge-oicr)
- #3832 Adds keyboard shortcuts for panning and zooming on a focused view (@carolinebridge-oicr)
core
app-core
,core
,embedded-core
app-core
app-core
,core
,embedded-core
,product-core
,text-indexing
,web-core
app-core
,core
,web-core
- #3831 Adds session model reference to view in focus (@carolinebridge-oicr)
🐛 Bug Fix
app-core
,core
- Other
- #3946 Fix setting multiple hierarchical defaultCollapsed config options at initialization (@cmdcolin)
- #3937 Fix dev mode error from LGV overview scalebar (@cmdcolin)
- #3925 Reduce amount of canvas commands issued to the dotplot renderer (@cmdcolin)
- #3924 Fix incorrect tick mark label on dotplot axes happening in some cases (@cmdcolin)
- #3921 Fix hydration warning by only rendering the SvgFeature "selected feature" and "mouseover" client side (@cmdcolin)
- #3910 Fix feature label offsets in SVG exports with main thread RPC (@cmdcolin)
- #3905 Fix alignments track infinite loading when applying same "Color by" or "Sort by" setting twice (@cmdcolin)
- #3904 Fix "Color by"->"Mapping quality" for CRAM files (@cmdcolin)
- #3902 Fix ability to use plaintext bed in add-track CLI (@cmdcolin)
core
- #3929 Fix mouse getting out of sync while dragging resize handle (@cmdcolin)
- #3912 Avoid undefined getConf on assembly.configuration safeReference (@cmdcolin)
- #3887 Add forwardRef to wrapped re-exported lazy components (@garrettjstevens)
- #3866 Fix calculation of width of "view container title" (@cmdcolin)
- #3865 Strip alpha from colors for improved SVG export compatibility (@cmdcolin)
📝 Documentation
- #3957 Add error handler example for embedded components (@cmdcolin)
- #3913 Add color scheme for pathogenicity for ClinVar config_demo track (@scottcain)
- #3881 Improve some of the extension point documentation (@cmdcolin)
🏠 Internal
app-core
,core
,embedded-core
core
- Other
app-core
,core
,embedded-core
,product-core
,web-core
Committers: 4
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin)
- Garrett Stevens (@garrettjstevens)
- Scott Cain (@scottcain) Done in 2.80s.
Release v2.6.3
Small bugfix release, including some improvements to the ordering of tracks in the track selector. See changelog for details!
🚀 Enhancement
- Other
- #3830 Refactors LGV synteny and pileup with shared mixins (@carolinebridge-oicr)
- #3811 Add ability to show/hide all tracks in category (@cmdcolin)
app-core
🐛 Bug Fix
- #3839 Fix bug where multi-quantitative tracks plotted incorrectly for some bigwigs with empty regions (@cmdcolin)
- #3837 Fix text layout in dotplots with long coordinate strings (@cmdcolin)
- #3825 Fix SVG export compatibility by removing rgba strings (@cmdcolin)
- #3814 Fix suspense fallback to track container for lazy loaded display components (@cmdcolin)
- #3808 Fix track ordering of hierarchical track selector to more closely match the config.json (@cmdcolin)
- #3806 Fix a bug on the BookmarkWidget mui data grid where labels were not saving (@carolinebridge-oicr)
- #3804 Fix version missing from about menu in @jbrowse/react-app (@cmdcolin)
🏠 Internal
Committers: 3
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin)
- Robert Buels (@rbuels) Done in 1.50s.
Release v2.6.2
This is a small bugfix release. We removed source maps to avoid some typescript warnings for consumers of our NPM packages. This means our "src" is no longer published to NPM.
We also fixed the "Stranded sequencing" coloring option on alignments tracks, which is espescially useful for stranded paired-end RNA-seq, and renamed the option to "Color by->First of pair strand" also, which corresponds to the terminology of IGV.
Figure showing stranded paired-end RNA-seq data with a positive and negative strand gene in view
🚀 Enhancement
- #3796 Allow workers to load CJS plugins (@garrettjstevens)
- #3783 Add ability for track selector button in synteny view to select individual views (@cmdcolin)
- #3452 Use notarytool for macOS desktop signing (@cmdcolin)
- #3766 Add nextjs circular genome view demo (@cmdcolin)
🐛 Bug Fix
- Other
- #3798 Fix VCF feature starting at 1-based 1 (@cmdcolin)
- #3775 Fix stranded RNA-seq rendering and rename option Color by -> "First-of-pair strand" (@cmdcolin)
- #3758 Adds safety checks on AlignmentsDisplay properties to avoid undefined rendering (@carolinebridge-oicr)
- #3770 Fix potential issue with display searchFeatureByID being undefined (@cmdcolin)
core
- #3784 Fix synteny rubberband tooltips when views are exactly the same (@cmdcolin)
- #3782 Fix crash on color picker component using debounce on color property (@carolinebridge-oicr)
- #3767 Check session tracks for text search adapters (@garrettjstevens)
app-core
,core
,embedded-core
,product-core
,text-indexing
,web-core
🏠 Internal
- Other
core
,product-core
Committers: 3
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin)
- Garrett Stevens (@garrettjstevens) Done in 1.55s.
Release v2.6.1
Hello all,
This ended up being a big release with a lot of new stuff!
Features
- Created the @jbrowse/react-app NPM package which effectively makes the jbrowse-web package NPM-installable. This is still new so let us know what you think. See the docs at https://jbrowse.org/storybook/app/main and example usages at https://jbrowse.org/jb2/docs/embedded_components/ (this is pretty new, there may be more updates or changes to come with this package!)
- Improved code sharing across web, desktop, and embedded products (this was a large refactor, if you see any bugs let us know!)
- Improved display of inversions in the read cloud display (see screenshot)
- Fixed persistent issue with
jbrowse create
CLI creating corrupted output (update your local install withnpm install -g @jbrowse/cli
)
Figure showing split long reads alignments on the read cloud display spanning an inversion showing forward (red) to reverse (blue) and back to forward again.
🚀 Enhancement
- Other
- #3743 Create mixin for shared code between LinearWiggleDisplay and MultiWiggleLinearDisplay (@cmdcolin)
- #3711 Allow synteny data adapters to open files larger than 512Mb (@cmdcolin)
- #3639 Add button to bookmark in jbrowse-web share dialog (@cmdcolin)
- #3631 Add BEDPE add track workflow, avoid showing "Add track" when disabled (@carolinebridge-oicr)
- #3700 Render alignment track arcs instantly after bpPerPx change (@cmdcolin)
- #3695 Reduce re-drawing on alignments track paired read arcs/cloud display types (@cmdcolin)
core
- #3725 Filter tracks that match all view.assemblyNames in multi-assembly track selector modes (@cmdcolin)
- #3531 Add @jbrowse/react-app embedded component (@cmdcolin)
- #3653 Evaluate extension point on track config pre-process snapshot (@cmdcolin)
- #3706 Miscellaneous alignments arc/cloud fixes (@cmdcolin)
- #3698 Add column resizers to the variant ANN/CSQ panels (@cmdcolin)
app-core
,product-core
,web-core
__mocks__
🐛 Bug Fix
core
- #3749 Avoid re-prompting a user login when refresh token is processed (@cmdcolin)
- #3572 Add OAuth and HTTP BasicAuth servers for local testing, fix some OAuth flows (@garrettjstevens)
- #3708 Add removable-media to jbrowse desktop snap (@cmdcolin)
- #3687 Take into account ML tag when showing MM tag on alignments, misc refactoring (@cmdcolin)
- Other
- #3747 Fix blank lines in GFF crashing text-index (@cmdcolin)
- #3739 Fix specifying the assemblyNames config slot on add-connection CLI (@cmdcolin)
- #3631 Add BEDPE add track workflow, avoid showing "Add track" when disabled (@carolinebridge-oicr)
- #3667 Fix horizontal flip functionality for Hi-C display (@studentshivang)
- #3703 Fix rendering error in alignments tracks when filtering by tag in CRAM file (@Lilas-w)
- #3694 Fix ability to filter certain fields in BAM/CRAM files (@cmdcolin)
- #3691 Fix breakpoint split view alignment connections not pointing at right position in v2.5.0 (@cmdcolin)
- #3686 Fix jbrowse create/jbrowse upgrade CLI intermittent failures (@cmdcolin)
product-core
,web-core
app-core
,core
,embedded-core
app-core
📝 Documentation
- Other
core
,embedded-core
,product-core
🏠 Internal
app-core
,core
,product-core
,text-indexing
core
- Other
app-core
,core
,product-core
,web-core
product-core
app-core
,core
,embedded-core
,product-core
,text-indexing
core
,product-core
Committers: 6
- Caroline Bridge (@carolinebridge-oicr)
- Colin Diesh (@cmdcolin)
- Garrett Stevens (@garrettjstevens)
- Robert Buels (@rbuels)
- Shivang Dwivedi (@studentshivang)
- @Lilas-w Done in 2.84s.
Release v2.5.0
This release includes some small bugfixes. It also renames some internal APIs, if you are a plugin developer, take note of the new naming.
🚀 Enhancement
- Other
core
🐛 Bug Fix
core
- #3681 Guard against undefined in CoreGetFeatureDetails (@cmdcolin)
- #3662 Fix empty feature sequence on top-level gene feature (@cmdcolin)
- #3666 Fix text boxes being too small in Dialog boxes (@cmdcolin)
- #3642 Fix error handling of feature detail formatter jexl callbacks (@cmdcolin)
- #3621 Update plugin rollup polyfill package (@garrettjstevens)
- #3620 Fix potential crashes where alignment SEQ field may be empty, simplify some display model code (@cmdcolin)
- Other
- #3670 Only double-click zoom if not clicking on feature (@cmdcolin)
- #3652 Fix text being invisible on overview scalebar when cytobands shown (@cmdcolin)
- #3632 Fix mouse click-and-drag behavior in the alternative "cursor mode" for the dotplot view (@cmdcolin)
- #3625 Fix UCSC trackhub assembly aliases matching (@andrzejgrzelak)
__mocks__
,core
📝 Documentation
- Other
core
🏠 Internal
core
Committers: 4
- Colin Diesh (@cmdcolin)
- Garrett Stevens (@garrettjstevens)
- Robert Buels (@rbuels)
- @andrzejgrzelak