JBrowse 1.15.0
Major improvements
-
Added support for displaying alignments from CRAM files, using the new npm module @gmod/cram. Thanks to @keiranmraine, @cmdcolin, @nathanhaigh, and the authors of
htslib
andhtsjdk
for invaluable test data and suggestions during this major effort. (issue #546, pull #1120, @rbuels) -
Added support for the CSI index format for tabix VCF/BED/GFF and BAM files! This allows
individual chromosomes longer than ~537MB (2^29 bases) to be used in JBrowse. To enable,
use thecsiUrlTemplate
config to point to the file. The "Open track" dialog also allows
CSI to be used. Thanks to Keiran Raine for initial report and Nathan S Watson-Haigh for
catching a bug in the initial implementation! (issue #926, pull #1086, @cmdcolin) -
Added a new search dialog box via the View->Search features menubar. It will search the
currently configured store for features. You can also configure the dialog class in the
configuration withnames.dialog
entry, or disable search dialog withdisableSearch
.
Thanks to the #GCCBOSC hackathon for the idea and feedback (pull #1101, @cmdcolin).
Minor improvements
-
Re-enabled JBrowse Desktop builds for releases! The Windows, Mac, and Linux binaries for
JBrowse Desktop are uploaded automatically to GitHub releases page. JBrowse Desktop is a
standalone app that can be used without a web server, similar to IGV or IGB (@cmdcolin) -
Added a
dontRedispatch
option for GFF3Tabix stores. Example: setdontRedispatch=region
if there are very largeregion
biotype features in the GFF that do not have subfeatures
which will speed up loading times significantly (issue #1076, pull #1084, @cmdcolin) -
Add auto-lower-casing to the feature.get('...') function, commonly used for callback
customizations. Now, for example, feature.get('ID') works as well as feature.get('id').
Thanks to @nvteja for motivating this! (issue #1068, pull #1074, @cmdcolin) -
Added cache-busting for track config files which actively prevents stale configuration files
from being loaded (pull #1080, @cmdcolin) -
Added indexing of both Name and ID from GFF3Tabix files from generate-names.pl. Thanks to
@billzt for the implementation! (issue #1069) -
Made the color of the guanine (G) residue more orangey than yellow to help visibility.
Thanks to Keiran Raine for the implementation! (issue #1079) -
Refactored NeatCanvasFeatures and NeatHTMLFeatures as track types. You can enable the track
style on specific tracks instead of globally this way by modifying the track type to be
NeatCanvasFeatures/View/Track/NeatFeatures
orNeatHTMLFeatures/View/Track/NeatFeatures
.
(pull #889, @cmdcolin). -
In the location box, allow strings with format ctgA:1-100 e.g. with a hyphen instead of
..
.
Big thanks to Nathan S Watson-Haigh for the idea and implementation! The default display
remains..
but-
is allowed. (issue #1100, pull #1102, @nathanhaigh) -
Allow sequences with a colon in their name to be used in the location box. This includes
the HLA reference sequences in hg38. Thanks again to Nathan S Watson-Haigh for the
implementation of this feature. (pull #1119, @nathanhaigh) -
Fix sensitivity to .gff.gz vs .gff3.gz in GFF3Tabix tracks opened via the "Open track"
dialog for GFF3Tabix. (issue #1125, @cmdcolin) -
Feature detail dialog boxes now display subfeatures of features on the reverse strand in
upstream-to-downstream order, instead of in genomic coordinate order. Thanks to
@nathanhaigh for suggesting this and contributing the fix! (issue #1071, pull #1114, @nathanhaigh)
Bug fixes
-
Fixed a potential cross-site-scripting (XSS) vulnerability by disallowing
dataRoot
config
values or?data=
URL parameters that point to a different server from the one serving
JBrowse. Users can disable this security check by settingallowCrossOriginDataRoot = true
in their configuration. (@cmdcolin, @rbuels) -
Fixed a memory leak that was introduced in JBrowse 1.13.1 in generate-names.pl. Thanks to
@scottcain for reporting (issue #1058, @cmdcolin) -
Fix the error checking in setup.sh if no node is installed at all (pull #1083, @cmdcolin)
-
Fix calculation of histograms on GFF3 and GFF3Tabix stores. Thanks to @thomasvangurp for
the bug report and sample data! (issue #1103, @cmdcolin) -
Fix the representation of array-valued attributes in column 9 for GFF3Tabix. Thanks to
@loraine-gueguen for the bug report! (issue #1122, @cmdcolin) -
Fixed a bug in which visibleRegion() in GenomeView.js sometimes returned a non-integer value for
end
, which interfered with some scripts and plugins. Thanks to @rdhayes for noticing and contributing the fix! (issue #491, @rdhayes) -
Fixed bug where reference sequences with names containing the
:
character could not be switched to by typing their name in the search box. (issue #1118, pull #1119, @nathanhaigh) -
Fixed
setup.sh
behavior whennode
is not installed, printing a decent error message. (issue #1082, pull #1083, @cmdcolin)