CATUI Alignment Viewer

Table of Contents

1. Introduction (Back to Top)

The CATUI Alignment Viewer employs a novel viewport-based rendering technique coupled with data virtualization to enable biologists to visualize extremely large RNA sequence alignments using a desktop or laptop computer. The key principles implemented by the CATUI Alignment Viewer are:
  1. The entire alignment is not loaded into memory at load time.
  2. The dimensions (rows and columns) are fixed based on the size of the containing window (similar to how a fixed-width console/terminal window is designed and implemented.
Since the CATUI Windowing Framework supports multiple views on the same entity, a biologist can open multiple views of a same alignment in different locations and scroll horizontally or vertically. The amount of memory required is dependent on the dimensions of the view window. Currently, the CATUI Alignment Viewer is capable of visualizing Nucleic Acid sequence alignments in the following formats:
  1. FASTA
  2. rCAD Database

2. Alignment Views (Back to Top)

The CATUI application is capable of opening multiple views on a single data source (link). Any views opened on a given data source are linked to that same data source, but are capable of being scrolled and manipulated independently. Any alignment view can be an independent floating window or tabbed document (See CATUI Windowing Framework).
For any alignment view, the number of columns and rows in the view is determined by the size of the window. As a result of this design, the performance of the visualization is directly tied to the view window size and number of columns and rows that fit in the view window, not the physical size of the alignment itself.
  • Example 1: Opening two different views on the same alignment data source. Using the tabbed layout (default) the views open as two separate tabs.
CATUI Alignment View Tabbed
  • Example 2: Opening two different views on the same alignment data source, one view as a floating window and the other as a tabbed document.
CATUI Alignment View Floating

3. Scrolling, Input and Row Locking (Back to Top)

3a. Scrolling (Back to Top)

  • The CATUI Alignment Viewer uses a combination of deferred scrolling + row and column caching to enable smooth scrolling. Deferred scrolling means that the view is not continually updated as the user is scrolling, but is updated when the scrolling input is completed. Indicators are provided to allow a user to identify how far they have scrolled. For example, when dragging the horizontal scrollbar, a tool tip will appear over the scrollbar indicating what the first column in the view has been scrolled too . The same tool tip appears on the vertical scrollbar.
  • Mouse Wheel - Placing the mouse pointer inside the view, the moving the mouse wheel up or down will scroll vertically. The mouse wheel is currently not supported for horizontal scrolling.
  • Dragging the Horizontal or Vertical Scrollbars - Because the scrolling is deferred, when the user grabs a scrollbar and starts dragging, a small window is displayed to inform the user of the current 1st column/row ordinal if they were to release the scroll motion at that point.
    • Example 1: In the screen capture below, we have dragged the horizontal scrollbar (bottom) to set column 34 as the first column in the view, which is displayed in the tooltip above the horizontal scrollbar. The tooltip is displayed until the mouse is released, dragging the scrollbar.
CATUI Alignment View Scrolling

3b. Keyboard/Mouse Input (Back to Top)

3b.1 Navigation

  • Setting the cursor to a cell: Use Mouse, point and click on the cell.
  • Move cursor between first and last column of view: Home or End.
  • Move cursor between first row/column and last row/column of view: Ctrl + Home/End to jump the cursor between the upper left corner and lower right corner of the view window.
  • Navigate cursor via single cell: Arrow Keys (Left, Right, Up, Down) to move cursor on one cell in desired direction. The cursor must be set to a cell before the arrow keys support movement.
  • Navigate view by single row/column: Ctrl + Arrow Key (Left, Right, Up, Down) to scroll the view by a single column or row in the direction of the arrow key.
  • Page view left/right: Ctrl + PgUp/PgDn shift the view horizontally by a page. The size of a page is defined as the number of visible columns in the view window. For example, if an alignment view has 30 columns on screen, CtrlPgDn will shift the view 30 columns to the right and CtrlPgUp will move the view 30 columns to the left.
  • Page view up/down: PgUp/PgDn shift the view vertically by a page. The size of a page is defined as the number of visible rows in the view windows. For example, if an alignment view has 30 rows on screen, PgDn will shift the view down to the next 30 rows and PgUp will shift the view up to the previous 30 rows.

3c. Locking Sequences (Back to Top)

Sequences in the alignment can be locked. The purpose of locking any particular sequence is to always keep it in the alignment view, even as the view is being scrolled. Locked sequences appear at the top of the alignment view, and the row names appear in bold.
CATUI Alignment View Row Locking
  • To Lock a Row: Right-click on the name and select Locked.
CATUI Alignment View Row Locking
  • To Unlock a Locked Row: Right-click on a locked row, the Locked option should be checked, select it to unlock.
CATUI Alignment View Row Locking

4. Grouping by Evolutionary Relationships (Back to Top)

When an alignment data source is the rCAD database (link), additional dimensions of information are available and the CATUI is capable of displaying some of that additional information. One dimension of information provided by the rCAD database is the evolutionary relationships between different sequences in a particular sequence alignment. The rCAD database uses evolutionary relationships from the NCBI Taxonomy database ( Using these relationships, the CATUI can group different sequences together in the alignment view.
  • Example 1: A view of a sequence alignment with an rCAD data source where the sequences are grouped by evolutionary relationships. The different "levels" of the evolutionary relationships are indicated by numbers before the grouping label. In this example we have:
 1. root
     2. cellular organisms
        3. Archaea
           4. Crenarchaeota
              5. Thermoproti
              6. Sulfolobales
                 7. Sulfolobacae
                    8. Sulfolobus
           4. Euryarchaeota

CATUI Alignment View Grouping

4a. Turning Taxonomy Grouping On/Off (Back to Top)

  • Move the mouse to the top of the alignment view window until the drop-down box is visible.
  • Check/Uncheck the Group by Taxonomy box to toggle Taxonomy grouping
CATUI Alignment View Grouping Toggle

4b. Controlling Taxonomy Grouping Resolution (Back to Top)

  • When Taxonomy Grouping is first enabled for an alignment view (that supports it), the default behavior is to show the complete taxonomy. Each species for which at least one sequence is present in the alignment becomes a leaf node. Another way to express this is to say that only sequences from a specific species are grouped together. This is the maximum grouping resolution available.
CATUI Alignment View Grouping Default
  • In many cases, it is not necessary to use the maximum resolution when grouping the sequences in the alignment, and more simplified aggregations of species are sufficient. The slider bar to the right of the Group by Taxonomy checkbox can be used to control the grouping resolution. The value of the slider specifies how many sequences can appear at any individual level before it is further subdivided. The larger the number, the lower the resolution and fewer groupings. The example below illustrates the difference between a grouping resolution of 1 and 20 for the same alignment.
CATUI Alignment View Grouping Compare

5. Reference Sequences (Back to Top)

  • The CATUI supports designating any sequence in an alignment view as a reference sequences. When a row in an alignment view is designated as a reference sequence, it is locked; automatically moving it to the top of the alignment view. It remains there until the user unlocks it. Once a reference sequence is set, the CATUI displays matches (per nucleotide) between any row in the alignment view and the reference, on a per column basis, with shading.
CATUI Alignment View Reference Sequence
  • If multiple reference sequences are selected, each reference sequence shades in a different color. If two reference sequences have the same value for any particular column, the first reference sequence set is considered dominant and controls the shading.
CATUI Alignment View Reference Sequence
  • By designating a locked sequence as a reference sequence, the CATUI alignment view performs shading. It is possible to turn off the reference sequence shading, but still leave a particular sequence locked at the top of the alignment. Just select the reference sequence and click the Make Reference Sequence option to toggle it off. The row remains locked, but shading is turned off. Unlocking a reference sequence by default toggles the reference shading off.
CATUI Alignment View Reference Sequence

CATUI Alignment View Reference Sequence

Last edited Dec 10, 2009 at 6:05 PM by kjdoshi, version 49


No comments yet.