JBrowse 1.10.11 maintenance release

JBrowse 1.10.11 has been released, with many bug fixes and better support for spliced alignments in SNPCoverage tracks.

(Download disabled.  Please download the 1.10.12 release or later instead.)

Minor improvements

  • Made the sequence track’s “zoom in to see sequence” placeholder
    take up less vertical space. Thanks to Scott Cain for pointing out
    that making it be the same height as it will eventually be when
    zoomed in to base level is silly.

  • By default highlighting features after searching for them by name
    is now turned off. Set the highlightSearchedRegions top-level
    conf variable to true to turn this back on. Turns out, most
    people seem not to like this behavior. Thanks to Gregg Helt and
    Cris Lawrence for pointing this out.

  • SNPCoverage tracks now correctly display “skipped” regions in
    alignments, such as those produced by TopHat. Thanks to Josh
    Orvis, Gustavo Cerquiera, and others for reminders that this was
    still an issue.

  • SNPCoverage tracks now provide per-strand counts of “reference”
    reads at each position, like they already were providing for
    reads with mismatches.

  • SNPCoverage tracks now accept a mismatchScale configuration
    variable that sets the viewing scale (i.e. zoom level, pixels per
    bp) above which base-level mismatches will be drawn. Defaults to
    1/10. Making this value larger can speed up SNPCoverage tracks for
    high-coverage data at the cost of needing to zoom in further to see
    mismatches.

  • setup.sh now uses curl for downloading things instead of wget,
    since curl is more widely available. Thanks to Keiran Raine for
    suggesting and implementing this (issue #393).

Bug fixes

  • Fixed a bug in which generate-names.pl would sometimes report the
    incorrect number of hashing bits in verbose output, and would
    sometimes use the number of hashing bits for an existing index even
    if that index was being regenerated. Thanks to Richard Hayes for
    pointing out the incorrect log output.

  • Fix generate-names.pl crashing on some older versions of Perl with
    an error like Bareword "POSIX::O_RDONLY" not allowed while "strict
    subs" in use
    . Thanks to Chris Childers for pointing this out.

  • Fix setup.sh failing on some older versions of Perl. It now runs
    generate-names.pl with the --safeMode flag.

  • Fixed a bug where the value display in SNPCoverage tracks would
    sometimes report “NaN%” for the reference when no reads cover a
    region.

  • Fixed a bug in which activating rubberband zooming using the SHIFT
    key while in highlighting mode would cause all the tracks to be
    dragged when attempting to highlight a region afterward. Thanks to
    Erik Derohanian for pointing out and fixing this (issue #387).

  • Fixed the location of the dojo/nls directory in release zipfiles.
    Was erroneously in src/nls, supposed to be src/dojo/nls. Thanks to
    Matt Bomhoff for pointing this out.

  • The in-memory GFF3 parser now copes with a missing newline at the
    end of a GFF3 file. Previously, the last line was ignored if it
    did not end with a newline character. Thanks to Colin Davenport
    for pointing this out (issue #394).

Posted in Software releases | Leave a comment

JBrowse 1.10.10 maintenance release

JBrowse 1.10.10 has been released, with new compression support in generate-names.pl, configurable inter-track spacing, and quite a few bug fixes.

(Download disabled.  Please download the 1.10.12 release or later instead.)

Minor improvements

  • Spacing between tracks is now configurable by setting
    view.trackPadding in the configuration. Thanks to Chenchen Zhu
    for suggesting this (issue #377).

  • If reference sequences are defined, but no tracks are yet added,
    JBrowse will start normally instead of going to the
    “Congratulations, JBrowse is on the web” page.

  • generate-names.pl now supports a --compress option that
    compresses the name index files to save server disk space. Thanks
    to Richard Hayes for pointing out the need for this (issue #378).

Bug fixes

  • generate-names.pl now uses IO::Uncompress::Gunzip instead of
    PerlIO::gzip to read compressed VCF files. This fixes a bug in
    which only the first few hundred names in a VCF were indexed.
    Thanks to Cris Lawrence for pointing this out (issue #380).

  • Fixed a bug in which generate-names.pl would crash if run with
    --incremental and no existing names index. Thanks to Richard
    Hayes for pointing this out (issue #379).

  • Fixed a bug in which generate-names.pl would sometimes choose the
    wrong number of hash bits when performing incremental updates,
    leading to the old data being lost. Thanks to Richard Hayes for
    lots of help troubleshooting this.

  • Fixed bug where other tracks are visible underneath pinned tracks
    when the display is scrolled down. Thanks to Ed Lee for pointing
    this out.

  • Fixed a bug in which tooltip does not hide after the mouse leaves a
    Wiggle track in Safari 5 and 6. Thanks to Charles Girardot for
    pointing this out.

  • Fixed a bug in which the main.css file for plugins was not being
    correctly loaded in some installations. Thanks to Matt Bomhoff for
    pointing this out.

Posted in Software releases | Leave a comment

JBrowse 1.10.9 maintenance release

JBrowse 1.10.9 has been released, with new incremental-updating support in generate-names.pl, along with some other bug fixes and small improvements.

Files for download:

Minor improvements

  • generate-names.pl now supports a --incremental or -i option
    that adds names to an existing index. Thanks to Richard Hayes for
    reminding me that this wasn’t done yet (issue #373).

  • Added a lower-performance, but more backward-compatible indexing
    backend to generate-names.pl that can be activated by passing the
    --safeMode command-line argument. The recent performance
    improvements to generate-names.pl have apparently tickled some bugs
    that are present in some installations. Thanks to Josie Reinhardt
    and GitHub user raj76 for their continued help troubleshooting
    this. If you find that name indexing is not working correctly, try
    running it again with --safeMode, and report to the mailing list
    if it helps.

  • Added support for using the JBrowse in-memory GFF3 adaptor to
    display web-accessible GFF3 files directly. See
    docs/tutorial/data_files/volvox.gff3.conf for an example
    configuration. Thanks to David Goodstein and Richard Hayes for
    motivating this.

Bug fixes

  • flatfile-to-json.pl now depends on the latest
    Bio::GFF3::LowLevel::Parser 1.8, which fixes a bug in which
    features with no ID, Parent, or Derives_from attributes were not
    being included in parsed data. Thanks to Gwendoline Andres for
    pointing this out.

  • Tweak BioPerl-handling code in biodb-to-json.pl to hopefully work
    better with BioSQL backends. Thanks to Brian Osborne for pointing
    this out.

Posted in Software releases | Leave a comment

JBrowse 1.10.8 maintenance release

JBrowse 1.10.8 has been released, with an important bugfix for generate-names.pl, better REST data store feature caching, and more.

Files for download:

Minor improvements

  • Added a new navigateTo action usable for customizing feature
    left-clicks and right-click menus. Thanks to Scott Cain for
    requesting this.

  • Added a new feature_range_cache option for the REST data backend.
    If set to true, the REST backend will more aggressively cache
    ranges of feature data. Thanks to Daniel Troesser for pointing out
    the need for this (issue #369).

  • maker2jbrowse now, by default, runs generate-names.pl to
    generate names indexes. Also added a --no_names_index option to
    turn this off. Thanks to Josie Reinhardt for making me notice this
    was missing.

  • Tweaked generate-names.pl default indexing parameters to
    emphasize indexing speed more. Now defaults to a smaller average
    file size for the on-disk JSON files it produces, which is much
    faster to generate and write (up to 8 or 10x faster). However, the
    on-disk index is about 2-2.5x larger overall.

  • Removed support for the --refids command-line argument to
    prepare-refseqs.pl, which has probably never really worked.

  • Improved prepare-refseqs.pl support for Bio::DB::Das::Chado
    database backends. Thanks to Gwendoline Andres for helping
    troubleshoot this.

Bug fixes

  • Fixed generate-names.pl making incorrect name indexes when using 16
    or more bits of hashing (when the number of index entries exceeds
    about 4 million). Thanks to Josie Reinhardt for helping
    troubleshoot this (issue #370).

  • The faceted track selector no longer refuses to display track
    unique labels even if they are explicitly included in the
    displayColumns setting.

Posted in Software releases | Leave a comment

JBrowse 1.10.7 maintenance release

JBrowse 1.10.7 has been released, with some important bug fixes and added support for displaying feature density histograms from REST stores.

Files for download:

Minor improvements

  • Added an optional stats/regionFeatureDensities endpoint to the
    REST API that makes it possible to provide binned feature counts
    that HTMLFeatures tracks can use to display feature histograms.
    Thanks to Stuart Watt and Daniel Troesser for pointing out the need
    for this (issue #365).

Bug fixes

  • Fixed a bad bug introduced in 1.10.6 in which FASTA files with line
    lengths longer than the configured chunk size were not correctly
    formatted. Thanks to Jean-Jack Riethoven for pointing this out
    (issue #363).

  • Fixed a bug introduced in 1.10.6 in which prepare-refseqs.pl would
    not respect the –noseq command-line option when using –fasta.

  • Fixed bug in which name or seq_id attributes are required for
    reference sequence features. Thanks to Daniel Troesser for
    pointing this out.

  • Fixed a bug that may have prevented some types of VCF files from
    being displayed (error message referring to inheritedFilters).

  • Fixed a bug in which “Zoom in to see feature” in Sequence tracks
    would wrap downwards below track at some zoom levels and window
    widths.

  • Fixed an off-by-one error in UTR attributes manufactured by the
    impliedUTRs mechanism of the ProcessedTranscript glyph. Thanks
    to Ben Booth for pointing this out (issue #362).

  • Fixed a bug in which score attributes of features were not being
    recorded by biodb-to-json.pl. Thanks to HongKee Moon for
    pointing this out (issue #364).

  • Removed a stray use of Carp::Always in GFF3-processing Perl code
    that may have caused problems in some installations.

Posted in Software releases | Leave a comment

JBrowse 1.10.6 maintenance release

JBrowse 1.10.6 has been released, with some important bug fixes.

Files for download:

Minor improvements

  • Made the impliedUTRs option for ProcessedTranscript and Gene
    glyph still attempt to create UTRs if only ”’one”’ of the UTRs is
    missing from a transcript. Thanks to Ben Booth for pointing out
    the need for this.

Bug fixes

  • Fixed bug in which the mouseover value displays for Wiggle and
    SNPCoverage tracks would not always be hidden when the mouse leaves
    the track.

  • Fixed a bad bug that prevented fixed-scale Wiggle and SNPCoverage
    tracks from displaying. Thanks to Jean-Jack Riethoven and Michael
    Axtell for pointing this out.

Posted in Software releases | Leave a comment

JBrowse 1.10.5 maintenance release

JBrowse 1.10.5 has been released, with some important bug fixes and more performance improvements for data formatting scripts.

Files for download:

Minor improvements

  • Greatly improved the speed and reduced the memory footprint when
    running prepare-refseqs.pl with the –fasta and –gff options.

  • Added an impliedUTRs option to the ProcessedTranscript and Gene
    glyphs for CanvasFeatures tracks. Thanks to Ben Booth for pointing
    out the need for this (issue #348).

  • Upgraded flatfile-to-json.pl to use a new version of
    Bio::GFF3::LowLevel::Parser for GFF3 parser, which has a lookback
    buffer limit that makes it easier to parse large GFF3 files that do
    not contain enough ‘###’ directives.

  • Further improved the memory footprint and speed of
    generate-names.pl. Thanks to Richard Hayes for his continued help
    with testing improvements and reporting problems.

  • Removed explicit dependency on GD::Image, which is only used by the
    old tiled-image generation demo code. This will make dependency
    installation easier for many people, at a (very) small cost to
    backward compatibility.

Bug fixes

  • Fixed a bad bug that prevented combination tracks from working.
    Thanks to Harry Yoo for pointing this out (issue #351).

  • Fixed a bug in which one of the temporary files used by
    generate-names.pl was not being created in the correct location.
    Thanks to Richard Hayes for testing this.

  • Fixed a bug in which generate-names.pl could sometimes crash when
    run with the -v (verbose) switch, or in setup.sh.

  • Fixed odd behavior when entering coordinate ranges in the location
    box under Safari. Thanks to Keiran Raine for pointing this out
    (issue #341).

Posted in Software releases | Leave a comment

JBrowse 1.10.4 maintenance release

JBrowse 1.10.4 has been released, with a new simple sequence-search track tool, large performance improvements for generate-names.pl, and some new filtering options for VCF-based variant tracks.

Files for download:

Minor improvements

  • Rewrote many parts of generate-names.pl, making heavy use of
    temporary BerkeleyDB stores (using Perl’s DB_File module). This
    improves generate-names.pl performance by more than 10x.
  • Added a File->Add sequence search track menu item that can make
    tracks that show which regions of the reference sequence contain a
    given (small) sequence, or match a given regular expression.
    Thanks to Daniel Kasenberg for the initial implementation of this
    (issue #315).
  • Added a CanvasVariants track type, similar to HTMLVariants, which
    utilizes the faster CanvasFeatures rendering backend for displaying
    variant data.
  • Added checkboxes to HTMLVariants and CanvasVariants track menus
    that allow filtering displayed features based on the FILTER
    attribute in a VCF file. In addition to filtering based on the
    presence or absence of PASS, users can filter based on the custom
    filters defined in the VCF header. Thanks to Keiran Raine and
    Andrew Uzilov for suggesting this (issue #344).
  • Added “Hide forward strand” and “Hide reverse strand” checkboxes to
    Alignments and Alignments2 track menus that allow alignments on the
    forward and/or reverse strands to be hidden.

Bug fixes

  • Fixed a bug that prevented indexing of feature aliases in the names
    index when running generate-names.pl.
  • Fixed a bug that prevented proper display of the “ibeam” feature
    class in HTMLFeatures tracks. Thanks to Ed Lee for pointing this
    out.
Posted in Software releases | Leave a comment

JBrowse 1.10.3 maintenance release

JBrowse 1.10.3 has been released, with a lot of small enhancements and important bugfixes.

Files for download:

Minor improvements

  • Added options to Alignments, Alignments2, and SNPCoverage tracks to
    allow hiding reads that are duplicates, fail vendor QC, have
    missing mate pairs, are secondary alignments, and/or are
    supplementary alignments. Thanks to Kieran Raine and Andrew Uzilov
    for pointing out the need for this, and for their input on its
    design (issue #332).
  • Added support for a variables configuration for SPARQL data
    stores that can be used to specify additional variables for
    interpolating into a SPARQL query. Thanks to Toshiaki Katayama for
    suggesting this.
  • Added the ability for Sequence tracks to display a 6- or 3-frame
    translation of the reference sequence. Thanks to Daniel Kasenberg
    for implementing this (issue #221).
  • Added checkboxes in the track menu of Sequence tracks that allow
    users to toggle the display of the forward strand, reverse strand,
    and 6-frame translation.
  • Added support for an addStores variable in the query string of the
    URL used to start JBrowse. This variable accepts store
    configurations (which are a way to specify data sources separately
    from track configurations, so multiple tracks can use the same data
    source) in JSON format. For example, to add a store called
    “urlbam” that points to a BAM file, you could use the JSON:{ "urlbam": { "type": "JBrowse/Store/SeqFeature/BAM", "urlTemplate": "/path/to/my/bamfile.bam" }}

    which, when URI-escaped and put in the query string, looks like:

    addStores=%7B%20%22urlbam%22%3A%20%7B%20%22type%22%3A%20%22JBrowse%2FStore%2FSeqFeature%2FBAM%22%2C%20%22urlTemplate%22%3A%20%22%2Fpath%2Fto%2Fmy%2Fbamfile.bam%22%20%7D%7D

  • Slightly improved performance of generate-names.pl in cases where
    –completionLimit is zero. Also improved the POD documentation of
    the –completionLimit parameter for generate-names.pl. Thanks to
    Richard Hayes for his continued patience.

Bug fixes

  • Fixed some bugs that prevented proper display of BigWig files
    larger than 4GB. Thanks to Keiran Raine for pointing this out.
  • Fixed a major performance bug that unnecessarily slowed down
    display of large BigWig files with Wiggle tracks when autoscale
    is set to “local”.
  • Fixed a bug that prevented display of BAM reads that had MD tags
    but no associated CIGAR string. Thanks to Keiran Raine for point
    this out (issue #330).
  • Fixed a bug in which FixedImage tracks (e.g. legacy image-based
    Wiggle tracks) never take down the “Loading” message when
    displaying on a reference sequence for which no image data has been
    provided.
  • Fixed a bug that prevented rendering of mismatches, insertions, and
    deletions in a BAM read that occurred after a skip. Thanks to Gregg
    Helt for noticing this and fixing it (issue #325).
  • Fixed a bug in which the SNP frequencies calculated by SNPCoverage
    tracks were sometimes incorrect. Thanks to Matthew Conte for
    pointing this out (issue #335).
  • Fixed a bug in which reference sequences with a start coordinate
    other than zero would cause the overview scale track to not be
    drawn correctly. Thanks to Gregg Helt for noticing this and
    working on an initial fix (issue #324).
  • Fixed a bug in which the most recent location visited on a given
    reference sequence was not properly being restored from the saved
    cookie. Thanks to Gregg Helt for the initial fix for this
    (issue #321).
  • Fixed a bug in which event handlers and blocks in CanvasFeatures
    tracks were not being properly cleaned up. The most prominent
    visible consequences of this were duplicate dialog boxes being
    opened when clicking on a canvas feature. Thanks to Keiran Raine
    for noticing this and making sure it was fixed (issue #329).
  • Fixed a bug with flatfile-to-json.pl parsing of GenBank locations.
    Thanks to Steve Marshall for pointing this out (issue #323).
  • Fixed a bug in which SNPCoverage tracks would not always properly
    display error messages when something goes wrong, particularly
    under IE 9.
Posted in Software releases | Leave a comment

JBrowse 1.10.2 maintenance release

JBrowse 1.10.2 has been released, with fixes for some minor issues, and some minor improvements to the CanvasFeatures track.

Files for download:

Changes in this release:

  • Added mouse-over ‘tooltips’ to to CanvasFeatures tracks that show
    the a feature’s label and description when the mouse hovers over
    it. Thanks to Daniel Kasenberg for implementing this.
  • Strand arrowheads in CanvasFeatures tracks now attempt to stay
    visible on the screen, like they do in HTMLFeatures tracks. Thanks
    to Daniel Kasenberg for implementing this.
  • Fixed bugs and inefficiencies preventing JBrowse from handling very
    dense BigWig files. Thanks to Michael Axtell for pointing this out
    (issue #312).
  • Fixed a bug in which features were not always laid out correctly in
    CanvasFeature tracks when the display mode is set to “compact”.
  • Fixed a bug causing the text labels of mismatching bases in
    Alignments2 tracks (i.e. Alignments canvas glyphs) to be slightly
    misaligned vertically when feature labels are turned on (they are
    off by default for Alignments glyphs).
  • Fixed a bug preventing the defaultTracks configuration variable
    from operating correctly.
Posted in Software releases | Leave a comment