68
CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall 2007 · Lecture 13 - 1 - Bioinformatics: Issues and Algorithms CSE 308-408 Fall 2007 Lecture 13 Graph Algorithms in Bioinformatics

Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 2: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 3: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 4: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 5: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 6: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 7: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 8: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 9: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 10: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 11: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 12: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 13: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 13 -

Interval graphs: a comparison

Linear genome Branched genome

http://www.bioalgorithms.info

Page 14: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 15: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 16: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 17: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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!

Page 18: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 19: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 20: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 21: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 21 -

Reducing SSP to TSP

http://www.bioalgorithms.info

Page 22: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 23: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 24: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 25: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 25 -

Hybridization on DNA Array

http://www.bioalgorithms.info

Page 26: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 27: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 28: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 29: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 30: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 31: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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:

Page 32: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 33: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 34: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 35: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 36: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 37: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 38: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 39: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 40: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 41: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 42: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 43: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 43 -

Electrophoresis diagrams

http://www.bioalgorithms.info

Page 44: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 45: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 46: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 47: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 48: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 49: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 50: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 51: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 52: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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..

Page 53: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 54: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 55: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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)

Page 56: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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:

Page 57: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 58: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 59: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 60: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 61: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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:

Page 62: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 63: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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

Page 64: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 64 -

Merge reads into contigs

• Insert non-maximal reads whenever unambiguous.

?????

Unambiguous

Page 65: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

CSE 308-408 · Bioinformatics: Issues and AlgorithmsLopresti · Fall 2007 · Lecture 13 - 65 -

Link contigs into supercontigs

Too dense: Overcollapsed?

Inconsistent links: Overcollapsed?

Normal density

Page 66: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 67: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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.

Page 68: Graph Algorithms in Bioinformatics Bioinformatics: Issues ...lopresti/Courses/2007-08/CSE308-408/Lectures... · CSE 308-408 · Bioinformatics: Issues and Algorithms Lopresti · Fall

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).