Transcript Slides

CS5263 Bioinformatics
Lecture 11
Motif finding
HW2 2(C)
Click to find out
K and lambda
What is a (biological) motif?
• A motif is a recurring fragment, theme or pattern
• Sequence motif: a sequence pattern of nucleotides in a
DNA sequence or amino acids in a protein
• Structural motif: a pattern in a protein structure formed
by the spatial arrangement of amino acids.
• Network motif: patterns that occur in different parts of a
network at frequencies much higher than those found in
randomized network
• Commonality:
– higher frequency than would be expected by chance
– Has, or is conjectured to have, a biological significance
Sequence motif finding
• Given: a set of sequences
• Goal: find sequence motifs that appear in
all or the majority of the sequences, and
are likely associated with some functions
– In DNA: regulatory sequences
– In protein: functional/structural domains
Roadmap
•
•
•
•
Biological background
Representation of motifs
Algorithms for finding motifs
Other issues
– Search for instances of given motifs
– Distinguish functional vs non-functional motifs
Biological background for motif finding
Genome is fixed – Cells are
dynamic
• A genome is static
– (almost) Every cell in our body has a copy of
the same genome
• A cell is dynamic
– Responds to internal/external conditions
– Most cells follow a cell cycle of division
– Cells differentiate during development
Gene regulation
• … is responsible for the dynamic cell
• Gene expression (production of protein) varies
according to:
–
–
–
–
–
Cell type
Cell cycle
External conditions
Location
Etc.
Where gene regulation takes place
• Opening of chromatin
• Transcription
• Translation
• Protein stability
• Protein modifications
Transcriptional Regulation of genes
Transcription Factor (TF)
(Protein)
RNA polymerase
(Protein)
DNA
Promoter
Gene
Transcriptional Regulation of genes
Transcription Factor (TF)
(Protein)
RNA polymerase
(Protein)
DNA
TF binding site, cis-regulatory element
Gene
Transcriptional Regulation of genes
Transcription Factor
(Protein)
RNA polymerase
DNA
TF binding site, cis-regulatory element
Gene
Transcriptional Regulation of genes
New protein
RNA
polymerase
Transcription Factor
DNA
TF binding site, cis-regulatory element
Gene
The Cell as a Regulatory Network
If C then D
gene D
A
B
C
Make D
If B then NOT D
If A and B then D
D
gene B
D
C
Make B
If D then B
Transcription Factors Binding to DNA
Transcriptional regulation:
• Transcription factors
bind to DNA
Binding recognizes
specific DNA
substrings:
• Regulatory motifs
Experimental methods
• DNase footprinting
– Tedious
– Time-consuming
• High-throughput techniques: ChIP-chip, ChIPseq
– Expensive
– Other limitations
Computational methods for finding
regulatory motifs
.
.
.
Given a collection of genes that are believed to be
regulated by the same/similar protein
– Co-expressed genes
– Evolutionarily conserved genes
Find the common TF-binding motif from promoters
Essentially a Multiple Local
Alignment
instance
.
.
.
• Find “best” multiple local alignment
• Multidimensional Dynamic Programming?
– Heuristics must be used
Characteristics of Regulatory Motifs
• Tiny (6-12bp)
• Intergenic regions are
very long
• Highly Variable
• ~Constant Size
– Because a constant-size
transcription factor binds
• Often repeated
• Often conserved
Motif representation
• Collection of exact words
– {ACGTTAC, ACGCTAC, AGGTGAC, …}
• Consensus sequence (with wild cards)
– {AcGTgTtAC}
– {ASGTKTKAC} S=C/G, K=G/T (IUPAC code)
• Position-specific weight matrices (PWM)
Position-Specific Weight Matrix
1
2
3
4
5
6
7
8
9
A
.97
.10
.02
.03
.10
.01
.05
.85
.03
C
.01
.40
.01
.04
.05
.01
.05
.05
.03
G
.01
.40
.95
.03
.40
.01
.3
.05
.03
T
.01
.10
.02
.90
.45
.97
.6
.05
.91
A
S
G
T
K
T
K
A
C
frequency
Sequence Logo
1
2
3
4
5
6
7
8
9
A
.97
.10
.02
.03
.10
.01
.05
.85
.03
C
.01
.40
.01
.04
.05
.01
.05
.05
.03
G
.01
.40
.95
.03
.40
.01
.3
.05
.03
T
.01
.10
.02
.90
.45
.97
.6
.05
.91
http://weblogo.berkeley.edu/
http://biodev.hgen.pitt.edu/cgi-bin/enologos/enologos.cgi
Sequence Logo
1
2
3
4
5
6
7
8
9
A
.97
.10
.02
.03
.10
.01
.05
.85
.03
C
.01
.40
.01
.04
.05
.01
.05
.05
.03
G
.01
.40
.95
.03
.40
.01
.3
.05
.03
T
.01
.10
.02
.90
.45
.97
.6
.05
.91
http://weblogo.berkeley.edu/
http://biodev.hgen.pitt.edu/cgi-bin/enologos/enologos.cgi
Entropy and information content
• Entropy: a measure of uncertainty
• The entropy of a random variable X that
can assume the n different values x1, x2, . .
. , xn with the respective probabilities p1,
p2, . . . , pn is defined as
Entropy and information content
• Example: A,C,G,T with equal probability
 H = 4 * (-0.25 log2 0.25) = log2 4 = 2 bits
 Need 2 bits to encode (e.g. 00 = A, 01 = C, 10 = G, 11 = T)
 Maximum uncertainty
• 50% A and 50% C:
 H = 2 * (-0. 5 log2 0.5) = log2 2 = 1 bit
• 100% A
 H = 1 * (-1 log2 1) = 0 bit
 Minimum uncertainty
• Information: the opposite of uncertainty
 I = maximum uncertainty – entropy
 The above examples provide 0, 1, and 2 bits of information,
respectively
Entropy and information content
A
C
G
T
1
2
3
4
5
6
7
8
9
.97
.01
.01
.01
.10
.40
.40
.10
.02
.01
.95
.02
.03
.04
.03
.90
.10
.05
.40
.45
.01
.01
.01
.97
.05
.05
.3
.6
.85
.05
.05
.05
.03
.03
.03
.91
H
I
.24 1.72 .36 .63 1.60 0.24 1.40 0.85 0.58
1.76 0.28 1.64 1.37 0.40 1.76 0.60 1.15 1.42
Mean
1.15
Total
10.4
Expected occurrence in random DNA: 1 / 210.4 = 1 / 1340
Expected occurrence of an exact 5-mer: 1 / 210 = 1 /
Sequence Logo
1
2
3
4
5
6
7
8
9
A
C
.97
.10
.02
.03
.10
.01
.05
.85
.03
.01
.40
.01
.04
.05
.01
.05
.05
.03
G
T
I
.01
.40
.95
.03
.40
.01
.3
.05
.03
.01
.10
.02
.90
.45
.97
.6
.05
.91
1.76 0.28 1.64 1.37 0.40 1.76 0.60 1.15 1.42
Real example
• E. coli. Promoter
• “TATA-Box” ~ 10bp upstream of transcription
start
• TACGAT
• TAAAAT
• TATACT
Consensus: TATAAT
• GATAAT
• TATGAT
Note: none of the instances
• TATGTT
matches the consensus perfectly
Finding Motifs
Motif finding schemes
Conservation
Yes
No
Whole Yes Genome 1 & 2 & 3
Genome
1
Dictionary
building
genome
Phylogenetic footprinting
No Gene 1A & 1B & 1C or
“Motif finding”
Gene
Set 1
Gene Set 1 & 2 & 3
1A
1B
1C
Gene set 1
Gene set 2
Gene set 3
Genome 2
Genome 3
Genome 1
Ideally, all information should be used, at some stage.
i.e., inside algorithm vs pre- or post-processing.
Classification of approaches
• Combinatorial algorithms
– Based on enumeration of words and
computing word similarities
• Probabilistic algorithms
– Construct probabilistic models to distinguish
motifs vs non-motifs
– Will discuss in later lectures
Combinatorial motif finding
• Idea 1: find all k-mers that appeared at least m times
• Idea 2: find all k-mers that are statistically significant
• Problem: most motifs allow divergence. Each variation
may only appear once.
• Idea 3: find all k-mers, considering IUPAC code
– e.g. ASGTKTKAC, S = C/G, K = G/T
– Still inflexible
• Idea 4: find k-mers that approximately appeared at least
m times
– i.e. allow some mismatches
Combinatorial motif finding
Given a set of sequences S = {x1, …, xn}
• A motif W is a consensus string w1…wK
• Find motif W* with “best” match to x1, …, xn
Definition of “best”:
d(W, xi) = min hamming dist. between W and a word in xi
d(W, S) = i d(W, xi)
W* = argmin( d(W, S) )
Exhaustive searches
1. Pattern-driven algorithm:
For W = AA…A to TT…T
(4K possibilities)
Find d( W, S )
Report W* = argmin( d(W, S) )
Running time: O( K N 4K )
(where N = i |xi|)
Guaranteed to find the optimal solution.
Exhaustive searches
2. Sample-driven algorithm:
For W = a K-char word in some xi
Find d( W, S )
Report W* = argmin( d( W, S ) )
OR Report a local improvement of W*
Running time: O( K N2 )
Exhaustive searches
• Problem with sample-driven approach:
• If:
– True motif does not occur in data, and
– True motif is “weak”
• Then,
– random strings may score better than any
instance of true motif
Example
• E. coli. Promoter
• “TATA-Box” ~ 10bp upstream of transcription
start
• TACGAT
• TAAAAT
• TATACT
Consensus: TATAAT
• GATAAT
Each instance differs at most 2
• TATGAT
bases from the consensus
• TATGTT
None of the instances matches the
consensus perfectly
Heuristic methods
• Cannot afford exhaustive search on all
patterns
• Sample-driven approaches may miss real
patterns
• However, a real pattern should not differ
too much from its instances in S
• Start from the space of all words in S,
extend to the space with real patterns
Some of the popular tools
• Consensus (Hertz & Stormo, 1999)
• WINNOWER (Pevzner & Sze, 2000)
• MULTIPROFILER (Keich & Pevzner,
2002)
• PROJECTION (Buhler & Tompa, 2001)
• WEEDER (Pavesi et. al. 2001)
• And dozens of others
Consensus
Algorithm:
Cycle 1:
For each word W in S
For each word W’ in S
Create alignment (gap free) of W, W’
Keep the C1 best alignments, A1, …, AC1
ACGGTTG ,
ACGCCTG ,
CGAACTT ,
AGAACTA ,
GGGCTCT …
GGGGTGT …
Algorithm (cont’d):
Cycle i:
For each word W in S
For each alignment Aj from cycle i-1
Create alignment (gap free) of W, Aj
Keep the Ci best alignments A1, …, ACi
• C1, …, Cn are user-defined heuristic constants
Running time:
O(kN2) + O(kN C1) + O(kN C2) + … + O(kN Cn)
= O(kN2 + kNCtotal)
Where Ctotal = i Ci, typically O(nC), where C is a
big constant
Extended sample-driven (ESD)
approaches
• Hybrid between pattern-driven and sample-driven
• Assume each instance does not differ by more than α
bases to the motif ( usually depends on k)
motif
instance

α-neighborhood
The real motif will reside in the neighborhood of some words in S.
Instead of searching all 4K patterns,
we can search the -neighborhood
of every word in S.
Extended sample-driven (ESD)
approaches
• Naïve: N Kα 3α NK
# of patterns to test
# of words in sequences
Better idea
• Using a joint suffix tree, find all patterns
that:
– Have length K
– Appeared in at least m sequences with at
most α mismatches
• Post-processing
WEEDER: algorithm sketch
Current pattern P, |P| < K
# mismatches
(e, B)
Seq occ
A
C
G
T
T
• A list containing all eligible
nodes: with at most α
mismatches to P
• For each node, remember
#mismatches accumulated (e),
and bit vector (B) for seq occ,
e.g. [011100010]
• Bit OR all B’s to get seq
occurrence for P
• Suppose #occ >= m
– Pattern still valid
• Now add a letter
WEEDER: algorithm sketch
Current pattern P
(e, B)
A
C
G
T
T
A
• Simple extension: no branches.
– No change to B
– e may increase by 1 or no
change
– Drop node if e > α
• Branches: replace a node with
its child nodes
– Drop if e > α
– B may change
• Re-do Bit OR using all B’s
• Try a different char if #occ < m
• Report P when |P| = K
WEEDER: complexity
• Can get all patterns in time
O(Nn(K choose α) 3α) ~ O(N nKα 3α).
n: # sequences. Needed for Bit OR.
• Better than O(KN 4K) and O(N Kα 3α NK)
since usually α << K
• Kα 3α may still be expensive for large K
– E.g. K = 20, α = 6
WEEDER: More tricks
Current pattern P
A
C
G
T
T
A
• Eligible nodes: with at most α
mismatches to P
• Eligible nodes: with at most
min(L, α) mismatches to P
– L: current pattern length
– : error ratio
– Require that mismatches to be
somewhat evenly distributed
among positions
• Prune tree at length K
MULTIPROFILER
W*
W*: ACGTACG
W:
ATGTAAG
W
W differs from W* at 
positions.
The consensus sequence
for the words in the
-neighborhood of W is
similar to W.
If we ignore all the chars
that are similar to W,
the rest may suggest
the difference between
W and W*
MULTIPROFILER: alg sketch
• For each word W in S
– Find its α-neighborhood in S
– List of words: C
W*
W
• For each position j from
1..K of the words in C
– Find the most popular char
that differ from W[j]
• Replace α positions in W
with the chars found above
W*: ACGTACG
W:
ATGTAAG
– Call the new word W’
• W* = argmin D(W’, S)
MULTIPROFILER
W*
W*: ACGTACG
W:
ATGTAAG
W
• No complexity provided in
the paper
• More efficient than
WEEDER for longer
patterns: N < Kα 3α
• How to choose α is an
issue:
– Large α: too many noises
in neighborhood
– Small α: few true instances
in neighborhood
Challenging problem
d mutations
n = 20
k
L = 1000
• (k, d)-motif challenge problem
• Many algorithms fail at (15, 4)-motif for n = 20 and L = 1000
• Combinatorial algorithms usually work better on challenge problem
– However, they are usually designed to find (k, d)-motifs
– Performance in real data varies
Probabilistic modeling approaches
for motif finding
Will be covered later