840 likes | 874 Views
CS 6293 Advanced Topics: Current Bioinformatics. Motif finding. HW2. Available on course website First part: theoretical questions. Due on Mon, Oct 25 Second part: Presentation on Mon, Nov 1 Bonus: email me who are in your group and the papers you choose, by Wed, Oct 20.
E N D
CS 6293 Advanced Topics: Current Bioinformatics Motif finding
HW2 • Available on course website • First part: theoretical questions. Due on Mon, Oct 25 • Second part: Presentation on Mon, Nov 1 • Bonus: email me who are in your group and the papers you choose, by Wed, Oct 20. • 7 minutes presentation + 2 minutes Q&A • You can choose to go to some really cool details or give the main ideas of the papers • Group size 1 or 2 acceptable, with the same expectation • Last slide of presentation • Contributions from group members
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 • Other names: transcription factor binding sites, transcription factor binding motifs, cis-regulatory elements, cis-regulatory motifs, DNA motifs, etc. • 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
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 Gene TF binding site, cis-regulatory element
Transcriptional Regulation of genes Transcription Factor (Protein) RNA polymerase DNA Gene TF binding site, cis-regulatory element
Transcriptional Regulation of genes New protein RNA polymerase Transcription Factor DNA Gene TF binding site, cis-regulatory element
The Cell as a Regulatory Network If C then D gene D A B C Make D If B then NOT D D If A and B then 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, ChIP-seq • Expensive • Other limitations
Computational methods for finding cis-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 • Find “best” multiple local alignment • Multidimensional Dynamic Programming? • Heuristics must be used . . . instance
Characteristics of cis-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 A S G T K T K A C
Sequence Logo frequency http://weblogo.berkeley.edu/ http://biodev.hgen.pitt.edu/cgi-bin/enologos/enologos.cgi
Sequence Logo 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 Expected occurrence in random DNA: 1 / 210.4 = 1 / 1340 Expected occurrence of an exact 5-mer: 1 / 210 = 1 / 1024
Real example • E. coli. Promoter • “TATA-Box” ~ 10bp upstream of transcription start • TACGAT • TAAAAT • TATACT • GATAAT • TATGAT • TATGTT Consensus: TATAAT Note: none of the instances matches the consensus perfectly
Motif finding schemes Phylogenetic footprinting Dictionary building “Motif finding” 1A 1B 1C Gene set 1 Gene set 2 Gene set 3 Genome 1 Genome 2 Genome 3 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
Combinatorial motif finding • Idea 1: find all k-mers that appeared at least m times • m may be chosen such that # occurrence is statistically significant • Problem: most motifs have divergence. Each variation may only appear once. • Idea 2: find all k-mers, considering IUPAC nucleic acid codes • e.g. ASGTKTKAC, S = C/G, K = G/T • Still inflexible • Idea 3: 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 • GATAAT • TATGAT • TATGTT Consensus: TATAAT Each instance differs at most 2 bases from the consensus 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 , CGAACTT , GGGCTCT … ACGCCTG , AGAACTA , 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 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. α-neighborhood
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 • A list containing all eligible nodes: with at most α mismatches to P • For each node, remember #mismatches accumulated (e α ), and a 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 Current pattern P, |P| < K ACGTT # mismatches (e, B) Seq occ
WEEDER: algorithm sketch • 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 Current pattern P ACGTTA (e, B)
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 • 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 Current pattern P ACGTTA
Probabilistic modeling approaches for motif finding