Motif Finding PSSMs Expectation Maximization Gibbs Sampling
Complexity of Transcription
Representing Binding Sites for a TF A set of sites represented as a consensus VDRTWRWWSHD (IUPAC degenerate DNA) A C G T A matrix describing a a set of sites A single site AAGTTAATGA Set of binding sites AAGTTAATGA CAGTTAATAA GAGTTAAACA CAGTTAATTA GAGTTAATAA CAGTTATTCA GAGTTAATAA CAGTTAATCA AGATTAAAGA AAGTTAACGA AGGTTAACGA ATGTTGATGA AAGTTAATGA AAGTTAACGA AAATTAATGA GAGTTAATGA AAGTTAATCA AAGTTGATGA AAATTAATGA ATGTTAATGA AAGTAAATGA AAGTTAATGA AAATTAATGA AAGTTAATGA Set of binding sites AAGTTAATGA CAGTTAATAA GAGTTAAACA CAGTTAATTA GAGTTAATAA CAGTTATTCA GAGTTAATAA CAGTTAATCA AGATTAAAGA AAGTTAACGA AGGTTAACGA ATGTTGATGA AAGTTAATGA AAGTTAACGA AAATTAATGA GAGTTAATGA AAGTTAATCA AAGTTGATGA AAATTAATGA ATGTTAATGA AAGTAAATGA AAGTTAATGA AAATTAATGA AAGTTAATGA
Nucleic acid codes codedescription AAdenine CCytosine GGuanine TThymine UUracil RPurine (A or G) YPyrimidine (C, T, or U) MC or A KT, U, or G WT, U, or A SC or G BC, T, U, or G (not A) DA, T, U, or G (not C) HA, T, U, or C (not G) VA, C, or G (not T, not U) NAny base (A, C, G, T, or U)
From frequencies to log scores TGCTG = 0.9 A C G T A C G T f matrix w matrix Log ( ) f(b,i) + s(N) p(b)
TFs do not act alone
PSSMs for Liver TFs… HNF1 C/EBP HNF3 HNF4
PSSMs for Helix-Turn-Helix Motif
Promoter…
Promoter Weight Matrices (PWM)
E.Coli PWMs
Motif Logo Motifs can mutate on less important bases. The five motifs at top right have mutations in position 3 and 5. Representations called motif logos illustrate the conserved regions of a motif TGGGGGA TGAGAGA TGGGGGA TGAGAGA TGAGGGA Position:
Example: Calmodulin-Binding Motif (calcium-binding proteins)
Sequence Motifs
Regulatory Motifs Transcription Factors bind to regulatory motifs Motifs are 6 – 20 nucleotides long Activators and repressors Usually located near target gene, mostly upstream
Challenges How to recognize a regulatory motif? Can we identify new occurrences of known motifs in genome sequences? Can we discover new motifs within upstream sequences of genes?
Motif Representation Exact motif: CGGATATA Consensus: represent only deterministic nucleotides. Example: HAP1 binding sites in 5 sequences. consensus motif: CGGNNNTANCGG N stands for any nucleotide. Representing only consensus loses information. How can this be avoided? CGGATATACCGG CGGTGATAGCGG CGGTACTAACGG CGGCGGTAACGG CGGCCCTAACGG CGGNNNTANCGG
12345 A C T G PSPM – Position Specific Probability Matrix Represents a motif of length k (5) Count the number of occurrence of each nucleotide in each position
12345 A C T G PSPM – Position Specific Probability Matrix Defines Pi{A,C,G,T} for i={1,..,k}. Pi (A) – frequency of nucleotide A in position i.
Identification of Known Motifs within Genomic Sequences Motivation: identification of new genes controlled by the same TF. Infer the function of these genes. enable better understanding of the regulation mechanism.
12345 A C T G PSPM – Position Specific Probability Matrix Each k-mer is assigned a probability. Example: P(TCCAG)=0.5*0.25*0.8*0.7*0.2
12345 A C T G Detecting a Known Motif within a Sequence using PSPM The PSPM is moved along the query sequence. At each position the sub-sequence is scored for a match to the PSPM. Example: sequence = ATGCAAGTCT…
The PSPM is moved along the query sequence. At each position the sub-sequence is scored for a match to the PSPM. Example: sequence = ATGCAAGTCT… Position 1: ATGCA 0.1*0.25*0.1*0.1*0.6=1.5* A C T G Detecting a Known Motif within a Sequence using PSPM
The PSPM is moved along the query sequence. At each position the sub-sequence is scored for a match to the PSPM. Example: sequence = ATGCAAGTCT… Position 1: ATGCA 0.1*0.25*0.1*0.1*0.6=1.5*10-4 Position 2: TGCAA 0.5*0.25*0.8*0.7*0.6= A C T G Detecting a Known Motif within a Sequence using PSPM
Detecting a Known Motif within a Sequence using PSSM Is it a random match, or is it indeed an occurrence of the motif? PSPM -> PSSM (Probability Specific Scoring Matrix) odds score matrix: Oi(n) where n {A,C,G,T} for i={1,..,k} defined as Pi(n)/P(n), where P(n) is background frequency. Oi(n) increases => higher odds that n at position i is part of a real motif.
12345 A A A PSSM as Odds Score Matrix Assumption: the background frequency of each nucleotide is Original PSPM (Pi): Odds Matrix (Oi): Going to log scale we get an additive score, Log odds Matrix (log2Oi):
12345 A C T G Calculating using Log Odds Matrix Odds 0 implies random match; Odds > 0 implies real match (?). Example: sequence = ATGCAAGTCT… Position 1: ATGCA =-2.7 odds= 2-2.7=0.15 Position 2: TGCAA =5.42 odds=25.42=42.8
Calculating the probability of a match ATGCAAG Position 1 ATGCA = 0.15 Position 2 TGCAA = 42.3 Position 3 GCAAG =0.18 P (i) = S / (∑ S) Example 0.15 /( )=0.003 P (1)= P (2)= P (3) =0.004
Building a PSSM Collect all known sequences that bind a certain TF. Align all sequences (using multiple sequence alignment). Compute the frequency of each nucleotide in each position (PSPM). Incorporate background frequency for each nucleotide (PSSM).
Finding new Motifs We are given a group of genes, which presumably contain a common regulatory motif. We know nothing of the TF that binds to the putative motif. The problem: discover the motif.
Example Predicting the cAMP Receptor Protein (CRP) binding site motif
GGATAACAATTTCACA AGTGTGTGAGCGGATAACAA AAGGTGTGAGTTAGCTCACTCCCC TGTGATCTCTGTTACATAG ACGTGCGAGGATGAGAACACA ATGTGTGTGCTCGGTTTAGTTCACC TGTGACACAGTGCAAACGCG CCTGACGGAGTTCACA AATTGTGAGTGTCTATAATCACG ATCGATTTGGAATATCCATCACA TGCAAAGGACGTCACGATTTGGG AGCTGGCGACCTGGGTCATG TGTGATGTGTATCGAACCGTGT ATTTATTTGAACCACATCGCA GGTGAGAGCCATCACAG GAGTGTGTAAGCTGTGCCACG TTTATTCCATGTCACGAGTGT TGTTATACACATCACTAGTG AAACGTGCTCCCACTCGCA TGTGATTCGATTCACA Extract experimentally defined CRP Binding Sites
GGATAACAATTTCACA TGTGAGCGGATAACAA TGTGAGTTAGCTCACT TGTGATCTCTGTTACA CGAGGATGAGAACACA CTCGGTTTAGTTCACC TGTGACACAGTGCAAA CCTGACGGAGTTCACA AGTGTCTATAATCACG TGGAATATCCATCACA TGCAAAGGACGTCACG GGCGACCTGGGTCATG TGTGATGTGTATCGAA TTTGAACCACATCGCA GGTGAGAGCCATCACA TGTAAGCTGTGCCACG TTTATTCCATGTCACG TGTTATACACATCACT CGTGCTCCCACTCGCA TGTGATTCGATTCACA Create a Multiple Sequence Alignment
A C G T Generate a PSSM
Shannon Entropy Expected variation per column can be calculated Low entropy means higher conservation
Entropy The entropy (H) for a column is: a: is a residue, f a : frequency of residue a in a column, p a : probability of residue a in that column
Entropy entropy measures can determine which evolutionary distance (PAM250, BLOSUM80, etc) should be used Entropy yields amount of information per column (discussed with sequence logos in a bit)
Log-odds score Profiles can also indicate log-odds score: Log 2 (observed:expected) Result is a bit score
Matlab Multalign 1 Enter an array of sequences. seqs = {'CACGTAACATCTC','ACGACGTAACATCTTCT','AAACGTA ACATCTCGC'}; 2 Promote terminations with gaps in the alignment. multialign(seqs,'terminalGapAdjust',true) ans = --CACGTAACATCTC-- ACGACGTAACATCTTCT -AAACGTAACATCTCGC
Matlab 3 Compare alignment without termination gap adjustment. multialign(seqs) ans = CA--CGTAACATCT--C ACGACGTAACATCTTCT AA-ACGTAACATCTCGC
Matlab >> a={'ATATAGGAG','AATTATAGA','TTA GAGAAA'} >> a = 'ATATAGGAG' 'AATTATAGA' 'TTAGAGAAA'
Char function >> cseq=char(a) cseq = ATATAGGAG AATTATAGA TTAGAGAAA
Double function >> intseq=double(cseq) intseq =
double >> double('A') ans = 65 >> double('C') ans = 67 >> double('G') ans = 71 >> double('T') ans = 84
Initiate PSPM matrix >> Pspm=zeros(4,length(intseq)) Pspm =
Use a for loop to count each nucleotide at each position >> for i = 1:length(intseq) Pspm(1,i)=length(find(intseq(:,i)==65)); Pspm(2,i)=length(find(intseq(:,i)==67)); Pspm(3,i)=length(find(intseq(:,i)==71)); Pspm(4,i)=length(find(intseq(:,i)==84)); end >> Pspm Pspm =
Add pseudocounts >> Pspmp=Pspm+1 Pspmp =
Normalize to get frequencies >> Pspmnorm=Pspmp./repmat(sum(Pspmp),4,1) Pspmnorm = Columns 1 through Columns 8 through
Calculate odds score >> Pswm=Pspmnorm/0.25 Pswm = Columns 1 through Columns 8 through
Log odds ratio >> logPswm=log2(Pswm) logPswm = Columns 1 through Columns 8 through
Estimate the probability of the given sequence to belong to the defined PSWM >> Unknown='TTAAGAAGG' Unknown = TTAAGAAGG >> intunknown=double(Unknown) intunknown =
Get the index of the PSWM for the unknown sequence >> for i=1:length(intunknown) A=find(intunknown==65) intunknown(A)=1; C=find(intunknown==67) intunknown(C)=2; G=find(intunknown==71) intunknown(G)=3; T=find(intunknown==84) intunknown(T)=4; end >> intunknown intunknown =
Calculate the log odds-ratio of the Unknown 'TTAAGAAGG' >> logunknown=logPswm(intunknown) logunknown = Columns 1 through Columns 8 through >> Punknown=sum(logunknown) Punknown =
Is this significant score or just random similarity? >> cseq cseq = ATATAGGAG AATTATAGA TTAGAGAAA >> Unknown Unknown = TTAAGAAGG
What would be the maximum score? >> logPswm logPswm = Columns 1 through Columns 8 through >> maxscore=max(logPswm) maxscore = Columns 1 through Columns 8 through >> totalmaxscore=sum(maxscore) totalmaxscore=
Write a function using the above statements to scan a sequence Write a function named ‘logodds’ that calculates the logs-odd ratio of a given alignment. Write a function named ‘scanmotif’ that calls the ‘logodds’ to search through a sequence using a sliding window to calculate the logodds of a subsequence and store these scores. The function should allow for selection of a maximum number of locations that are likely to contain the motif based on the scores obtained.
Position Specific Scoring Matrix (PSSM) incorporate information theory to indicate information contained within each column of a multiple alignment. information is a logarithmic transformation of the frequency of each residue in the motif
PSSMs and Pseudocounts Problem: PSSMs are only as good as the initial msa Some residues may be underrepresented Other columns may be too conserved Solution: Introduce Pseudocounts to get a better indication
Pseudocounts New estimated probability: Pca: Probability of residue a in column c nca: count of a’s in column c bca: pseudocount of a’s in column c Nc: total count in column c Bc: total pseudocount in column c
PSSMs and pseudocounts probabilities converted into a log-odds form (usually log 2 so the information can be reported in bits) and placed in the PSSM.
Searching PSSMs value for the first residue in the sequence occurring in the first column is calculated by searching the PSSM the value for the residue occurring in each column is calculated
Searching PSSMs values are added (since they are logarithms) to produce a summed log odds score, S S can be converted to an odds score using the formula 2 S odds scores for each position can be summed together and normalized to produce a probability of the motif occurring at each location.
Information in PSSMs Information theory: amount of information contained within each sequence. No information: amount of uncertainty can be measured as log 2 20 = 4.32 for amino acids, since there are 20 amino acids. For nucleic acid sequences, the amount of uncertainty can be measured as log 2 4 = 2.
Information in PSSMs If a column is completely conserved then the uncertainty is 0 – there is only one choice. two residues occurring with equal probability -- uncertainty to deciding which residue it is.
Measure of Uncertainty Measured as the entropy
Relative Entropy. Relative entropy takes into account overall composition of the organism being studied B a is background frequency of residue a in the organism
PSSM Uncertainty Uncertainty for whole model is summed over all columns:
Sequence Logos Information in PSSMs can be viewed visually Sequence logos illustrate information in each column of a motif height of logo is calculated as the amount by which uncertainty has been decreased
Sequence Logos
Statistical Methods Commonly used methods for locating motifs: Expectation-Maximization (EM) Gibbs Sampling
Expectation-Maximization Begin with set of sequences with an unknown signal in common Signal may be subtle Approximate length of signal must be given Randomly assign locations of this motif in each sequence
Expectation-Maximization Two steps: Expectation Step Maximization Step
Expectation-Maximization Expectation step Residue Frequencies for each position calculated Residues not in a motif are background Frequencies used to determine probability of finding site at any position in a sequence to fit motif model
Maximization Step Determine location for each sequence that maximally aligns to the motif pattern Once new motif location found for each sequence, motif pattern is revised in the expectation E-M continues until solution converges
TCAGAACCAGTTATAAATTTATCATTTCCTTCTCCACTCCT CCCACGCAGCCGCCCTCCTCCCCGGTCACTGACTGGTCCTG TCGACCCTCTGAACCTATCAGGGACCACAGTCAGCCAGGCAAG AAAACACTTGAGGGAGCAGATAACTGGGCCAACCATGACTC GGGTGAATGGTACTGCTGATTACAACCTCTGGTGCTGC AGCCTAGAGTGATGACTCCTATCTGGGTCCCCAGCAGGA GCCTCAGGATCCAGCACACATTATCACAAACTTAGTGTCCA CATTATCACAAACTTAGTGTCCATCCATCACTGCTGACCCT TCGGAACAAGGCAAAGGCTATAAAAAAAATTAAGCAGC GCCCCTTCCCCACACTATCTCAATGCAAATATCTGTCTGAAACGGTTCC CATGCCCTCAAGTGTGCAGATTGGTCACAGCATTTCAAGG GATTGGTCACAGCATTTCAAGGGAGAGACCTCATTGTAAG TCCCCAACTCCCAACTGACCTTATCTGTGGGGGAGGCTTTTGA CCTTATCTGTGGGGGAGGCTTTTGAAAAGTAATTAGGTTTAGC ATTATTTTCCTTATCAGAAGCAGAGAGACAAGCCATTTCTCTTTCCTCCCGGT AGGCTATAAAAAAAATTAAGCAGCAGTATCCTCTTGGGGGCCCCTTC CCAGCACACACACTTATCCAGTGGTAAATACACATCAT TCAAATAGGTACGGATAAGTAGATATTGAAGTAAGGAT ACTTGGGGTTCCAGTTTGATAAGAAAAGACTTCCTGTGGA TGGCCGCAGGAAGGTGGGCCTGGAAGATAACAGCTAGTAGGCTAAGGCCAG CAACCACAACCTCTGTATCCGGTAGTGGCAGATGGAAA CTGTATCCGGTAGTGGCAGATGGAAAGAGAAACGGTTAGAA GAAAAAAAATAAATGAAGTCTGCCTATCTCCGGGCCAGAGCCCCT TGCCTTGTCTGTTGTAGATAATGAATCTATCCTCCAGTGACT GGCCAGGCTGATGGGCCTTATCTCTTTACCCACCTGGCTGT CAACAGCAGGTCCTACTATCGCCTCCCTCTAGTCTCTG CCAACCGTTAATGCTAGAGTTATCACTTTCTGTTATCAAGTGGCTTCAGCTATGCA GGGAGGGTGGGGCCCCTATCTCTCCTAGACTCTGTG CTTTGTCACTGGATCTGATAAGAAACACCACCCCTGC
Residue Counts Given motif alignment, count for each location is calculated:
Residue Frequencies The counts are then converted to frequencies:
Example Maximization Step Consider the first sequence: TCAGAACCAGTTATAAATTTATCATTTCCTTCTCCACTCCT There are 41 residues; = 36 sites to consider
MEME Software One of three motif models: OOPS: One expected occurrence per sequence ZOOPS: Zero or one expected occurrence per sequence TCM: Any number of occurrences of the motif
Gibbs Sampling Similar to E-M algorithm Combines E-M and simulated annealing Goal: Find most probable pattern by sampling from motif probabilities to maximize ratio of model:background probabilities
Predictive Update Step random motif start position chosen for all sequences except one Initial alignment used to calculate residue frequencies for motif and background similar to the Expectation Step of EM
Sampling Step ratio of model:background probabilities normalized and weighted motif start position chosen based on a random sampling with the given weights Different than E-M algorithm
Gibbs Sampling process repeated until residue frequencies in each column do not change The sampling step is then repeated for a different initial random alignment Sampling allows escape from local maxima
Gibbs Sampling Dirichlet priors (pseudocounts) are added into the nucleotide counts to improve performance shifting routine shifts motif a few bases to the left or the right A range of motif sizes is checked
Gibbs Sampler Web Interface bbs.html bbs.html