Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-22

Improve summary row in the top of annotation tracks

    Details

    • Type: Improvement
    • Status: First Level Review in Progress (View Workflow)
    • Priority: Blocker
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      4
    • Sprint:
      Spring 2 2021 Apr 5 - Apr 16, Spring 3 2021 Apr 19 - Apr 30, Spring 4 2021 May 3 - May 14, Spring 5 2021 May 17 - May 28, Spring 6 2021 May 31 - June 11, Summer 1 2021 Jun 14 - Jun 25, Summer 2 2021 Jun 28 - Jul 9, Summer 3 2021 Jul 12 - Jul 23, Summer 4 2021 Aug 2 - Aug 13, Fall 1 2021 Aug 16 - Aug 27, Fall 2 2021 Aug 30 - Sep10, Fall 3 2021 Sep 13 - Sep 24, Fall 4 2021 Sep 27 - Oct 8

      Description

      Currently, if the stack height is too small to show all feature in a track, IGB draws a summary row at the top of the every track which contains Glyphs that are drawn on top of each other.

      To save memory and speed up computation, not all data items are drawn and rendered into Glyphs in this top row. However, if you click-drag (rubber-banding) over the summary row to select everything that it is there, the "Selection Info" text box reports the correct number of items expected to be there.

      One problem with summary row representation, however, is that it can be a bit misleading. For example, some horizontal gaps may appear, leading the user to think none of the data occupy the apparently empty location.

      We need a better algorithm and representation style that will suggest to the user that:

      • Individual data items are not being shown
      • Any region that looks empty, really is empty (i.e., no data items from the track overlap it)

      Some ideas:

      • Please don't draw a histogram-style graph. The "summary" row is too short for that.
      • Heatmap might be OK.
      • We can show consecutive blocks with positive space and negative space only, where negative space indicates the absence of data
      • We can show consecutive blocks with color intensity (or transparency) indicating the amount of data items underneath them
      • Instead of drawing the summary row as a series of blocks, draw ellipses (tiny squares) in the top row wherever there is data.

      In the above implementations, the summary row glyphs would not need to be selectable or countable. If a user wants to count features, they can instead set the stack height to everything being shown, collapse the track, and then click-drag over the collapsed track region.

        Attachments

        1. eplant_jbrowse.png
          eplant_jbrowse.png
          398 kB
        2. igb_summary_row_colored_prototype_1.png
          igb_summary_row_colored_prototype_1.png
          401 kB
        3. igb_summary_row_design2.png
          igb_summary_row_design2.png
          583 kB
        4. igb_summary_row.png
          igb_summary_row.png
          350 kB
        5. igv_expanded_downsampled.png
          igv_expanded_downsampled.png
          311 kB
        6. ncbi_genome_browser.png
          ncbi_genome_browser.png
          431 kB
        7. SRP022162_Leaf1_Chr1_12588266-12589930.bam
          119 kB
        8. SRP022162_Leaf1_Chr1_12588266-12589930.bam.bai
          6 kB
        9. ucsc_genome_browser_dense.png
          ucsc_genome_browser_dense.png
          234 kB
        10. ucsc_genome_browser_full.png
          ucsc_genome_browser_full.png
          528 kB
        11. ucsc_genome_browser_pack.png
          ucsc_genome_browser_pack.png
          528 kB
        12. ucsc_genome_browser_squish.png
          ucsc_genome_browser_squish.png
          397 kB
        13. ucsc_pack_vs_full.png
          ucsc_pack_vs_full.png
          1006 kB

          Activity

          Hide
          karthik Karthik Raveendran added a comment - - edited

          The dropbox link for A Practical Guide To Usability Testing for reference

          Show
          karthik Karthik Raveendran added a comment - - edited The dropbox link for A Practical Guide To Usability Testing for reference
          Hide
          pbadzuh Philip Badzuh (Inactive) added a comment - - edited

          I have been looking at the following files to change the summary row to show all annotations that do not fit into an annotation track's stack height:

          • $IGB/core/igb/src/main/java/com/affymetrix/igb/glyph/AnnotationTierGlyph.java
          • $IGB/core/igb/src/main/java/com/affymetrix/igb/glyph/DefaultTierGlyph.java
          • $IGB/core/igb/src/main/java/com/affymetrix/igb/view/factories/AnnotationGlyphFactory.java

          Notes:

          • Each track has an associated 'Tier' glyph.
          • Each Tier glyph has one or more child glyphs that are arranged into rows using syms and spans.
          • Stack height may be set in the IGB Annotation pane and limits the number of rows shown in each track.
          • Rows beyond the stack height limit are drawn one over the other in the summary row (currently limited to an overlap depth of 10).
          • Removing the depth limit results in a significant increase in data loading time and sluggish feedback to user interactions afterward.
            • There seems to be an initial spike in CPU and GPU activity, but something causes summary row loading to continue after this. I noticed that draw methods are invoked without user interaction at times - this may be the cause. Memory usage change is low.
          Show
          pbadzuh Philip Badzuh (Inactive) added a comment - - edited I have been looking at the following files to change the summary row to show all annotations that do not fit into an annotation track's stack height: $IGB/core/igb/src/main/java/com/affymetrix/igb/glyph/AnnotationTierGlyph.java $IGB/core/igb/src/main/java/com/affymetrix/igb/glyph/DefaultTierGlyph.java $IGB/core/igb/src/main/java/com/affymetrix/igb/view/factories/AnnotationGlyphFactory.java Notes: Each track has an associated 'Tier' glyph. Each Tier glyph has one or more child glyphs that are arranged into rows using syms and spans. Stack height may be set in the IGB Annotation pane and limits the number of rows shown in each track. Rows beyond the stack height limit are drawn one over the other in the summary row (currently limited to an overlap depth of 10). Removing the depth limit results in a significant increase in data loading time and sluggish feedback to user interactions afterward. There seems to be an initial spike in CPU and GPU activity, but something causes summary row loading to continue after this. I noticed that draw methods are invoked without user interaction at times - this may be the cause. Memory usage change is low.
          Hide
          pbadzuh Philip Badzuh (Inactive) added a comment - - edited

          Please see my branch to follow my testing of this issue.

          Objective:

          • Combine all glyphs/rows of the summary row into a single row of glyphs prior to rendering/drawing.
          Show
          pbadzuh Philip Badzuh (Inactive) added a comment - - edited Please see my branch to follow my testing of this issue. Objective: Combine all glyphs/rows of the summary row into a single row of glyphs prior to rendering/drawing.
          Hide
          pbadzuh Philip Badzuh (Inactive) added a comment -

          [~aloraine], please see a commit of my latest work here.

          Show
          pbadzuh Philip Badzuh (Inactive) added a comment - [~aloraine] , please see a commit of my latest work here .
          Hide
          ann.loraine Ann Loraine added a comment - - edited

          Pushed branch to team repository as pb-IGBF-22.

          Next steps:

          • Build installer, test the functionality
          • Rebase pb-IGBF-22 onto latest development branch
          • Build installer, test the functionality
          Show
          ann.loraine Ann Loraine added a comment - - edited Pushed branch to team repository as pb- IGBF-22 . Next steps: Build installer, test the functionality Rebase pb- IGBF-22 onto latest development branch Build installer, test the functionality

            People

            • Assignee:
              ann.loraine Ann Loraine
              Reporter:
              ann.loraine Ann Loraine
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: