Slides - Fenyo Lab
Download
Report
Transcript Slides - Fenyo Lab
Previous Lecture: Probability
This Lecture
Introduction to Biostatistics and Bioinformatics
Sequence Alignment Concepts
Sequence Alignment
Stuart M. Brown, Ph.D.
Center for Health Informatics and Bioinformatics
NYU School of Medicine
Slides/images/text/examples borrowed liberally from:
Torgeir R. Hvidsten,
Michael Schatz,
Bill Pearson,
Fourie Joubert, others …
Learning Objectives
• Identity, similarity, homology
• Analyze sequence similarity by dotplots
• window/stringency
Alignment of text strings by edit distance
Scoring of aligned amino acids
Gap penalties
Global vs. local alignment
Dynamic Programming (Smith
Waterman)
• FASTA method
•
•
•
•
•
Why Compare Sequences?
• Identify sequences found in lab experiments
• What is this thing I just found?
• Compare new genes to known ones
• Compare genes from different species
• information about evolution
• Guess functions for entire genomes full of
new gene sequences
• Map sequence reads to a Reference Genome
(ChIP-seq, RNA-seq, etc.)
Are there other sequences like
this one?
1) Huge public databases - GenBank, Swissprot, etc.
2) “Sequence comparison is the most powerful and
reliable method to determine evolutionary
relationships between genes” -R. Pearson
3) Similarity searching is based on alignment
4) BLAST and FASTA provide rapid similarity
searching
a. rapid = approximate (heuristic)
b. false + and - scores
Similarity ≠ Homology
1) 25% similarity ≥ 100 AAs is strong
evidence for homology
2) Homology is an evolutionary statement
which means “descent from a common
ancestor”
– common 3D structure
– usually common function
– homology is all or nothing, you cannot say
"50% homologous"
Similarity is Based on Dot Plots
1) two sequences on vertical and horizontal
axes of graph
2) put dots wherever there is a match
3) diagonal line is region of identity
(local alignment)
4) apply a window filter - look at a group of
bases, must meet % identity to get a dot
Simple Dot Plot
G A T CA A C TG A C GT A
G
T
T
C
A
G
C
T
G
C
G
T
A
C
Window / Stringency
Score = 11
PTHPLASKTQILPEDLASEDLTI
PTHPLAGERAIGLARLAEEDFGM
Filtering
Score = 11
PTHPLASKTQILPEDLASEDLTI
PTHPLAGERAIGLARLAEEDFGM
Score = 7
PTHPLASKTQILPEDLASEDLTI
PTHPLAGERAIGLARLAEEDFGM
Window = 12
Stringency = 9
Dot plot filtered with 4 base
window and 75% identity
G A T CA A C TG A C GT A
G
T
T
C
A
G
C
T
G
C
G
T
A
C
Dot plot of real data
Dotplot
(Window = 130 / Stringency = 9)
Hemoglobin
-chain
Hemoglobin -chain
Dotplot
(Window = 18 / Stringency = 10)
Hemoglobin
-chain
Hemoglobin -chain
How to Align Sequences?
• Manually line them up and count?
• an alignment program can do it for you
• or a just use a text editor
GATGCCATAGAGCTGTAGTCGTACCCT <—
—> CTAGAGAGC-GTAGTCAGAGTGTCTTTGAGTTCC
• Dot Plot
– shows regions of similarity as diagonals
Percent Sequence Identity
• The extent to which two nucleotide or amino
acid sequences are invariant
AC C TG A G – AG
AC G TG – G C AG
mismatch
indel
70% identical
Hamming Distance
• The minimum number of base changes that will
convert one (ungapped) sequence into another
Python function hamming_distance
def hamming_distance(s1, s2):
#Return the Hamming distance between equal-length sequences
if len(s1) != len(s2):
raise ValueError("Undefined for sequences of unequal length")
return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))
• The Hamming distance is named after Richard
Hamming, who introduced it in his fundamental
paper on Hamming codes: “Error detecting and error
correcting codes” (1950) Bell System Technical Journal 29 (2): 147–
160.
Hamming Dist can be unrealistic
v: ATATATAT
w: TATATATA
Hamming Dist = 8 (no gaps, no shifts)
• Levenshtein (1966) introduced edit distance
v = _ATATATAT
w = TATATATA_
edit distance: d(v, w) = 2
Levenshtein, Vladimir I. (February 1966). "Binary codes capable of correcting
deletions, insertions, and reversals". Soviet Physics Doklady 10 (8): 707–710.
Affine Gap Penalties
Gap Penalites
• With unlimited gaps (no penalty), unrelated
sequences can align (especially DNA)
• Gap should cost much more than a mismatch
• Multi-base gap should cost only a little bit more
than a single base gap
• Adding an additional gap near another gap
should cost more (not implemented in most algorithms)
• Score for a gap of length x is: -(p + σx)
• p is gap open penalty
• σ is gap extend penalty
Global vs Local similarity
1) Global similarity uses complete aligned sequences
- total % matches
- Needleman & Wunch algorithm
2) Local similarity looks for best internal matching
region between 2 sequences
- find a diagonal region on the dotplot
– Smith-Waterman algorithm
– BLAST and FASTA
3) dynamic programming
– optimal computer solution, not approximate
Global vs. Local Alignments
Smith-Waterman Method
[Essentially finding the diagonals on the dotplot]
•Basic principles of dynamic programming
- Creation of an alignment path matrix
- Stepwise calculation of score values
- Backtracking (evaluation of the optimal path)
Creation of an alignment path matrix
Idea: Build up an optimal alignment using previous
solutions for optimal alignments of smaller
subsequences
• Construct matrix F indexed by i and j (one index for each
sequence)
• F(i,j) is the score of the best alignment between the initial
segment x1...i of x up to xi and the initial segment y1...j of y up
to yj
• Build F(i,j) recursively beginning with F(0,0) = 0
Michael Schatz
Creation of an alignment path matrix
• If F(i-1,j-1), F(i-1,j) and F(i,j-1) are known we can calculate
F(i,j)
• Three possibilities:
• xi and yj are aligned, F(i,j) = F(i-1,j-1) + s(xi ,yj)
• xi is aligned to a gap, F(i,j) = F(i-1,j) - d
• yj is aligned to a gap, F(i,j) = F(i,j-1) - d
• The best score up to (i,j) will be the smallest of the three
options
Michael
Michael
Schatz
Schatz
Michael Schatz
Smith-Waterman is OPTIMAL but computationally slow
• SW search requires computing of matrix of
scores at every possible alignment position with
every possible gap.
• Compute task increases with the product of the
lengths of two sequence to be compared (N2)
• Difficult for comparison of one small sequence
to a much larger one, very difficult for two large
sequences, essentially impossible to search very
large databases.
Scoring Similarity
1) Can only score aligned sequences
2) DNA is usually scored as identical or not
3) modified scoring for gaps - single vs. multiple base
gaps (gap extension)
4) Protein AAs have varying degrees of similarity
– a. # of mutations to convert one to another
– b. chemical similarity
– c. observed mutation frequencies
5) PAM matrix calculated from observed mutations in
protein families
Protein Scoring Systems
• Amino acids have different biochemical and physical properties
that influence their relative replaceability in evolution.
tiny
aliphatic
P
C S+S
I
V
A
L
hydrophobic M
Y
F
small
G
G
CSH
T
S
D
K
W
H
N
E
R
Q
aromatic
positive
polar
charged
The PAM 250 scoring matrix
PAM Vs. BLOSUM
PAM100
PAM120
PAM160
PAM200
PAM250
=
=
=
=
=
BLOSUM90
BLOSUM80
BLOSUM60
BLOSUM52
BLOSUM45
More distant sequences
PAM120 for general use
PAM60 for close relations
PAM250 for distant relations
BLOSUM62 for general use
BLOSUM80 for close relations
BLOSUM45 for distant relations
Search with Protein, not DNA
Sequences
1) 4 DNA bases vs. 20 amino acids - less
chance similarity
2) can have varying degrees of similarity
between different AAs
- # of mutations, chemical similarity, PAM matrix
3) protein databanks are much smaller than
DNA databanks
FASTA
1) A faster method to find similarities and
make alignments – capable of searching
many sequences (an entire database)
2) Only searches near the diagonal of the
alignment matrix
3) Produces a statistic for each alignment
(more on this in the next lecture)
FASTA
1) Derived from logic of the dot plot
– compute best diagonals from all frames of alignment
2) Word method looks for exact matches between
words in query and test sequence
–
–
–
–
–
hash tables (fast computer technique)
Only matches exactly identical words
DNA words are usually 6 bases
protein words are 1 or 2 amino acids
only searches for diagonals in region of word
matches = faster searching
FASTA Format
• simple format used by almost all programs
• >header line with a [return] at end
• Sequence (no specific requirements for line
length, characters, etc)
>URO1 uro1.seq
Length: 2018
November 9, 2000 11:50
Type: N
Check: 3854
CGCAGAAAGAGGAGGCGCTTGCCTTCAGCTTGTGGGAAATCCCGAAGATGGCCAAAGACA
ACTCAACTGTTCGTTGCTTCCAGGGCCTGCTGATTTTTGGAAATGTGATTATTGGTTGTT
GCGGCATTGCCCTGACTGCGGAGTGCATCTTCTTTGTATCTGACCAACACAGCCTCTACC
CACTGCTTGAAGCCACCGACAACGATGACATCTATGGGGCTGCCTGGATCGGCATATTTG
TGGGCATCTGCCTCTTCTGCCTGTCTGTTCTAGGCATTGTAGGCATCATGAAGTCCAGCA
GGAAAATTCTTCTGGCGTATTTCATTCTGATGTTTATAGTATATGCCTTTGAAGTGGCAT
CTTGTATCACAGCAGCAACACAACAAGACTTTTTCACACCCAACCTCTTCCTGAAGCAGA
TGCTAGAGAGGTACCAAAACAACAGCCCTCCAAACAATGATGACCAGTGGAAAAACAATG
GAGTCACCAAAACCTGGGACAGGCTCATGCTCCAGGACAATTGCTGTGGCGTAAATGGTC
CATCAGACTGGCAAAAATACACATCTGCCTTCCGGACTGAGAATAATGATGCTGACTATC
CCTGGCCTCGTCAATGCTGTGTTATGAACAATCTTAAAGAACCTCTCAACCTGGAGGCTT
..
FASTA Algorithm
Makes Longest Diagonal
3) after all diagonals found, tries to join
diagonals by adding gaps
4) computes alignments in regions of
best diagonals
FASTA Alignments
FASTA Results - Alignment
SCORES
Init1: 1515 Initn: 1565 Opt: 1687 z-score: 1158.1 E(): 2.3e-58
>>GB_IN3:DMU09374
(2038 nt)
initn: 1565 init1: 1515 opt: 1687 Z-score: 1158.1 expect(): 2.3e-58
66.2% identity in 875 nt overlap
(83-957:151-1022)
60
70
80
90
100
110
u39412.gb_pr CCCTTTGTGGCCGCCATGGACAATTCCGGGAAGGAAGCGGAGGCGATGGCGCTGTTGGCC
|| ||| | ||||| |
||| |||||
DMU09374
AGGCGGACATAAATCCTCGACATGGGTGACAACGAACAGAAGGCGCTCCAACTGATGGCC
130
140
150
160
170
180
120
130
140
150
160
170
u39412.gb_pr GAGGCGGAGCGCAAAGTGAAGAACTCGCAGTCCTTCTTCTCTGGCCTCTTTGGAGGCTCA
|||||||||
|| |||
|
| || ||| |
|| || ||||| ||
DMU09374
GAGGCGGAGAAGAAGTTGACCCAGCAGAAGGGCTTTCTGGGATCGCTGTTCGGAGGGTCC
190
200
210
220
230
240
180
190
200
210
220
230
u39412.gb_pr TCCAAAATAGAGGAAGCATGCGAAATCTACGCCAGAGCAGCAAACATGTTCAAAATGGCC
||| | ||||| ||
|||
||||
| || | |||||||| || ||| ||
DMU09374
AACAAGGTGGAGGACGCCATCGAGTGCTACCAGCGGGCGGGCAACATGTTTAAGATGTCC
250
260
270
280
290
300
240
250
260
270
280
290
u39412.gb_pr AAAAACTGGAGTGCTGCTGGAAACGCGTTCTGCCAGGCTGCACAGCTGCACCTGCAGCTC
||||||||||
||||| |
|||||| |||| |||
|| ||| || |
DMU09374
AAAAACTGGACAAAGGCTGGGGAGTGCTTCTGCGAGGCGGCAACTCTACACGCGCGGGCT
310
320
330
340
350
360
Summary
• Identity, similarity, homology
• Analyze sequence similarity by dotplots
• window/stringency
•
•
•
•
•
•
Alignment of text strings by edit distance
Scoring of aligned amino acids
Gap penalties
Global vs. local alignment
Dynamic Programming (Smith Waterman)
FASTA method
Next Lecture: Searching Sequence Databases