graph algorithms in bioinformatics bioinformatics: issues...
TRANSCRIPT
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 1 -
Bioinformatics:Issues and Algorithms
CSE 308-408 • Fall 2007 • Lecture 13
Graph Algorithmsin Bioinformatics
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 2 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 3 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 4 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 5 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 6 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 7 -
Beginning of graph theory in biology
Seymour Benzer (1950's)
• Developed deletion mapping.
• “Proved” linearity of gene.
• Demonstrated internal structure of gene.
Benzer’s work:
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 8 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 9 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 10 -
Benzer’s experiment
http://www.bioalgorithms.info
Complementation between pairs of mutant T4 bacteriophages
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 11 -
Benzer’s experiment and interval graphs
http://www.bioalgorithms.info
• 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
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 12 -
Benzer’s experiment and interval graphs
http://www.bioalgorithms.info
Case for branched genes
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 13 -
Interval graphs: a comparison
Linear genome Branched genome
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 14 -
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 chain-termination 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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 15 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 16 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 17 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 18 -
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 AlgorithmsLopresti · 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 aaaggcatcaaatctaaaggcatcaaaWhat is overlap(si, sj) for these strings? 3?
aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaaWhat is overlap(si, sj) for these strings? No, 12!
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 20 -
Reducing SSP to TSP
• 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 NP-complete.
aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa aaaggcatcaaatctaaaggcatcaaa
Define overlap(si, sj) as the length of the longest prefix of sj that matches a suffix of si.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 21 -
Reducing SSP to TSP
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 22 -
SSP to TSP: an Example
Say that S = {ATC, CCA, CAG, TCC, AGT}
AGT CCAATCATCCAGT TCC CAG
SSP
ATCCAGT
ATC
CCA
TCC
AGT
CAG
2
2 22
1
1
10
11
TSP
http://www.bioalgorithms.infohttp://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 23 -
Sequencing by Hybridization (SBH): history
First microarray prototype (1989)
First commercialDNA microarrayprototype w/16,000features (1994)
500,000 featuresper chip (2002)
• 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.
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 24 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 25 -
Hybridization on DNA Array
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 26 -
{TAT, ATG, TGG, GGT, GTG, TGC}
l-mer composition
{ATG, GGT, GTG, TAT, TGC, TGG}{TGG, TGC, TAT, GTG, GGT, ATG}
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):
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 27 -
{TAT, ATG, TGG, GGT, GTG, TGC}
l-mer composition
{ATG, GGT, GTG, TAT, TGC, TGG}{TGG, TGC, TAT, GTG, GGT, ATG}
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):
We usually choose lexicographically-ordered representation as canonical one.http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 28 -
Different sequences ⇒ different spectrums
Spectrum(GTATCT, 2)=
Spectrum(GTCTAT, 2)=
Note that different sequences may have same spectrum.
{AT, CT, GT, TA, TC}
http://www.bioalgorithms.info
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.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 29 -
Corresponding Hamiltonian Path Problem H :
SBH: Hamiltonian Path approach
Path visits every vertex once!
ATG AGG TGC TCC GTC GGT GCA CAG
ATGCAGGTCC
S = {ATG AGG TGC TCC GTC GGT GCA CAG}
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 30 -
SBH: Hamiltonian Path approach
HH
A more complicated graph:
S = {ATG TGG TGC GTG GGC GCA GCG CGT }
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 31 -
SBH: Hamiltonian Path approach
S = {ATG TGG TGC GTG GGC GCA GCG CGT}
HH
ATGGCGTGCA
Path 2:
http://www.bioalgorithms.info
HH
ATGCGTGGCA
Path 1:
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 32 -
SBH: Eulerian Path approach
AT
GT CG
CAGCTG
GG Path visits every edge once!http://www.bioalgorithms.info
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.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 33 -
SBH: Eulerian Path approach
S = {ATG TGG TGC GTG GGC GCA GCG CGT}corresponds to two different paths:
http://www.bioalgorithms.info
I.e., two acceptable solutions to this SBH problem.
ATGGCGTGCA
AT
GT CG
CAGCTG
GG1 7 8
6 4
5
2 3
ATGCGTGGCA
AT
GT CG
CAGCTG
GG1 2 8
5 3
4
6 7
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 34 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 35 -
Euler Theorem: Proof
Balanced ⇒ Eulerian
???
Eulerian ⇒ balanced
For every edge entering v (incoming edge) there exists an edge leaving v (outgoing edge). Therefore
in(v) = out(v)
Two cases to consider:
(1)
(2)
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 36 -
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
v
w
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 37 -
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
v
w
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 38 -
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
v
w
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 39 -
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.
http://www.bioalgorithms.info
I.e., one vertex has an extra outgoing edge, while another corresponding vertex has an extra incoming edge.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 40 -
Some Difficulties with SBH
• Practicality (again): although impractical, SBH still spearheaded techniques for expression and SNP analysis.
http://www.bioalgorithms.info
• 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.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 41 -
Traditional DNA sequencing
http://www.bioalgorithms.info
+ =
DNA
Known location(restriction site)
Shake
Vector = circular genome(bacterium, plasmid)
DNA fragments
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 42 -
Different types of vectors
> 300,000Not used much
recently
YAC (Yeast Artificial Chromosome)
70,000 - 300,000BAC (Bacterial Artificial Chromosome)
40,000Cosmid
2,000 - 10,000 Plasmid
Size of insert (bp)VECTOR
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 43 -
Electrophoresis diagrams
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 44 -
Challenging to read sometimes
http://www.bioalgorithms.info
• Correcting for length compression
• Method for deciding nucleotides
• Filtering
• Smoothening
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 45 -
Shotgun sequencing
Cut many times at random (shotgun)
Genomic segment
Get one or two reads from each segment
~500 bp ~500 bp
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 46 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 47 -
Read coverage
C
Length of genomic segment: LNumber of reads: n Coverage C = (nl) / LLength of each read: 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.
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 48 -
Challenges in fragment assembly
Repeats: a major problem for fragment assembly.
More than 50% of human genome consists of repeats:
Green and blue fragments areinterchangeable when
assembling repetitive DNA
Repeat Repeat Repeat
• over 1 million Alu repeats (about 300 bp),
• about 200,000 LINE repeats (1000 bp and longer).
http://www.bioalgorithms.info
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 49 -
Bad things happen when you confuse repeated regions ...
Repeat Repeat RepeatCorrect assembly (we don't know this starting off):
Potential mis-assembly (seems just as plausible):
Repeat Repeat Repeat
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 50 -
Triazzle: a fun example
http://www.bioalgorithms.info
The puzzle looks simple
BUT there are repeats!!!
Repeats make it very difficult.
Try it – only $7.99 atwww.triazzle.com
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 51 -
Repeat types
Low-Complexity DNA (e.g., ATATATATACATA…)
Microsatellite repeats (a1…ak)N where k ~ 3-6(e.g., CAGCAGTAGCAGCACCAG)
Transposons/retrotransposons SINE Short Interspersed Nuclear Elements
(e.g., Alu: ~300 bp long, 106 copies)LINE Long Interspersed Nuclear Elements
~500 - 5,000 bp long, 200,000 copiesLTR retroposons 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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 52 -
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 ..ACGATTACAATAGGTT..
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 53 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 54 -
Overlapping reads
TAGATTACACAGATTAC
TAGATTACACAGATTAC|||||||||||||||||
T GA
TAGA| ||
TACA
TAGT||
• 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.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 55 -
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 thant x Coverage, (t ~ 10)
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 56 -
Finding overlapping reads
TAGATTACACAGATTACTGATAGATTACACAGATTACTGATAG TTACACAGATTATTGATAGATTACACAGATTACTGATAGATTACACAGATTACTGATAGATTACACAGATTACTGATAG TTACACAGATTATTGATAGATTACACAGATTACTGA
Create local multiple alignments from the overlapping reads:
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 57 -
Finding overlapping reads
• Correct errors using multiple alignment
TAGATTACACAGATTACTGATAGATTACACAGATTACTGATAG TTACACAGATTATTGATAGATTACACAGATTACTGATAGATTACACAGATTACTGA
C: 20C: 35T: 30C: 35C: 40
C: 20C: 35C: 0C: 35C: 40
• Score alignments• Accept alignments with good scores
A: 15A: 25A: 40A: 25-
A: 15A: 25A: 40A: 25A: 0
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 58 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 59 -
Merge reads into contigs
repeat region
Merge reads up to potential repeat boundaries
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 60 -
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 AlgorithmsLopresti · Fall 2007 · Lecture 13 - 61 -
Role of error correction
⇒ decreases effective repeat content,
⇒ increases contig length.
Discards ~90% of single-letter sequencing errors.Lowers error rate:
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 62 -
Merge reads into contigs
Repeat region
• Ignore non-maximal reads.
• Merge only maximal reads into contigs.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 63 -
Merge reads into contigs
• Ignore “hanging” reads, when detecting repeat boundaries.
Sequencing errorRepeat boundary???
ba
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 64 -
Merge reads into contigs
• Insert non-maximal reads whenever unambiguous.
?????
Unambiguous
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 65 -
Link contigs into supercontigs
Too dense: Overcollapsed?
Inconsistent links: Overcollapsed?
Normal density
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 66 -
Link contigs into supercontigs
Find all links between unique contigs.
Connect contigs incrementally, if ≥ 2 links.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 67 -
Link contigs into supercontigs
Fill gaps in supercontigs with paths of overcollapsed contigs.
CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 68 -
Wrap-up
Remember:• Come to class having done the readings.• Check Blackboard regularly for updates.
Readings for next time:• IBP 9.1-9.5 (hash tables, repeat-finding, exact pattern
matching, keyword trees, suffix trees).