genome rearrangements. basic biology: dna genetic information is stored in deoxyribonucleic acid...

62
Genome Rearrangements

Post on 21-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Genome Rearrangements

Basic Biology: DNA

• Genetic information is stored in deoxyribonucleic acid (DNA) molecules.

• A single DNA molecule is a sequence of nucleotides– adenine (A)– cytosine (C)– guanine (G)– thymine (T)

nitrogenousbase

pentosesugar

phosphate

Nucleotide DNA molecule

Basic Biology: DNA

• Paired DNA strands are in reverse complementary orientation.– One in forward, 5’ to 3’ direction– The other in reverse, 3’ to 5’

direction

• Both strands are complementary.– A pairs with a T– G pairs with a C forward

strandreversestrand

5’

3’

3’

5’

Image modified with the permission of the National Human Genome Research Institute (NHGRI), artist Darryl Leja.

Basic Biology: Genome

• The genome is the entire hereditary information of an organism.

• Genomes are partitioned into chromosomes.

• A chromosome can be linear (eukaryotes), or circular (prokaryotes). Image modified with the permission of the

National Human Genome Research Institute (NHGRI), artist Darryl Leja.

The Human Karyogram

Karyotype of a human male.

Courtesy: National Human Genome Research Institute

Changes in Genomic Sequences

• Genomes of different species (even of closely related individuals) differ from one another.

• These differences are caused by – point mutations, in which only one nucleotide is

changed, and– genome rearrangements, where multiple

nucleotides are modified.

Point Mutations

• Insertion …ATGGCG… → …ATGTGCG…• Deletion …ATGTGCG…→ …ATGGCG…• Substitution …ATGTGCG… → …ATGCGCG…

…ATG-GCATGTGCGATGTGCG……ATGTGCATG-GCGATGCGCG…

DNA sequence alignment showing matches, mismatches, and insertions/deletions

Genome Rearrangements

• Reversal

• Translocation

• Fission

• Fusion

1 2 3 4 5 6 7 8 9 1 2 3 6 5 4 7 8 9

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15

1 2 3 4 13 14 15

10 11 12 5 6 7 8 9

1 2 3 4 5 6 7 8 9 1 2 3 4

5 6 7 8 9

1 2 3 4

5 6 7 8 9

1 2 3 4 5 6 7 8 9

Levenshtein’s Edit Distance

• Let A and B be two sequences (genomes). The minimum number of edit operations that transforms A into B defines the edit distance, dedit, between A and B.

• Possible edit operations:– point mutations– genome rearrangements

A Word Puzzle• To transform a start word into a target word,

change, add, or delete characters until the target is reached.

• Example: start “spices” target “lice”:• spices → slices → slice → lice• spices → spice→ slice→ lice

• How many steps do you need to transform – a republican into a democrat?– Google into Yahoo?

Edit Distance Using Point Mutations

S1=AGCTT, S2=AGCCTG, S3=ACAG

AGCTT AGCTG AGCCTG dedit(S1,S2) = 2

AGCTT AGCTG AGCAG ACAG dedit(S1,S3) = 2

AGCCTG AGCTG AGCAG ACAG dedit(S2,S3) = 2

TG insert C

TG TA delete G

delete C TA delete G

Edit Distance and Evolution• The edit distance is often used to infer evolutionary relationships.• Parsimony assumption: the minimum number of changes reflects the true

evolutionary distance

Parsimonious phylogeny inferred from edit distances

Levenshtein’s Edit Distance

• Let A and B be two sequences (genomes). The minimum number of edit operations that transforms A into B defines the edit distance, dedit, between A and B.

• Possible edit operations:– point mutations– genome rearrangements

Rearrangements and Anagrams

• An anagram is a rearrangement of a word or phrase into another word or phrase.

• eleven plus two → twelve plus one• forty five → over fifty

Please visit the Internet Anagram web server athttp://wordsmith.org/anagram/.

Rearrangements and Anagrams

Dot plot: “spendit” vs. “stipend” Dot plot: Mouse genome vs. Human genome

Genome Comparison: Human - Mouse

• Humans and mice have similar genomes, but their genes are in a different order.

• How many edits (rearrangements) are needed to transform human into mouse?

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Transforming Mice into Humans

a) Mouse and human share a common ancestor

b) They share the same genes, but in a different order

c) A series of rearrangements transforms one genome into the other

History of Chromosome X

Rat Consortium, Nature, 2004

Dobzhansky’s Experiment

Drosophila melanogaster life cycletaken from FlyMove

Giant polytene chromosomesModified from T.S. Painter, J. Hered. 25:465–476, 1934.

Harvesting polytene chromosomestaken from BioPix4U

Dobzhansky’s Experiment

Standard and Arrowhead arrangements differ by an inversion from segments 70 to 76

Figures taken from Dobzhansky T, Sturtevant AH. Genetics (1938), 23(1):28-64.

Chromosome 3 of Drosophila pseudoobscura

Dobzhansky’s Experiment

Figures taken from Dobzhansky T, Sturtevant AH. Genetics (1938), 23(1):28-64.

Configurations observed in various inversion heterozygotes

Dobzhansky’s Experiment

Figures taken from Dobzhansky T, Sturtevant AH. Genetics (1938), 23(1):28-64.

Single and Double Inversions Phylogeny for 3rd chromosome of D. pseudoobscura

Unsigned Reversals1 32

4

10

56

8

9

7

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Unsigned Reversals1 32

4

10

56

8

9

7

1, 2, 3, 8, 7, 6, 5, 4, 9, 10

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Unsigned Reversals and Gene Orders

= 5 1 4 3 2 6 7 8 9 10

r(1,2)

= 1 5 4 3 2 6 7 8 9 10

r(2,5)

= 1 2 3 4 5 6 7 8 9 10

Reversal Edit Distance• Goal: Given two permutations, find the shortest series

of reversals that transforms one into another

• Input: Permutations and

• Output: A series of reversals r1,…,rt transforming into such that t is minimum

• t - reversal distance between and • drev(, ) - smallest possible value of t, given and

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Sorting by Reversals Problem

• Goal: Given a permutation, find a shortest series of reversals that transforms it into the identity permutation (1 2 … n )

• Input: Permutation π

• Output: A series of reversals r1, …, rt transforming π into the identity permutation such that t is minimum

• Reversal Distance Problem and Sorting by Reversals Problem are equivalent. Why?

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Algorithm 1: GreedyReversalSort(π)

1 for i 1 to n – 12 j position of element i in π (i.e. π[j]=i)3 if j≠i 4 π π • r(i, j) 5 output π

6 if π is the identity permutation 7 return

Taken from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

GreedyReversalSort is Not Optimal• For = 6 1 2 3 4 5 the algorithm needs 5 steps:

• Step 0: 6 1 2 3 4 5• Step 1: 1 6 2 3 4 5 i=1; j=2; r(1,2)• Step 2: 1 2 6 3 4 5 i=2; j=3; r(2,3)• Step 3: 1 2 3 6 4 5 i=3; j=4; r(3,4)• Step 4: 1 2 3 4 6 5 i=4; j=5; r(4,5)• Step 5: 1 2 3 4 5 6 i=5; j=6; r(5,6)

• However, two reversals are enough:• Step 0: 6 1 2 3 4 5• Step 1: 6 5 4 3 2 1• Step 2: 1 2 3 4 5 6

Adjacencies & Breakpoints• An adjacency is a pair of adjacent elements that are consecutive

• A breakpoint is a pair of adjacent elements that are not consecutive

• b()is the number of breakpoints in

π = 5 6 2 1 3 4

0 5 6 2 1 3 4 7

adjacencies

breakpoints, b()=4

Extend π with π0 = 0 and π7 = 7

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

One reversal eliminates at most 2 breakpoints.

= 0 2 3 1 4 6 5 7 b() = 5

= 0 1 3 2 4 6 5 7 b() = 4

= 0 1 2 3 4 6 5 7 b() = 2

= 0 1 2 3 4 5 6 7 b() = 0

This implies: reversal distance ≥ b() / 2

Reversal Distance and Breakpoints

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Strips• An interval between two consecutive breakpoints in

a permutation is called a strip.– A strip is increasing if its elements increase.– Otherwise, the strip is decreasing.

0 1 5 6 7 4 3 2 8 9 10

– A single-element strip is considered decreasing with exception of the strips [0] and [n+1].

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Strips and Breakpoints

Observation 1: If a permutation contains a decreasing strip, then there exists a reversal that will decrease the number of breakpoints.

0 1 5 6 7 4 3 2 8 9 10 0 1 2 3 4 7 6 5 8 9 10

Observation 2: Otherwise, create a decreasing strip by reversing an increasing strip. The number of breakpoints can be reduced in the next step.

0 1 5 6 7 2 3 4 8 9 10 0 1 5 6 7 4 3 2 8 9 10

r(3,8)

r(6,8)

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Algorithm2: BreakpointReversalSort(π)

1 while b(π) > 02 if π has a decreasing strip Choose reversal r that minimizes b(π • r)4 else5 Choose a reversal r that flips an increasing

strip in π 6 π π • r7 output π 8 return

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

• BreakpointReversalSort (BRS) is an approximation algorithm that will not use more than four times the minimum number of reversals.

– BRS eliminates at least one breakpoint every two steps: dBRS ≤ 2b(p) steps

– An optimal algorithm eliminates at most two breakpoints every step: dOPT b(p) / 2 steps

Performance guarantee:dBRS / dOPT [ 2b(p) / (b(p)/2) ] = 4

Performance Guarantee

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Gene Orientation & Genome Representation

modified from http://acim.uqam.ca/~anne/INF4500/Rearrangements.ppt

Genome Rearrangements

Signed Reversals

5’ ATGCCTGTACTA 3’

3’ TACGGACATGAT 5’

5’ ATGTACAGGCTA 3’

3’ TACATGTCCGAT 5’

Break and Invert

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Signed Reversals1 32

4

10

56

8

9

7

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Signed Reversals1 32

4

10

56

8

9

7

1, 2, 3, -8, -7, -6, -5, -4, 9, 10

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Signed Reversals and Breakpoints1 32

4

10

56

8

9

7

1, 2, 3, -8, -7, -6, -5, -4, 9, 10

The reversal introduced two breakpoints

Taken and modified from An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner

Summary: Complexity Results

• Sorting by unsigned reversals:– NP-hard– can be approximated within a constant factor

• Sorting by signed reversals:– can be solved in polynomial time

Web Tools

• GRIMM Web Server– computes signed and unsigned reversal distances

between permutations.http://www-cse.ucsd.edu/groups/bioinformatics/GRIMM

• Cinteny– a web server for synteny identification and the

analysis of genome rearrangementhttp://cinteny.cchmc.org/

DCJ Genome Rearrangements

• The DCJ model uses Double-Cut-and-Join genome rearrangement operations.

• DCJ operations break and rejoin one or two intergenic regions (possibly on different chromosomes).

Genome Representation• In the DCJ model, a genome is

grouped into chromosomes (linear/circular).

• A gene g on the forward strand is represented by [-g,+g]

• A gene g on the reverse strand is represented by [+g,-g]

• Telomeres are represented by the special symbol ‘o’.

• An adjacency (intergenic region) is encoded by the unordered pair of neighboring gene/telomere ends.

Example. • linear c1=(o 1 -2 3 4 o)• circular c2=(5 6 7)

DCJ Operations

• The double-cut-and-join operation “breaks” two adjacencies and rejoins the fragments:{a, b} {c, d} → {a,d} {c,b}, or {a,c} {b,d}.

• a, b, c, and d represent different (signed) gene ends or telomeres (with ‘+o’ = ‘-o’).

• A special case occurs for c=d=o:{a,b} {o,o} ↔ {a,o} {b,o}.

Signed reversal of genes 2 and 3

Chromosome Linearization

Weird genme transformation

Using Graphs to Sort Genomes• Adjacency graph AG(A,B)=(V,E)

is a bipartite graph. • V contains one vertex for each

adjacency of genome A and B.• Each gene, g, defines two

edges:• e1 connecting the adjacencies

with +g of A and B • e2 connecting the adjacencies

with –g.

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o) DCJ1: {1,2} {-2,-3} {1,-2} {2,-3}

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)DCJ1: {1,2} {-2,-3} {1,-2} {2,-3}

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)DCJ1: {1,2} {-2,-3} {1,-2} {2,-3}DCJ2: {4,o} {7,-5} {4,-5} {7,o}

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)DCJ1: {1,2} {-2,-3} {1,-2} {2,-3}DCJ2: {4,o} {7,-5} {4,-5} {7,o}

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)DCJ1: {1,2} {-2,-3} {1,-2} {2,-3}DCJ2: {4,o} {7,-5} {4,-5} {7,o}DCJ3: {3,-4} {o,o} {3,o} {o,-4}

Example:

Using Graphs to Sort GenomesAlgorithm 3: DCJSORT(A,B)1 Generate adjacency graph AG(A, B) of A and B2 for each adjacency {p, q} with p,q≠o in genome B do 3 let u={p,l} be the vertex of A that contains p4 let v={q,m} be the vertex of A that contains q5 if u ≠ v then6 replace vertices u and v in A by {p,q} and {l,m}7 update edge set8 end if9 end for10 for each telomere {p,o} in B do11 let u={p,l} be the vertex of A that contains p12 if l≠o then13 replace vertex u in A by {p,o} and {o,l} 14 update edge set 15 end if16 end for

genome A: (o 1 -2 3 4 o) (5 6 7)genome B: (o 1 2 3 4 o) (o 5 6 7 o)DCJ1: {1,2} {-2,-3} {1,-2} {2,-3}DCJ2: {4,o} {7,-5} {4,-5} {7,o}DCJ3: {3,-4} {o,o} {3,o} {o,-4}

Example:

A DCJ1 DCJ2 DCJ3B

Summary: Complexity Results

• Sorting by unsigned reversals:– NP-hard– can be approximated within a constant factor

• Sorting by signed reversals:– can be solved in polynomial time

• Sorting by DCJ rearrangements:– can be solved in polynomial time

The End

Disclaimer

• Our presentation is in many parts inspired by the textbook An Introduction to Bioinformatics Algorithms by Neil Jones and Pavel Pevzner, by lectures from Anne Bergeron and Julia Mixtacki, as well as many review articles from multiple colleagues.