Skip to content

JBrowse 1.15.0

Compare
Choose a tag to compare
@rbuels rbuels released this 20 Jul 00:57
· 916 commits to dev since this release

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 and htsjdk 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 the csiUrlTemplate 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 with names.dialog entry, or disable search dialog with disableSearch.
    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: set dontRedispatch=region
    if there are very large region 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 or NeatHTMLFeatures/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 setting allowCrossOriginDataRoot = 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 when node is not installed, printing a decent error message. (issue #1082, pull #1083, @cmdcolin)