GATA: a graphic alignment tool for comparative sequence analysis
© Nix and Eisen. 2005
Received: 30 July 2004
Accepted: 17 January 2005
Published: 17 January 2005
Skip to main content
© Nix and Eisen. 2005
Received: 30 July 2004
Accepted: 17 January 2005
Published: 17 January 2005
Several problems exist with current methods used to align DNA sequences for comparative sequence analysis. Most dynamic programming algorithms assume that conserved sequence elements are collinear. This assumption appears valid when comparing orthologous protein coding sequences. Functional constraints on proteins provide strong selective pressure against sequence inversions, and minimize sequence duplications and feature shuffling. For non-coding sequences this collinearity assumption is often invalid. For example, enhancers contain clusters of transcription factor binding sites that change in number, orientation, and spacing during evolution yet the enhancer retains its activity. Dot plot analysis is often used to estimate non-coding sequence relatedness. Yet dot plots do not actually align sequences and thus cannot account well for base insertions or deletions. Moreover, they lack an adequate statistical framework for comparing sequence relatedness and are limited to pairwise comparisons. Lastly, dot plots and dynamic programming text outputs fail to provide an intuitive means for visualizing DNA alignments.
To address some of these issues, we created a stand alone, platform independent, graphic alignment tool for comparative sequence analysis (GATA http://gata.sourceforge.net/). GATA uses the NCBI-BLASTN program and extensive post-processing to identify all small sub-alignments above a low cut-off score. These are graphed as two shaded boxes, one for each sequence, connected by a line using the coordinate system of their parent sequence. Shading and colour are used to indicate score and orientation. A variety of options exist for querying, modifying and retrieving conserved sequence elements. Extensive gene annotation can be added to both sequences using a standardized General Feature Format (GFF) file.
GATA uses the NCBI-BLASTN program in conjunction with post-processing to exhaustively align two DNA sequences. It provides researchers with a fine-grained alignment and visualization tool aptly suited for non-coding, 0–200 kb, pairwise, sequence analysis. It functions independent of sequence feature ordering or orientation, and readily visualizes both large and small sequence inversions, duplications, and segment shuffling. Since the alignment is visual and does not contain gaps, gene annotation can be added to both sequences to create a thoroughly descriptive picture of DNA conservation that is well suited for comparative sequence analysis.
The most widely used methods for aligning DNA sequences rely on dynamic programming algorithms initially developed by Smith-Waterman and Needleman-Wunsch [1, 2]. These algorithms create the mathematically best possible alignment of two sequences by inserting gaps in either sequence to maximize the score of base pair matches and minimize penalties for base pair mismatches and sequence gaps. Although these methods have proven invaluable in understanding sequence conservation and gene relatedness, they make several assumptions. One of their assumptions in generating the "best" alignment is that sequence features are collinear. For example, segments X, Y, Z in sequence one are also ordered as X, Y, and Z in sequence two. Another assumption is that short segments, like Y, have not become inverted or duplicated (e.g. X, Y, Y', Z). These rearrangement events are prone to be gapped out in dynamic programming and thus described as unrelated. Local alignment algorithms can be used to identify these rearrangements provided an exhaustive search is performed, but typically, only the highest scoring local alignments are considered valid and other, lower scoring local alignments are assumed to be spurious matches between unrelated sequences.
When aligning protein coding sequences, dynamic programming works quite well. Evolution exerts significant functional constraint on protein coding sequences. When an inversion, duplication or segment-shuffling event occurs, the protein is often compromised by truncation due to the introduction of frame shifts and stop codons. These deleterious mutations are typically lost and not observed in the surviving population. When aligning this type of constrained sequence element, dynamic programming works quite well.
Functional non-coding sequences do not appear to be as constrained in the ordering of elements as protein coding sequences [3–6]. Compact cis-regulatory modules, for example, enhance or suppress eukaryotic gene expression in response to external stimuli and play key roles in development and differentiation. One of the best characterized eukaryotic enhancers is the even-skipped stripe 2 element in Drosophila that controls transcription of the second transverse stripe of even-skipped mRNA during embryogenesis. Functional and comparative sequence analysis of stripe 2 clearly demonstrate that the enhancer maintains its specific activity across species yet displays significant small-scale insertions, deletions, and rearrangements of transcription factor binding sites within the module [7, 8]. Tracing the evolutionary path of such non-coding elements is proving difficult with current alignment tools and may be assisted by a visual alignment program like GATA.
GATA employs a two tiered architecture in aligning DNA sequences. GATAligner executes and processed BLASTN output. GATAPlotter displays the processed alignments and annotation from GATAligner.
GATAligner parameters and features
Score added to the total for each match.
Score subtracted from total for each mismatch.
Score subtracted from total for each new gap.
Score subtracted from total for each additional base in a gap after its creation.
Low Complexity Mask
Use of DUST to mask and thus not align regions of low complexity.
Size of window used to score sub-alignments in each local alignment. Sub-alignments smaller than the window size will be saved provided they are at or above the score cut off. When aligning longer sequences, increase the size of the window as well as the cut off score to minimize non-related alignments.
Score Cut Off
Score (raw or bits) at which windowed sub-alignments are saved or discarded. The higher this score is set the faster GATAligner will run. Set between 20–25 bits for a window size of 24 when aligning sequences less than 10 KB. For larger sequences, increase the cut off and window size (e.g. 30 bits and 30 bp).
Start Positions for Reference and Comparative Sequences
Use this to maintain register with gene annotation.
GATAligner is multithreaded. Queue up multiple alignments.
Our initial goal was to create a high resolution sequence alignment and visualization tool to use in identifying small sequence rearrangements, like those associated with evolving non-coding regulatory DNA. We initially divided the first sequence into overlapping windows offset by one base pair. A Smith-Waterman dynamic programming algorithm was then used to align each window against the entire second sequence. Windows were scored, merged, and saved as above. Although this method is more rigorous than using BLASTN, it took 20–50 times as long, and did not produce significantly different results (data not shown). It should be noted that BLASTN requires seven consecutive identical bases to align two sequences. Thus in rare cases, some windows will be missed, for example, GGGGGGcTTTTTTaCCCCCCgAAAAAA versus GGGGGGaTTTTTTgCCCCCCtAAAAAA.
Open or Close Alignments
Open a new GATA plot or close the present GATA plot.
Quit the entire application.
Save GATAPlot Image
Use to save a high resolution PNG file of the GATAPlot.
Save GATAPlotter Settings
Select this menu option to save the current settings. These will be used upon opening new GATA plots. Generic Track settings are not saved. To restore the defaults, select the Redraw Using Defaults from the Windows menu and then the Save GATAPlotter settings. Alternatively, delete the GATAPlotterPreferences file in the GATA folder.
A variety of parameters to change the height, width, thickness and relative location of the Alignment panel shapes.
Set Nucleotides Per Pixel
Allows for specifying the number of nucleotides that are rendered per pixel enabling size synchronization between different GATAPlots.
Fetch Conserved Sequences
Use this option to reformat both the reference and conserved sequence using the visible alignment boxes in the GATA plot. Upon selection, a dialog box will appear asking how you would like to reformat the non-boxed sequences. These non-conserved sequences can be replaced with any single character (e.g. N or X) or converted to lower or upper case. Use the sliders in the Tools Panel to adjust what is visible.
Select to retrieve all the GATAligner settings used in making the GATA alignments and GATA plot. (e.g. score cut off, window size, match, mismatch, etc).
(These menu items are only available if gene annotation has been added to the GATA plot.)
Use to hide or show all of the gene groups (Protein, RNA, DNA) or labels.
Protein, RNA, DNA
Select whether to hide, show or change their colour.
Select to hide or show, change the colour, or move the scale bar.
This option contains global effectors for generic tracks.
If generic features are found within the GFF file, each is assigned its own track. Their thickness, colour, visibility, and label visibility can be modified using the appropriate options.
A variety of adjustments can be made to the number of pixels that are placed between features. Negative numbers are valid if you want to overlap features.
Line thickness can be set to control the size of Protein, RNA, and DNA features.
The background panel and label colour can be set using these options.
Scale Track Colours By Score
If generic tracks have been generated and are associated with a score, they can be shaded using the scaling feature. Select the method GATA should us to convert the reported scores to linear numbers. (e.g. Often hits to a position weight matrix are scored in log units. Select the appropriate base log 10, log 2, or natural log.) After converting the scores for a particular track, a range is estimated and used to adjust the opacity of each feature from 30% for the lowest scoring feature to 100% for the highest scoring feature. This allows visual comparison of features within a track. Comparisons between tracks are only valid if they have the same range.
Retrieves and displays all hidden windows.
Hides all windows except the main GATAPlotter alignment window.
ReDraw Using Defaults
Redraws all panels using GATAPlotter default values.
Extensive documentation for GATA including examples.
GATAPlotter windows and features
Sliders can be used to control the minimum score and maximum score used in deciding which sub-alignment box-line-boxes are displayed. The units are a normalized range where zero is set to the value assigned in GATAligner to the Lower Score Cut Off. 100 is set to the value obtained by multiplying the Window Size by the Nucleotide Match. The actual window bit and Expect values set by the sliders are shown in the adjacent boxes. Since the shading is relative to these minimum and maximum values, be careful in making comparisons in shading between two GATA plots. Such comparisons are only valid if the same window size, cut off score, and scoring scheme were used. Check the actual score by clicking on the shaded box or connecting line to see the real bit score. (Bit scores are scoring system independent and can be used to directly compare alignments. Raw scores are relative to the settings for match, mismatch, gap, etc.)
The zoom buttons allow for zooming in and out.
Ref or Cmp
These numbers report the position of the mouse, in base pairs, when the mouse passes over one of the sequence bars.
Single clicking a gene annotation feature retrieves and displays all information associated with that feature in the Text Console Window. Likewise single clicking an alignment box or line displays the sub-alignment information. Double clicking fetches the sub-alignment and its parental local alignment. The sub-alignment is indicated by the asterisks in the larger local alignment. All visible alignments beneath a mouse click are retrieved. Use the Score Sliders to determine which boxes are visible.
If you are interested in a sub section of the alignment, drag the mouse over the region and a reformat box will appear. If you drag the mouse over one sequence and it contains box-line-boxes, these will to used to fetch the corresponding sequence from the other sequence. If you drag the mouse over both sequences, sub sequence sections will be retrieve regardless of the location of box-line-boxes.
A resizable scrolling container for text messages generated by mouse clicking.
Several related alignment and visualization tools have proven useful in comparative sequence analysis. Dot plot analysis can be used to identify duplications and inversions. Programs such as Dotter, JDotter, Dotlet, and Family Relations [13–16] generate graphical representations of sequence conservation by scoring identity between two perpendicular sequence representations. Although, mapping annotation to dot plots containing duplications and inversions is rather difficult and counter intuitive. Programs such as Artemis/ACT, LALNVIEW and to some extent, PLALIGN [17–20], utilize alignment information generated from dynamic programming algorithms to create box-line-box representations of each local alignment. These are similar to GATA but do not divide local alignments into window scored sub-alignments. This is unfortunate since window scoring enables a more detailed view of the actual sequence similarity within a large local alignment. Moreover, meaningful visualization using these browsers requires setting a high cut off score for the visualized local alignments. This effectively eliminates smaller, lower scoring local alignments that may provide alternative or even better inverted local alignments. GATA's windowed post-processing overcomes these associated problems.
One program that is proving quite useful in avoiding the collinearity problem while still using a dynamic programming algorithm is Shuffle LAGAN . Alignments generated by Shuffle LAGAN are combine with alignment annotation viewers such as VISTA [22, 23] to align entire genomes. K-BROWSER/ MAVID and Mauve are two additional genome browser/ aligners that look equally promising [24–26]. Although, it should be noted, these programs are designed to provide genome wide alignments and identify large-scale rearrangements, GATA is best suited at interrogating non-coding DNA sequences between 0–200 kb in size for both large and small rearrangements.
One of the major challenges facing bioinformaticians is the development of alignment and visualization tools for multi-species comparative sequence analysis. Within the fly community alone, 12 divergent species of diptera and hymenoptera will be sequenced within 3 years. A variety of higher eukaryotes including human, mouse, rat, dog, chimp, cow, chicken, opossum, and platypus have or are in the process of being completely sequenced. How can one visualize the alignment and species-specific annotation for 12 orthologs of a particular gene or a genomic segment? The GATA alignment paradigm is well suited to this challenge and will play a prominent role in GATA's development.
As comparative sequence analysis accelerates, scientists need more sophisticated alignment and visualization tools to define the evolutionary relationships and functional significance between particular orthologous sequences. This is especially true for regulatory, non-coding DNA that can show significant small-scale rearrangements. These new tools must incorporate detailed annotation alongside views of sequence conservation while providing easy access to the underlying sequence information. GATA provides one such solution.
GATA, graphic alignment tool for comparative sequence analysis.
Project home pages:
Java 1.4 or higher
Any restrictions to use by non-academics:
DAN received postdoctoral support from the American Cancer Society and would like to thank Lisa Simerinko for her assistance with Java and GUIs.
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.