Bioinformatics: Issues and Algorithms Graph Algorithms in
Transcription
Bioinformatics: Issues and Algorithms Graph Algorithms in
Graph Algorithms in Bioinformatics Bioinformatics: Issues and Algorithms CSE 308-408 • Fall 2007 • Lecture 13 CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -1- Outline • Introduction to graph theory • Eulerian & Hamiltonian Cycle Problems • Benzer experiment and interval graphs • DNA sequencing • The Shortest Superstring & Traveling Salesman Problems • Sequencing by hybridization http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -2- The Bridge Obsession Problem Find a tour crossing every bridge just once. – Leonhard Euler, 1735 Bridges of Königsberg http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -3- Eulerian Cycle Problem • Find a cycle that visits every edge exactly once. • Algorithm for solution has linear time complexity. More complicated Königsberg http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -4- Mapping problems to graphs • Arthur Cayley studied chemical structures of hydrocarbons in mid-1800's. • He used trees (acyclic connected graphs) to enumerate structural isomers. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -5- Hamiltonian Cycle Problem • Find a cycle that visits every vertex exactly once. • NP-complete (i.e., a very hard problem to solve). Game invented by Sir William Hamilton in 1857 http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -6- Beginning of graph theory in biology Benzer’s work: • Developed deletion mapping. • “Proved” linearity of gene. • Demonstrated internal structure of gene. Seymour Benzer (1950's) http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -7- Viruses attack bacteria • Normally bacteriophage T4 kills bacteria. • However if T4 is mutated (e.g., an important gene is deleted), it gets disabled and loses ability to kill bacteria. • Suppose bacteria is infected with two different mutants, each of which is disabled. Would the bacteria still survive? • Amazingly, a pair of disable viruses can kill a bacteria even if each of them is disabled. • How can this be explained? http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -8- Benzer’s experiment • Idea: infect bacteria with pairs of mutant T4 bacteriophage (virus). • Each T4 mutant has an unknown interval deleted from its genome. • If two intervals overlap: T4 pair is missing part of its genome and is disabled – bacteria survive. • If two intervals do not overlap: T4 pair has its entire genome and is enabled – bacteria die. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 -9- Benzer’s experiment Complementation between pairs of mutant T4 bacteriophages http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 10 - Benzer’s experiment and interval graphs • Construct interval graph: each T4 mutant is a vertex; place edge between mutant pairs where bacteria survived (i.e., deleted intervals in pair of mutants overlap). • Interval graph structure reveals whether DNA is linear or branched DNA. Case for linear genes http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 11 - Benzer’s experiment and interval graphs Case for branched genes http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 12 - Interval graphs: a comparison Linear genome Branched genome http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 13 - DNA sequencing: history Sanger method (1977): labeled ddNTPs* terminate DNA copying at random points. Gilbert method (1977): chemical method to cleave DNA at specific points (G, G+A, T+C, C). Both methods generate labeled fragments of varying lengths that are further electrophoresed. * Dideoxynucleotides, or ddNTPs, are nucleotides lacking 3'-hydroxyl (-OH) group on their deoxyribose sugar. Note that the sugar normally referred to as deoxyribose lacks a 2'-OH, while the dideoxyribose lacks hydroxyl groups on both its 2' and 3' carbon. The lack of this hydroxyl group means that, after being added by a DNA polymerase to a growing nucleotide chain, no further nucleotides can be added, as no phosphodiester bond can be created. Thus, these molecules form the basis of the dideoxy chaintermination method of DNA sequencing, which was developed by Frederick Sanger in 1977. (From http://encyclopedia.thefreedictionary.com/ddNTP.) http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 14 - Sanger Method: generating a read • Start at primer (restriction site). • Grow DNA chain. • Include ddNTPs. • Stops reaction at all possible points. • Separate products by length, using gel electrophoresis. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 15 - DNA sequencing • Shear DNA into millions of small fragments. • Read 500 – 700 nucleotides at a time from the small fragments (Sanger method). http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 16 - Fragment assembly • Computational challenge: assemble individual short fragments (reads) into single genomic sequence. • Until late 1990's, the shotgun fragment assembly of human genome was viewed as intractable problem. The Shortest Superstring Problem. Given set of strings, find shortest string containing all of them. Input: Strings s1, s2, ..., sn. Output: A string s that contains all strings s1, s2, ..., sn as substrings, such that length of s is minimized. • Problem is NP-complete (efficient solution unlikely). • This formulation does not take into account sequencing errors! CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 17 - Shortest Superstring Problem: an example Note: this is an approximation – an atttactive mathematical model for a real-world biological problem. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 18 - Reducing SSP to TSP Define overlap(si, sj) as the length of the longest prefix of sj that matches a suffix of si. aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa What is overlap(si, sj) for these strings? 3? aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa What is overlap(si, sj) for these strings? No, 12! http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 19 - Reducing SSP to TSP Define overlap(si, sj) as the length of the longest prefix of sj that matches a suffix of si. aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa • Build graph with n vertices representing strings s1, s2, ..., sn. • Insert edges of length overlap overlap(si, sj) between vertices si and sj. • Find longest path which visits every vertex exactly once. This is Traveling Salesman Problem (TSP), which is also NPcomplete. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 20 - Reducing SSP to TSP http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 21 - SSP to TSP: an Example Say that S = {ATC, CCA, CAG, TCC, AGT} SSP TSP AGT CCA ATC ATCCAGT TCC CAG 0 1 AGT 2 CAG 1 2 1 1 2 1 2 TCC ATCCAGT http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 ATC - 22 - CCA Sequencing by Hybridization (SBH): history • 1988: SBH suggested as an an alternative sequencing method. Nobody believed it will ever work. • 1991: Light directed polymer synthesis developed by Steve Fodor and colleagues. • 1994: Affymetrix develops first 64-kb DNA microarray. First commercial DNA microarray prototype w/16,000 features (1994) 500,000 features per chip (2002) http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 First microarray prototype (1989) - 23 - How SBH works • Attach all possible DNA probes of length l to flat surface, each probe at distinct and known location. This set of probes is called the DNA array. • Apply a solution containing fluorescently labeled DNA fragment to array. • The DNA fragment hybridizes with only those probes that are complementary to substrings of length l of fragment. • Using a spectroscopic detector, determine which probes hybridize to DNA fragment to obtain l-mer composition of target DNA fragment. • Apply combinatorial algorithm (next) to reconstruct sequence of target DNA fragment from l-mer composition. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 24 - Hybridization on DNA Array http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 25 - l-mer composition Spectrum(s, l) is an unordered multiset of all possible (n – l + 1) l-mers in a string s of length n. The order of individual elements in Spectrum(s, l) does not matter. For s = TATGGTGC all of following are equivalent representations of Spectrum(s, 3): {TAT, ATG, TGG, GGT, GTG, TGC} {ATG, GGT, GTG, TAT, TGC, TGG} {TGG, TGC, TAT, GTG, GGT, ATG} http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 26 - l-mer composition Spectrum(s, l) is an unordered multiset of all possible (n – l + 1) l-mers in a string s of length n. The order of individual elements in Spectrum(s, l) does not matter. For s = TATGGTGC all of following are equivalent representations of Spectrum(s, 3): {TAT, ATG, TGG, GGT, GTG, TGC} {ATG, GGT, GTG, TAT, TGC, TGG} {TGG, TGC, TAT, GTG, GGT, ATG} We usually choose lexicographically-ordered representation as canonical one. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 27 - Different sequences ⇒ different spectrums Note that different sequences may have same spectrum. Spectrum(GTATCT, 2)= Spectrum(GTCTAT, 2)= {AT, CT, GT, TA, TC} The Sequencing by Hybridization (SBH) Problem. Reconstruct a string from its l-mer composition. Input: Set S representing all l-mers from an unknown string s. Output: String s such that Spectrum(s, l) = S. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 28 - SBH: Hamiltonian Path approach S = {ATG AGG TGC TCC GTC GGT GCA CAG} Corresponding Hamiltonian Path Problem H : ATG AGG TGC TCC GTC GGT ATG CAG GTC C Path visits every vertex once! http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 29 - GCA CAG SBH: Hamiltonian Path approach A more complicated graph: S = {ATG TGG TGC GTG GGC GCA GCG CGT } H http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 30 - SBH: Hamiltonian Path approach S = {ATG TGG TGC GTG GGC GCA GCG CGT} Path 1: H ATGCGTGGCA Path 2: H ATGGCGTGCA http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 31 - SBH: Eulerian Path approach S = {ATG TGG TGC GTG GGC GCA GCG CGT} • Vertices correspond to (l–1)-mers: {AT, TG, GC, GG, GT, CA, CG} • Edges correspond to l-mers from S. GT AT CG TG GC GG Path visits every edge once! http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 CA - 32 - SBH: Eulerian Path approach S = {ATG TGG TGC GTG GGC GCA GCG CGT} corresponds to two different paths: CG GT CG GT 5 6 AT 4 TG 1 4 7 2 5 GC CA AT 8 TG 1 3 2 6 GG 3 CA 8 7 GG ATGGCGTGCA ATGCGTGGCA I.e., two acceptable solutions to this SBH problem. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 GC - 33 - Euler Theorem A graph is balanced if for every vertex, the number of incoming edges equals the number of outgoing edges: in(v) = out(v) Theorem: a connected graph is Eulerian (i.e., has an Euler Cycle) if and only if each of its vertices is balanced. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 34 - Euler Theorem: Proof Two cases to consider: (1) Eulerian ⇒ balanced For every edge entering v (incoming edge) there exists an edge leaving v (outgoing edge). Therefore in(v) = out(v) (2) Balanced ⇒ Eulerian ??? http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 35 - Algorithm for constructing an Eulerian Cycle (a) Start with an arbitrary vertex v and form arbitrary cycle with unused edges until dead-end is reached. Since graph is Eulerian, dead-end must be starting point, i.e., vertex v. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 36 - v w Algorithm for constructing an Eulerian Cycle (b) If cycle from Step (a) earlier is not Eulerian cycle, it must contain a vertex w, which has untraversed edges. Perform Step (a) again, using vertex w as the starting point. Once again, we will end up at starting vertex w. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 37 - v w Algorithm for constructing an Eulerian Cycle (c) Combine cycles from Step (a) and Step (b) into single cycle and iterate Step (b). http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 38 - v w Euler Theorem: extension Theorem: A connected graph has an Eulerian path if and only if it contains at most two semi-balanced vertices and all other vertices are balanced. I.e., one vertex has an extra outgoing edge, while another corresponding vertex has an extra incoming edge. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 39 - Some Difficulties with SBH • Fidelity of Hybridization: difficult to detect differences between probes hybridized with perfect matches and those with one or two mismatches. • Array Size: effect of low fidelity can be decreased with longer l-mers, but array size increases exponentially in l. Array size is limited with current technology. • Practicality: SBH is still impractical. As DNA microarray technology improves, SBH may become practical in future. • Practicality (again): although impractical, SBH still spearheaded techniques for expression and SNP analysis. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 40 - Traditional DNA sequencing DNA Shake DNA fragments Known location (restriction site) Vector = circular genome (bacterium, plasmid) + = http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 41 - Different types of vectors VECTOR Size of insert (bp) Plasmid 2,000 - 10,000 Cosmid 40,000 BAC (Bacterial Artificial Chromosome) 70,000 - 300,000 YAC (Yeast Artificial Chromosome) > 300,000 Not used much recently http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 42 - Electrophoresis diagrams http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 43 - Challenging to read sometimes • Filtering • Correcting for length compression • Smoothening • Method for deciding nucleotides http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 44 - Shotgun sequencing Genomic segment Cut many times at random (shotgun) Get one or two reads from each segment ~500 bp ~500 bp http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 45 - Fragment assembly Reads • Cover region with ~7-fold redundancy. • Overlap reads, extend to reconstruct original genomic region. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 46 - Read coverage C Length of genomic segment: L Number of reads: n Length of each read: l Coverage C = (nl) / L How much coverage is enough? Lander-Waterman model: Assuming uniform distribution of reads, C = 10 results in 1 gapped region per 1,000,000 nucleotides. http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 47 - Challenges in fragment assembly Repeats: a major problem for fragment assembly. More than 50% of human genome consists of repeats: • over 1 million Alu repeats (about 300 bp), • about 200,000 LINE repeats (1000 bp and longer). Repeat Repeat Green and blue fragments are interchangeable when assembling repetitive DNA http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 48 - Repeat Bad things happen when you confuse repeated regions ... Correct assembly (we don't know this starting off): Repeat Repeat Repeat Potential mis-assembly (seems just as plausible): Repeat CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 Repeat - 49 - Repeat Triazzle: a fun example The puzzle looks simple BUT there are repeats!!! Repeats make it very difficult. Try it – only $7.99 at www.triazzle.com http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 50 - Repeat types Low-Complexity DNA (e.g., ATATATATACATA…) Microsatellite repeats (a1…ak)N where k ~ 3-6 (e.g., CAGCAGTAGCAGCACCAG) Transposons/retrotransposons SINE LINE LTR retroposons Short Interspersed Nuclear Elements (e.g., Alu: ~300 bp long, 106 copies) Long Interspersed Nuclear Elements ~500 - 5,000 bp long, 200,000 copies Long Terminal Repeats (~700 bp at each end Gene Families genes duplicate & then diverge Segmental duplications ~very long, very similar copies http://www.bioalgorithms.info CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 51 - Overlap-Layout-Consensus Assemblers: ARACHNE, PHRAP, CAP, TIGR, CELERA Overlap: find potentially overlapping reads Layout: merge reads into contigs and contigs into supercontigs Consensus: derive the DNA sequence and correct read errors CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 52 - ..ACGATTACAATAGGTT.. Overlap • Find best match between suffix of one read and prefix of another. • Due to sequencing errors, need to use dynamic programming to find optimal overlap alignment. • Apply filtration method to filter out pairs of fragments that do not share a significantly long common substring. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 53 - Overlapping reads • Sort all k-mers in reads (k ~ 24). • Find pairs of reads sharing a k-mer. • Extend to full alignment – throw away if not >95% similar. TACA TAGATTACACAGATTAC T GA || ||||||||||||||||| | || TAGT TAGATTACACAGATTAC TAGA CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 54 - Overlapping reads and repeats • A k-mer that appears N times initiates N2 comparisons • For an Alu that appears 106 times, this means 1012 comparisons, which is obviously too much. • Solution: discard all k-mers that appear more than t x Coverage, (t ~ 10) CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 55 - Finding overlapping reads Create local multiple alignments from the overlapping reads: TAGATTACACAGATTACTGA TAGATTACACAGATTACTGA TAG TTACACAGATTATTGA TAGATTACACAGATTACTGA TAGATTACACAGATTACTGA TAGATTACACAGATTACTGA TAG TTACACAGATTATTGA TAGATTACACAGATTACTGA CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 56 - Finding overlapping reads • Correct errors using multiple alignment TAGATTACACAGATTACTGA TAGATTACACAGATTACTGA TAG TTACACAGATTATTGA TAGATTACACAGATTACTGA TAGATTACACAGATTACTGA C: C: T: C: C: A: A: A: A: 15 25 40 25 • Score alignments • Accept alignments with good scores CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 57 - C: C: C: C: C: 20 35 30 35 40 A: A: A: A: A: 15 25 0 40 25 20 35 0 35 40 Layout • Repeats are major challenge. • Do two aligned fragments really overlap, or are they from two copies of a repeat? • Solution: repeat masking – hide repeats!!! • Masking results in high rate of misassembly (up to 20%). • Misassembly means a lot more work at finishing step. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 58 - Merge reads into contigs repeat region Merge reads up to potential repeat boundaries CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 59 - Repeats, errors, and contig lengths • Repeats shorter than read length are okay. • Repeats with more base pair differences than sequencing error rate are okay. • To make smaller portion of genome appear repetitive: - try to increase effective increase read length, - work to decrease sequencing error rate. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 60 - Role of error correction Discards ~90% of single-letter sequencing errors. Lowers error rate: ⇒ decreases effective repeat content, ⇒ increases contig length. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 61 - Merge reads into contigs Repeat region • Ignore non-maximal reads. • Merge only maximal reads into contigs. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 62 - Merge reads into contigs Repeat boundary??? Sequencing error b a • Ignore “hanging” reads, when detecting repeat boundaries. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 63 - Merge reads into contigs ????? Unambiguous • Insert non-maximal reads whenever unambiguous. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 64 - Link contigs into supercontigs Normal density Too dense: Overcollapsed? Inconsistent links: Overcollapsed? CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 65 - Link contigs into supercontigs Find all links between unique contigs. Connect contigs incrementally, if ≥ 2 links. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 66 - Link contigs into supercontigs Fill gaps in supercontigs with paths of overcollapsed contigs. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 67 - Wrap-up Readings for next time: • IBP 9.1-9.5 (hash tables, repeat-finding, exact pattern matching, keyword trees, suffix trees). Remember: • Come to class having done the readings. • Check Blackboard regularly for updates. CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 68 -