Biological Sequences and Hidden Markov Models CBPS7711 Sept 9, 2010

Preview:

DESCRIPTION

Biological Sequences and Hidden Markov Models CBPS7711 Sept 9, 2010. Sonia Leach, PhD Assistant Professor Center for Genes, Environment, and Health National Jewish Health sonia.leach@gmail.com. - PowerPoint PPT Presentation

Citation preview

Center for Genes, Environment, and Health

Biological Sequences and Hidden Markov Models

CBPS7711Sept 9, 2010

Sonia Leach, PhDAssistant Professor

Center for Genes, Environment, and HealthNational Jewish Health

sonia.leach@gmail.com

Slides created from David Pollock’s slides from last year 7711 and current reading list from CBPS711 website

Andrey Markov 1856-1922

2 Center for Genes, Environment, and Health

Introduction• Despite complex 3-D structure, biological molecules have

primary linear sequence (DNA, RNA, protein) or have linear sequence of features (CpG islands, models of exons, introns, regulatory regions, genes)

• Hidden Markov Models (HMMs) are probabilistic models for processes which transition through a discrete set of states, each emitting a symbol (probabilistic finite state machine)

• HMMs exhibit the ‘Markov property:’ the conditional probability distribution of future states of the process depends only upon the present state (memory-less)

• Linear sequence of molecules/features ismodelled as a path through states of the HMMwhich emit the sequence of molecules/features

• Actual state is hidden and observed only through output symbols

Hidden Markov Model• Finite set of N states X• Finite set of M observations O• Parameter set λ = (A, B, π)

– Initial state distribution πi = Pr(X1 = i)– Transition probability aij = Pr(Xt=j | Xt-1 = i)– Emission probability bik = Pr(Ot=k | Xt = i)

3 Center for Genes, Environment, and Health

1 2

3

N=3, M=2π=(0.25, 0.55, 0.2)A = B =

000.1

1.09.00

8.02.00

5.0

25.0

5.0

75.09.01.0

Example:

Hidden Markov Model• Finite set of N states X• Finite set of M observations O• Parameter set λ = (A, B, π)

– Initial state distribution πi = Pr(X1 = i)– Transition probability aij = Pr(Xt=j | Xt-1 = i)– Emission probability bik = Pr(Ot=k | Xt = i)

4 Center for Genes, Environment, and Health

Hidden Markov Model (HMM)

OtO

XtX t-1

t-1

1 2

3

N=3, M=2π=(0.25, 0.55, 0.2)A = B =

000.1

1.09.00

8.02.00

5.0

25.0

5.0

75.09.01.0

Example:

5 Center for Genes, Environment, and Health

Probabilistic Graphical Models

Time

Observability Utility Observabilityand Utility

MarkovDecisionProcess (MDP)

A tA t−1

X tX t −1

U tU t−1

PartiallyObservableMarkovDecisionProcess (POMDP)

A t−1A t

X tX t −1

OtO t−1

U tU t−1

Markov Process (MP)X tX t −1

Hidden Markov Model (HMM)

OtO

XtX t-1

t-1

Y X

Three basic problems of HMMs1. Given the observation sequence O=O1,O2,

…,On, how do we compute Pr(O| λ)?

2. Given the observation sequence, how do we choose the corresponding state sequence X=X1,X2,…,Xn which is optimal?

3. How do we adjust the model parameters to maximize Pr(O| λ)?

6 Center for Genes, Environment, and Health

• Probability of O is sum over all state sequencesPr(O|λ) = ∑

all X Pr(O|X, λ) Pr(X|λ)

= ∑

all X πx1

bx1o1 ax1x2 bx2o2 . . . axn-1xn bxnon

• Efficient dynamic programming algorithm to do this: Forward algorithm (Baum and Welch)

7 Center for Genes, Environment, and Health

1 2

3

N=3, M=2π=(0.25, 0.55, 0.2)A = B =

000.1

1.09.00

8.02.00

5.0

25.0

5.0

75.09.01.0

Example:

πi = Pr(X1 = i)aij = Pr(Xt=j | Xt-1 = i)bik = Pr(Ot=k | Xt = i)

A Simple HMMCpG Islands where in one state, much higher

probability to be C or G

G .1C .1A .4T .4

G .3C .3A .2T .2 0.1

0.2

CpG Non-CpG

0.8 0.9

From David Pollock

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

Pr(G|λ) = πC bCG + πN bNG

= .5*.3 + .5*.1For convenience, let’s drop the0.5 for now and add it in later

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

For O=GC have 4 possible state sequences CC,NC, CN,NN

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

For O=GCG have possible state sequences CCC, CCNNCC, NCN NNC, NNNCNC, CNN

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

For O=GCG have possible state sequences CCC, CCNNCC, NCN NNC, NNNCNC, CNN

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

(.0185*.8+.0029*.1

)*.2=.003

(.0185*.2+.0029*.9)

*.4=.0025

A

(.003*.8+

.0025*.1)*.2=.0005

(.003*.2+|

.0025*.9)*.4=.0011

A

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

(.0185*.8+.0029*.1

)*.2=.003

(.0185*.2+.0029*.9)

*.4=.0025

A

(.003*.8+

.0025*.1)*.2=.0005

(.003*.2+|

.0025*.9)*.4=.0011

A

Problem 1: Pr(O| λ)=0.5*.0005 + 0.5*.0011= 8e-4

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

(.0185*.8+.0029*.1

)*.2=.003

(.0185*.2+.0029*.9)

*.4=.0025

A

(.003*.8+

.0025*.1)*.2=.0005

(.003*.2+|

.0025*.9)*.4=.0011

A

Problem 2: What is optimal state sequence?

The Forward AlgorithmProbability of a Sequence is the Sum of All

Paths that Can Produce It

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

(.0185*.8+.0029*.1

)*.2=.003

(.0185*.2+.0029*.9)

*.4=.0025

A

(.003*.8+

.0025*.1)*.2=.0005

(.003*.2+|

.0025*.9)*.4=.0011

A

The Viterbi AlgorithmMost Likely Path (use max instead of sum)

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s(note error in formulas on his)

G

G .3

G .1

max(.3*.8,.1*.1)*.3= .072

max(.3*.2,.1*.9)*.1=.009

C

max(.072*.8,.009*.1)*.3= .0173

max(.072*.2,.009*.9)*.1=.0014

G

max(.0173*.8,.0014*.1)*.2=.0028

max(.0173*.2+.0014*.9)*.4=.0014

A

max(.0028*.8,.0014*.1)*.2=.00044

max(.0028*.2,.0014*.9)*.4=.0005

A

The Viterbi AlgorithmMost Likely Path: Backtracking

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

Adapted from David Pollock’s

G

G .3

G .1

max(

.3*.8,

.1*.1)*.3= .072

max(.3*.2,.1*.9)*.1=.009

C

max(

.072*.8,

.009*.1)*.3= .0173

max(.072*.2,.009*.9)*.1=.0014

G

max(.0173*.8,.0014*.1)*.2=.0028

max(

.0173*.2+.0014*.9)*.4=.0014

A

max(.0028*.8,.0014*.1)*.2=.00044

max(.0028*.2,

.0014*.9)*.4

=.0005

A

Forward-backward algorithm

G .1C .1A .4T .4

G .3C .3A .2T .2

0.10.2

Non-CpG

0.8

0.9

CpG

G

G .3

G .1

(.3*.8+.1*.1)*.3=.075

(.3*.2+.1*.9)*.1=.015

C

(.075*.8+

.015*.1)*.3=.0185

(.075*.2+

.015*.9)*.1=.0029

G

(.0185*.8+.0029*.1

)*.2=.003

(.0185*.2+.0029*.9)

*.4=.0025

A

(.003*.8+

.0025*.1)*.2=.0005

(.003*.2+|

.0025*.9)*.4=.0011

AProblem 3: How to learn model?Forward algorithm calculated Pr(O1..t,Xt=i| λ)

Parameter estimation by Baum-Welch Forward Backward Algorithm

Forward variable αt(i) =Pr(O1..t,Xt=i | λ)Backward variable βt(i) =Pr(Ot+1..N|Xt=i, λ)

Rabiner 1989

Homology HMM• Gene recognition, classify to identify distant

homologs• Common Ancestral Sequence

– Parameter set λ = (A, B, π), strict left-right model– Specially defined set of states: start, stop, match, insert,

delete– For initial state distribution π, use ‘start’ state– For transition matrix A use global transition probabilities– For emission matrix B

• Match, site-specific emission probabilities

• Insert (relative to ancestor), global emission probs

• Delete, emit nothing

• Multiple Sequence Alignments

Adapted from David Pollock’s

Homology HMM

start

insert insert

match

delete delete

match end

insert

Adapted from David Pollock’s

Homology HMM Example

A .1C .05D .2E .08F .01

A .04C .1D .01E .2F .02

A .2C .01D .05E .1F .06

insert

delete

insert

match match

insert

delete

match

delete

24 Center for Genes, Environment, and HealthEddy, 1998

Ungapped blocks

Ungapped blocks where insertion statesmodel intervening sequence between blocks

Insert/delete statesallowed anywhere

Allow multiple domains,sequence fragments

Homology HMM• Uses

– Find homologs to profile HMM in database• Score sequences for match to HMM

– Not always Pr(O| λ) since some areas may highly diverge– Sometimes use ‘highest scoring subsequence’

• Goal is to find homologs in database

– Classify sequence using libraryof profile HMMs

• Compare alternative models

– Alignment of additional sequences– Structural alignment when alphabet is secondary

structure symbols so can do fold-recognition, etc

Adapted from David Pollock’s

Why Hidden Markov Models for MSA?• Multiple sequence alignment as consensus

– May have substitutions, not all AA are equal

– Could use regular expressions but how to handle indels?

– What about variable-length members of family?

26 Center for Genes, Environment, and Health

FOS_RAT IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTPSTGAYARAGVV 112FOS_MOUSE IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTQSAGAYARAGMV 112

FOS_RAT IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTPS-TGAYARAGVV 112FOS_MOUSE IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTQS-AGAYARAGMV 112FOS_CHICK VPTVTAISTSPDLQWLVQPTLISSVAPSQNRG-HPYGVPAPAPPAAYSRPAVL 112

FOS_RAT IPTVTAISTSPDLQWLVQPTLVSSVAPSQ-------TRAPHPYGLPTPS-TGAYARAGVV 112FOS_MOUSE IPTVTAISTSPDLQWLVQPTLVSSVAPSQ-------TRAPHPYGLPTQS-AGAYARAGMV 112FOS_CHICK VPTVTAISTSPDLQWLVQPTLISSVAPSQ-------NRG-HPYGVPAPAPPAAYSRPAVL 112FOSB_MOUSE VPTVTAITTSQDLQWLVQPTLISSMAQSQGQPLASQPPAVDPYDMPGTS----YSTPGLS 110FOSB_HUMAN VPTVTAITTSQDLQWLVQPTLISSMAQSQGQPLASQPPVVDPYDMPGTS----YSTPGMS 110

Why Hidden Markov Models?• Rather than consensus sequence which describes the

most common amino acid per position, HMMs allow more than one amino acid to appear at each position

• Rather than profiles as position specific scoring matrices (PSSM) which assign a probability to each amino acid in each position of the domain and slide fixed-length profile along a longer sequence to calculate score, HMMs model probability of variable length sequences

• Rather than regular expressions which can capture variable length sequences yet specify a limited subset of amino acids per position, HMMs quantify difference among using different amino acids at each position

27 Center for Genes, Environment, and Health

Model Comparison• Based on

– For ML, take• Usually to avoid numeric

error

– For heuristics, “score” is– For Bayesian, calculate

– Uses ‘prior’ information on parameters

P(D |, M)

Pmax (D |, M)

lnPmax (D |, M)

log2 P(D | fixed ,M)

Pmax (, M | D) P(D |, M) * P * P M

P(D |, M) * P * P M )(P

Adapted from David Pollock’s

Parameters, • Types of parameters

– Amino acid distributions for positions (match states)

– Global AA distributions for insert states– Order of match states– Transition probabilities– Phylogenetic tree topology and branch lengths– Hidden states (integrate or augment)

• Wander parameter space (search)– Maximize, or move according to posterior

probability (Bayes)

Adapted from David Pollock’s

Expectation Maximization (EM)• Classic algorithm to fit probabilistic model

parameters with unobservable states• Two Stages

– Maximize• If know hidden variables (states), maximize model

parameters with respect to that knowledge

– Expectation• If know model parameters, find expected values of

the hidden variables (states)

• Works well even with e.g., Bayesian to find near-equilibrium space

Adapted from David Pollock’s

Homology HMM EM• Start with heuristic MSA (e.g., ClustalW)• Maximize

– Match states are residues aligned in most sequences

– Amino acid frequencies observed in columns

• Expectation– Realign all the sequences given model

• Repeat until convergence• Problems: Local, not global optimization

– Use procedures to check how it workedAdapted from David Pollock’s

Model Comparison• Determining significance depends on

comparing two models (family vs non-family)– Usually null model, H0, and test model, H1

– Models are nested if H0 is a subset of H1

– If not nested• Akaike Information Criterion (AIC) [similar to

empirical Bayes] or • Bayes Factor (BF) [but be careful]

• Generating a null distribution of statistic– Z-factor, bootstrapping, , parametric

bootstrapping, posterior predictive

2

Adapted from David Pollock’s

Z Test Method• Database of known negative controls

– E.g., non-homologous (NH) sequences– Assume NH scores

• i.e., you are modeling known NH sequence scores as a normal distribution

– Set appropriate significance level for multiple comparisons (more below)

• Problems– Is homology certain?– Is it the appropriate null model?

• Normal distribution often not a good approximation

– Parameter control hard: e.g., length distribution

~ N(, )

Adapted from David Pollock’s

Bootstrapping and Parametric Models

• Random sequence sampled from the same set of emission probability distributions– Same length is easy– Bootstrapping is re-sampling columns– Parametric uses estimated frequencies, may

include variance, tree, etc.• More flexible, can have more complex null• Pseudocounts of global frequencies if data limit

• Insertions relatively hard to model– What frequencies for insert states? Global?

Adapted from David Pollock’s

Homology HMM Resources• UCSC (Haussler)

– SAM: align, secondary structure predictions, HMM parameters, etc.

• WUSTL/Janelia (Eddy)– Pfam: database of pre-computed HMM

alignments for various proteins– HMMer: program for building HMMs

Adapted from David Pollock’s

36 Center for Genes, Environment, and Health

Why Hidden Markov Models?• Multiple sequence alignment as consensus

– May have substitutions, not all AA are equal

– Could use regular expressions but how to handle indels?

– What about variable-length members of family?

– (but don’t accept everything – typically introduce gap penalty)

37 Center for Genes, Environment, and Health

FOS_RAT IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTPSTGAYARAGVV 112FOS_MOUSE IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTQSAGAYARAGMV 112

FOS_RAT IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTPS-TGAYARAGVV 112FOS_MOUSE IPTVTAISTSPDLQWLVQPTLVSSVAPSQTRAPHPYGLPTQS-AGAYARAGMV 112FOS_CHICK VPTVTAISTSPDLQWLVQPTLISSVAPSQNRG-HPYGVPAPAPPAAYSRPAVL 112

FOS_RAT IPTVTAISTSPDLQWLVQPTLVSSVAPSQ-------TRAPHPYGLPTPS-TGAYARAGVV 112FOS_MOUSE IPTVTAISTSPDLQWLVQPTLVSSVAPSQ-------TRAPHPYGLPTQS-AGAYARAGMV 112FOS_CHICK VPTVTAISTSPDLQWLVQPTLISSVAPSQ-------NRG-HPYGVPAPAPPAAYSRPAVL 112FOSB_MOUSE VPTVTAITTSQDLQWLVQPTLISSMAQSQGQPLASQPPAVDPYDMPGTS----YSTPGLS 110FOSB_HUMAN VPTVTAITTSQDLQWLVQPTLISSMAQSQGQPLASQPPVVDPYDMPGTS----YSTPGMS 110

Why Hidden Markov Models?• Rather than consensus sequence which describes the

most common amino acid per position, HMMs allow more than one amino acid to appear at each position

• Rather than profiles as position specific scoring matrices (PSSM) which assign a probability to each amino acid in each position of the domain and slide fixed-length profile along a longer sequence to calculate score, HMMs model probability of variable length sequences

• Rather than regular expressions which can capture variable length sequences yet specify a limited subset of amino acids per position, HMMs quantify difference among using different amino acids at each position

38 Center for Genes, Environment, and Health

39 Center for Genes, Environment, and Health

Acknowledgements

Recommended