Releases: GMOD/jbrowse
JBrowse 1.13.1
Minor improvements
-
Gene, ProcessedTranscript, and Segments glyphs can now render third-level subfeatures
(such asstop_codon_read_through
features) as simple boxes that draw on top of the
main segment glyph. Thanks to @mpoelchau for pointing out the need for this!
(issue #584, @rbuels) -
CanvasFeatures tracks, when guessing which glyph to show for a feature in a track
that does not specify glyphs in its configuration, will now use a Segments glyph
instead of a Box glyph if the feature in question has subfeatures, and is not
otherwise recognized as a gene or processed transcript. @rbuels -
Added a check in the
setup.sh
script for NodeJS >= 6 and NPM >= 3.
(issue #1026, @rbuels) -
Plugins that don't need CSS can now set
jbrowsePlugin.css
tofalse
in their
package.json files to prevent JBrowse trying to load their css/main.css file,
if they don't use any CSS. (@rbuels) -
Add ability for the CanvasFeatures feature labels to stay visible on the screen.
(issue #390, pull #971, @cmdcolin, @rbuels) -
Improve VCF tracks support for GVCF generated by GATK, and fix a number of related
VCF details display bugs. (pull #991, @cmdcolin) -
generate-names.pl
now supports indexing GFF3 files, enabling better use of
GFF3Tabix tracks. Thanks to @billzt for the initial implementation!
(issue #780, pull #900, @rbuels) -
CanvasFeatures
ProcessedTranscript
andGene
glyphs now support a "style→utrHeightPercent" configuration variable that sets the percentage of the overall feature's height that a UTR have. This was previously hardcoded to 65, now it is customizable, defaulting to its old value of 65. @rbuels
Bug fixes
-
Updated
NeatCanvasFeatures
andNeatHTMLFeatures
plugins to support agradient
configuration variable, fix rendering of outrons, restore their default
gradient-drawing behavior, disable gradients by default on Alignments and
Alignments2 track types, and clean up their documentation. (issue #931, issue #982,
issue #985, issue #931, issue #992, pull #1011, @enuggetry) -
Fixed a bug with plugin loading that was preventing some plugins from working
correctly. (issue #1025, @rbuels) -
flatfile-to-json.pl
will now refuse to format a track if the trackLabel
contains a '/' character. Thanks to @dytk2134 for pointing this out, and @cmdcolin
for the fix! (issue #1023, @cmdcolin) -
Fixed a bug in which the viewing location would not be preserved across page reloads
ifgenerate-names.pl
had not been run, or a names store had not otherwise
been defined. Thanks to @cmdcolin for the bug report. (issue #1016, @rbuels)
JBrowse 1.13.0
Major improvements
-
JBrowse now uses a Webpack-based build system, which greatly speeds up JBrowse's
initial loading time. Going forward, this change will also enable us to make
much more effective use of the huge node.js ecosystem that has grown up in
recent years, as well as to use newer versions of JavaScript itself while
still maintaining compatibility with older web browsers. -
Behind the scenes, the way JBrowse plugins are discovered and loaded has also
changed significantly. The most visible consequence of this change is that
installations that use plugins must now use the JBrowse-1.13.0-dev.zip release
(or check out themaster
branch from GitHub), and must re-run the webpack build
(most easily by runningsetup.sh
) every time a plugin is added or removed from
JBrowse. Although we think that most users of plugins will not experience any
problems, we recommend that installations that make use of plugins other than the
standard built-in plugins (Neat*Features, RegexSearch, etc) test the compatibility
of their plugins thoroughly before deploying this release, and report any problems
either to the JBrowse issue tracker on GitHub, or to the gmod-ajax mailing list. -
Again, concisely: if you use JBrowse plugins other than the "stock" ones that
come with JBrowse, you must now use thedev
release of JBrowse, and re-run either
setup.sh
ornpm run build
every time you add or remove a plugin.
(issue #981, @rbuels) -
JBrowse plugins can now be published and installed with NPM. Simply publish your
plugin using the standardnpm publish
machinery, and make sure its package name
ends with "-jbrowse-plugin". For example, if you have a plugin named "foo", publish
it to npm as "foo-jbrowse-plugin". However, if your plugin is named MyAwesomePlugin,
which is not compatible with npmjs.org's naming conventions, you will want to publish
it as something like "myawesome-jbrowse-plugin" and add a configuration stanza to its
package.json file telling JBrowse its real plugin name. Example:{ ... "jbrowse": { "pluginName": "MyAwesomePlugin" }, ... }
Minor Improvements
-
Added
disableCollapsedClick
andenableCollapsedMouseover
track configuration options.
TheenableCollapsedMouseover
option is useful when features do not overlap e.g.
chromosome segmentation anddisableCollapsedClick
is useful when the collapsed features
are very dense. Thanks to @rdhayes for tips (issue #544, pull #870, @cmdcolin) -
Removed JBrowse 1.2.1 compatibility. Please use JBrowse 1.12.5 or earlier
if you still have old data formatted with JBrowse 1.2.1. (@rbuels) -
For
npm
installations of JBrowse, jb_run.js and jb_setup.js are now installed into
the standardnode_modules/.bin
location. (issue #1021, @rbuels)
Bug fixes
JBrowse 1.12.5
Minor improvements
-
Safari versions 10 and 11 will now see buttons for downloading feature FASTA
sequences, as well as other sequences. These were turned off for all Safari
browsers back when no version of Safari could download a client-generated file,
but Safari 10 and 11 support it now. Thanks to @kkara for noticing the button
was missing and prodding us to look into it. (issue #714, @rbuels) -
Changed the default color for HTMLFeatures features to be a darker gray that
is easier to see. Many thanks to @colindaven for the fix! (pull #980, @colindaven) -
Added the ability to manually specify a reference sequence ordering in the
configuration. Users can now setrefSeqOrder: "by_list"
and then set
refSeqOrderList: "ctgX,ctgY,ctgZ"
to manually specify an ordering.
Thanks to @dsenalik, @liub1993, @wkpalan, and @cmdcolin for valuable
discussions about this, and @rdhayes for the prototype implementation.
(issue #867, issue #919, pull #1007, @rdhayes) -
Added a
--noSort
option toprepare-refseqs.pl
that preserves the reference
sequence ordering in the input file, instead of sorting the reference sequences
alphabetically in the JSON. Thanks to @dsenalik for the prototype implementation
of this, and @cmdcolin and @rdhayes for valuable discussions.
(issue #925, pull #924, pull #1007, @dsenalik) -
Feature tracks now support a
showNoteInAttributes
flag that force the feature's
Notes
attribute to be displayed as a regular attribute in the feature detail
popup. This is to support the case in which users want the blue description text
on a feature to be different from the feature'sNotes
attribute, but still display
theNotes
attribute in the detail dialog. Thanks to @loraine-gueguen and @cmdcolin
for the idea and the implementation. (pull #885, @cmdcolin) -
When users click on an item in the dropdown autocompletion for the browser search
box, the browser will go directly to that item immediately, eliminating the extra
step of the user having to click "Go". Many thanks to @enuggetry for noticing the
opportunity for this nice usability enhancement! (issue #616, pull #1001, @rbuels) -
The global
highResolutionMode
configuration is now set toauto
, meaning that
JBrowse by default will now auto-detect high-DPI displays (Apple Retina displays
and similar) and draw canvas-based tracks more clearly on them. This capability
has been present in the JBrowse code for a long time, but has been turned off
by default. (@rbuels) -
Added support for two new configuration variables for SNPCoverage tracks:
indicatorProp
andindicatorDepth
, which set the minimum proportion (indicatorProp)
and minimum depth (indicatorDepth) of alternative alleles required to render the
SNP indicator below a SNPCoverage track. Big thanks to Nathan Haigh for the idea
and implementation! (pull #951, @nathanhaigh) -
Added a basic loading screen for when the page is initially loading (pull #1008,
@cmdcolin) -
The
subfeatureDetailLevel
configuration variable for tracks now defaults to a value
of 2, meaning that the builtin JBrowse default feature detail popup dialogs will only
show one level of subfeatures by default. Most feature tracks have only one level of
subfeatures anyway, but for very complex data (like gene models with many transcripts,
each with many introns and exons), this new default will prevent a rather confusing
problem some users were seeing in which JBrowse would seem to 'hang' when clicking a
gene model to see its details. Thanks to @cmdcolin for the original implementation of the
subfeatureDetailLevel
configuration variable, @kshefchek for a good bug report that
shows it, and @nathandunn and @selewis for valuable discussions.
(issue #559, pull #1010, @rbuels)
Bug fixes
-
Fixed a security issue with JBrowse error messages. Thanks to @GrainGenes for
noticing and reporting it! (issue #602, @rbuels) -
Fixed an off-by-one error in the "Next segment position" field of BAM features.
Thanks to @keiranmraine for reporting it, and @rdhayes for tracking down the fix!
(issue #907, pull #986, @rdhayes) -
Fixed the broken demo track data source in the modENCODE sample data. Thanks
to @cmdcolin for the fix! (pull #999, @cmdcolin) -
Fixed bug in which dragging an Alignments or Alignments2 track into a combination
track caused the combination track to crash. (issue #771, @cmdcolin) -
Feature detail dialogs for variant tracks now correctly display "no-call" in
the genotype details table for "./." alleles. Thanks to @carrere for reporting
it, and @cmdcolin for the fix. (issue #980, pull #990, @cmdcolin) -
Fix parsing of the END field in VCF tracks, enabling things like CNV and deletion
variants to be visualized from variant tracks. (pull #847, @cmdcolin) -
Fixed a long-standing bug in JBrowse configuration template parsing that
prevented use of dot-notation nested variable names, e.g.{foo.bar}
, in
JBrowse configuration, as well as whitespace inside the braces. Big thanks to
@wuroger for finding this bug. (issue #1012, @rbuels)
JBrowse 1.12.4
Minor improvements
-
Fixed SEVERE performance regression that basically made flatfile-to-json.pl
unusable on Perl 5.18 and higher. Huge thanks to Colin Diesh for tracking
this down. (issue #470, pull #912, @cmdcolin) -
Added code to calculate feature density histograms for Tabix-indexed GFF3
(GFF3Tabix
) data sources. Thanks to @nathandunn for noticing and fixing
this! (pull #956, @nathandunn) -
Added a new "Hide unspliced reads" menu item to Alignments and Alignments2
tracks that filter out reads that have noN
s in their CIGAR strings.
Thanks to Deepak Kunni and Nathan Dunn for their work on this.
(pull #921, @deepakunni3) -
setup.sh now uses npm instead of Bower (which is deprecated) to install
dependencies. @enuggetry -
Removed legacy
wig-to-json.pl
andbam-to-json.pl
scripts. @rbuels -
Added a
--trackConfig
option toprepare-refseqs.pl
to allow injecting
refseq configuration variables at format time. (pull #884, @erasche) -
Added trackLabels: "no-block" config feature. Moves track labels/menus
above the features so as not to obscure the features. (issue #901, #490) -
Added a
--category
option toadd-bw-track.pl
andadd-bam-track.pl
to
set the new track's category. Thanks to @loraine-gueguen for the implementation!
(pull #911, @loraine-gueguen) -
Made jbrowse installable using
npm
. @cmdcolin and @enuggetry. -
Implemented a built-in node.js Express server
jb_run.js
for quick JBrowse launching.
@enuggetry -
Added an
--unsorted
option toprepare-refseqs.pl
that formats reference sequences
in the same order in which they appear in the input sequence file. Thanks to
@dsenalik for the suggestion and implementation! (pull #924, @dsenalik) -
Allows for dot-notation instead of JSON (pull #952) for addTracks, addBookmarks,
and addStores. #952. Address security concerns
adding JSON to GET (https://nvd.nist.gov/vuln/detail/CVE-2016-6816) @nathandunn. -
If a track has no
key
set in its track configuration, JBrowse will now look for
akey
in its track metadata, and use that if it is present. Thanks to Loraine
Guéguen for the idea (issue #957, pull #958). @rbuels -
Fixed bug in
maker2jbrowse
script that allowsmaker2jbrowse
to be installed
in system executable directories, and adds a--sortMem
option.
(pull #877, @cmdcolin) -
Fixed a cosmetic/styling bug with malformed DOM structure in feature detail popup
dialogs. Thanks to Erik Rasche for noticing and fixing this! (pull #882, @erasche) -
Added a configuration option that can disable JBrowse's behavior of updating the
browser's title text as the view changes. Thanks to Luka Jeran, Primož Hadalin,
and Nathan Dunn for this! (pull #904, @lukaw3d) -
Suppress execution of biodb-to-json.pl on sample data while running setup.sh
on MacOS High Sierra with stock Perl due to an issue with the stock Perl having
broken BerkeleyDB integration, which is needed by Bio::DB::SeqFeature::Store,
the main storage engine used by biodb-to-json.pl. Bug was manifesting as the script
running indefinitely and taking all available disk space.
(pull #945, issue #946, @deepakunni3 and @rbuels) -
Mitigate race condition that could sometimes cause duplicate tracks to be shown
when the browser is started with theloc
query parameeter set to the name of
a feature. Thanks to Colin Diesh for the fix. (issue #567, @cmdcolin) -
Fixed issue in which JBrowse crashed when negative numbers were supplied for highlight
coordinates in the URL. Thanks to @h2akim for reporting, and @cmdcolin for debugging help.
(issue #769, @rbuels) -
Add
--config
command-line option toadd-bw-track.pl
andadd-bam-track.pl
scripts. Thanks to Chris Childers for suggesting this! (issue #620, @rbuels) -
Fixed a "cannot read property 'offsetLeft'" error when using touch screens without
the old simple track selector active. (issue #893, @rbuels) -
Upgraded to use new Google Analytics API for usage reporting. (@rdhayes)
-
Fixed bug in which start/stop codons were sometimes not displayed in the sequence
track at certain zoom levels (issue #858, pull req #859, @cmdcolin) -
Fixed a regression in which the
defaultTracks
configuration variable was no longer
respected when set to a comma-separated list. (issue #892, pull #896, @rdhayes) -
Made a cosmetic change to Alignments track detail popups, changing "Length on ref" to
be displayed as "Seq length on ref", so that it is displayed more usefully next to
"Seq length". Thanks to @colindaven for the suggestion and implementation!
(pull #939, @colindaven) -
Improved the error messages displayed when a JBrowse glyph class fails to load. Thanks
to @scottcain and @cmdcolin for tracking down the issue and improving the error
handling! (issue #968, @cmdcolin) -
Added support for an
addFeatures
URL query parameter that can inject features from
the URL query string. (issue #976, @nathandunn) -
Changed the project's
git
workflow to utilize adev
branch that is separate from
master
, withmaster
only being updated when a new release of JBrowse is published.
(issue #975, @enuggetry) -
Implemented automated deployment of JBrowse releases to GitHub releases and
npm
.
Thanks to @abretaud, @nathandunn, @erasche, and @cmdcolin for valuable discussions.
(issue #822, pull #979, pull #984, @rbuels) -
Added a
--bigwigCoverage
option toadd-bam-track.pl
to support configuring pregenerated
coverage histograms from the command line. Thanks to @loraine-gueguen for the suggestion
and implementation! (pull #972, @loraine-gueguen) -
Improved documentation of the
CategoryURL
plugin. (pull #985, @enuggetry)
JBrowse 1.12.3
Release 1.12.3 2017-05-02
Pre-Packaged downloads: http://jbrowse.org/jbrowse-1-12-3/
Minor improvements
-
Upgraded build system to install dependencies with bower and
updated to dojo 1.9.8 (issue #718). -
Added the ability to load tabix indexed GFF and BED files.
Thanks to Colin Diesh and @zhjilin for contributing (issue #670). -
Added ability to open BED files in the "Open track" user interface
(issue #729). -
Added ability to access SPARQL and other jbrowse data stores via
CORS. Thanks to the WebApollo hackathon and Eric Rasche for
contributing (issue #679). -
Added extra coloring schemes for the Sequence track when using
protein residues. Thanks to Eric Rasche for the idea and
implementation (issue #673). -
Added ability to specify custom exporter classes for the "Save
track data" option, for example, adding exporter code in plugins
(issue #682). -
Added ability to specify custom name store classes via plugins,
which allows plugins to implement their own search functionality
(issue #732). -
Added a timeout for the track feature density calculations which
can aid problems like consistent chunkSizeLimit issues
(issue #540, issue #730). -
Added an option to specify multiple highlights, or bookmarks,
using the config file, a remote service, or the URL bar
(issue #668). -
Added support for parsing BAM files from IonTorrent (issue #782,
issue #568). -
Added support for native file access to .2bit files (issue #759).
-
Added list of plugins in about box (issue #848).
-
Added cacheMismatches option to improve performance when viewing
long-read alignments (issue #860). -
Added subfeatureDetailLevel config item to make View details box
only load subfeatures on demand (issue #861). -
Added ability to draw scatter plot from BigWig tracks. Thanks to
Keiran Raine for the contribution (issue #741). -
Added a fullviewlink option for the URL bar to disable "View full
link" attribute in embedded JBrowse. Thanks to Vivek Krishnakumar
for contributing (issue #813). -
Added URL parameter &tracklabels=0 and config parameter to hide
track labels (issue #869). -
Added renderAlignment option which creates a per-base alignment
view of the read versus the reference (issue #795). -
Added inferCdsParts option which creates CDS subfeatures from a
continuous CDS region for CanvasFeatures glyphs. Thanks to
Vivek Krishnakumar for the contribution (issue #872). -
Added events tracks/focus, tracks/unfocus, allowing for context
switching based on selected track.
Bug fixes
-
Made the menu bar widgets centered again (issue #680).
-
Fixed error where the sequence track would not load after "Open
sequence file" (issue #831). -
Fixed problem with persistant "Error reading from name store"
message. Thanks to Anthony Bretaudeau for contributing the fix!
(issue #820). -
Reverted to standard eukaryotic codon set.
-
Fixed issue where saving session in JBrowse Desktop where plugins
were not saved with session. -
Fixed an error if there were numerical values being used as label
or description for the CanvasFeatures type tracks. Thanks to
Eric Rasche for reporting (issue #673). -
Fixed some issues where the Gene glyph would not layout some
features correctly. Thanks to Eric Rasche for reporting
(issue #686). -
Fixed an issue with JBrowse Desktop where saving session would not
save the tracks that were not visible. -
Added fix when using indexed fasta from prepare-refseqs.pl.
Thanks to @billzt for the report (issue #719). -
Added a fix for an issue where editing the configuration of files
that were opened by a user didn't work. Thanks to @lpryszcz for
the report (issue #569). -
Fixed some inconsistencies where "Open sequence" on file with a
.fasta file extension failed (issue #696). -
Fixed issue where track labels would re-appear during scroll
(issue #793). -
Added handler for click scrolling in genome view. Thanks to
@exogenesys for fixing (issue #709). -
Fixed a rare error that only affected some versions of Chrome
(issue #758). -
Removed linear gradients from some NeatFeatures tracks
(issue #721). -
Fixed issue where saving GFF3 would fail if the source data
was in VCF format (issue #800). -
Fixed issue where there was a mix of plugin declarations
(issue #866).
1.12.2 (SPECIAL) release to correspond with Apollo 2.0.3 release
1.12.2 release to correspond with Apollo 2.0.3 release.
JBrowse 1.12.1
Minor improvements
- Update Dojo to 1.8.10
Bug fixes
- Fix RegexSearch plugin and NeatCanvasFeatures plugin – search track
loading failure (issue #676) - Fix compat_121.html to access /css directory