2. DEFINITION OF SEQUENCE
ALIGNMENT
• Sequence alignment is the procedure of
comparing two (pair-wise alignment) or more
(multiple sequence alignment) sequences by
searching for a series of individual characters
or character patterns that are in the same
order in the sequences.
3. • There are two types of sequence alignment,
– 1. Global
– 2. Local
• In global alignment, an attempt is made to align
the entire sequence, using as many characters as
possible, up to both ends of each sequence.
• ocal alignment, stretches of sequence with the
highest density of matches are aligned, thus
generating one or more islands of matches.
4. • Global Alignment
• For the two hypothetical protein sequence
fragments in Figure 3.1, the global alignment
is stretched over the entire sequence length to
include as many matching amino acids as
possible up to and including the sequence
ends.
5. • Vertical bars between the sequences indicate
the presence of identical amino acids.
6. • Local Alignment
• the alignment stops at the ends of regions of
identity or strong similarity, and a much
higher priority is given to finding these local
regions (Fig. 3.1) than to extending the
alignment to include more neighboring amino
acid pairs.
7. • Dashes indicate sequence not included in the
alignment.
• This type of alignment favors finding
conserved nucleotide patterns, DNA
sequences, or amino acid patterns in protein
sequences.
8. Alignment of Pairs of Sequences
• 1. Dot matrix analysis
• 2. The dynamic programming (or DP)
algorithm
• 3. Word or k-tuple methods, such as used by
the programs FASTA and BLAST
9. Description of the Algorithm
• Alignment of two sequences without allowing
gaps requires an algorithm that performs a
number of comparisons roughly proportional to
the square of the average sequence length, as in
a dot matrix comparison.
• If the alignment is to include gaps of any length
at any position in either sequence, the number of
comparisons that must be made becomes
astronomical and is not achievable by direct
comparison methods.
10. • Dynamic programming is a method of
sequence alignment that can take gaps into
account but that requires a manageable
number of comparisons.