Introduction to Genome Assembly

Slides:



Advertisements
Similar presentations
CS 336 March 19, 2012 Tandy Warnow.
Advertisements

Graph Theory Aiding DNA Fragment Assembly Jonathan Kaptcianos advisor: Professor Jo Ellis-Monaghan Work.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Celera Assembler Arthur L. Delcher Senior Research Scientist CBCB University of Maryland.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Genome Assembly: a brief introduction
Pamela Ferretti Laboratory of Computational Metagenomics Centre for Integrative Biology University of Trento Italy Microbial Genome Assembly 1.
Next Generation Sequencing, Assembly, and Alignment Methods
Alignment Problem (Optimal) pairwise alignment consists of considering all possible alignments of two sequences and choosing the optimal one. Sub-optimal.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Genome Sequence Assembly: Algorithms and Issues Fiona Wong Jan. 22, 2003 ECS 289A.
Class 02: Whole genome sequencing. The seminal papers ``Is Whole Genome Sequencing Feasible?'' ``Whole-Genome DNA.
Assembly.
Sequencing and Assembly Cont’d. CS273a Lecture 5, Win07, Batzoglou Steps to Assemble a Genome 1. Find overlapping reads 4. Derive consensus sequence..ACGATTACAATAGGTT..
CS273a Lecture 4, Autumn 08, Batzoglou Hierarchical Sequencing.
Genome Assembly Charles Yan Fragment Assembly Given a large number of fragments, such as ACC AC AT AC AT GG …, the goal is to figure out the original.
CS 6030 – Bioinformatics Summer II 2012 Jason Eric Johnson
De-novo Assembly Day 4.
Physical Mapping of DNA Shanna Terry March 2, 2004.
Mon C222 lecture by Veli Mäkinen Thu C222 study group by VM  Mon C222 exercises by Anna Kuosmanen Algorithms in Molecular Biology, 5.
CS 394C March 19, 2012 Tandy Warnow.
Graphs and DNA sequencing CS 466 Saurabh Sinha. Three problems in graph theory.
1 Velvet: Algorithms for De Novo Short Assembly Using De Bruijn Graphs March 12, 2008 Daniel R. Zerbino and Ewan Birney Presenter: Seunghak Lee.
Sequence assembly using paired- end short tags Pramila Ariyaratne Genome Institute of Singapore SOC-FOS-SICS Joint Workshop on Computational Analysis of.
Graph Theory And Bioinformatics Jason Wengert. Outline Introduction to Graphs Eulerian Paths & Hamiltonian Cycles Interval Graph & Shape of Genes Sequencing.
CS/BioE 598AGB: Genome Assembly, part II Tandy Warnow.
SIZE SELECT SHEAR Shotgun DNA Sequencing (Technology) DNA target sample LIGATE & CLONE Vector End Reads (Mates) SEQUENCE Primer.
Fragment assembly of DNA A typical approach to sequencing long DNA molecules is to sample and then sequence fragments from them.
RNA Sequence Assembly WEI Xueliang. Overview Sequence Assembly Current Method My Method RNA Assembly To Do.
Human Genome.
A new Approach to Fragment Assembly in DNA Sequenceing Fei wu April,24,2006.
Whole Genome Sequencing (Lecture for CS498-CXZ Algorithms in Bioinformatics) Sept. 13, 2005 ChengXiang Zhai Department of Computer Science University of.
CS 173, Lecture B Introduction to Genome Assembly (using Eulerian Graphs) Tandy Warnow.
COMPUTATIONAL GENOMICS GENOME ASSEMBLY
Graph problems Prof. Ramin Zabih
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Chapter 5 Sequence Assembly: Assembling the Human Genome.
ALLPATHS: De Novo Assembly of Whole-Genome Shotgun Microreads
DNA Sequencing (Lecture for CS498-CXZ Algorithms in Bioinformatics)
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
CSCI2950-C Genomes, Networks, and Cancer
Lesson: Sequence processing
Assembly algorithms for next-generation sequencing data
DNA Sequencing Project
EECS 203 Lecture 19 Graphs.
Sequence assembly Jose Blanca COMAV institute bioinf.comav.upv.es.
Routing Through Networks - 1
CAP5510 – Bioinformatics Sequence Assembly
COMPUTATIONAL GENOMICS GENOME ASSEMBLY
Jeong-Hyeon Choi, Sun Kim, Haixu Tang, Justen Andrews, Don G. Gilbert
Fragment Assembly (in whole-genome shotgun sequencing)
Genome sequence assembly
Assembly.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
EECS 203 Lecture 20 More Graphs.
Discrete Maths 9. Graphs Objective
Removing Erroneous Connections
CS 598AGB Genome Assembly Tandy Warnow.
Graph Theory.
How to Build a Horse: Final Report
Genome Assembly.
DNA Sequencing By Dan Massa.
Graph Algorithms in Bioinformatics
An Eulerian path approach to DNA fragment assembly
CSE 5290: Algorithms for Bioinformatics Fall 2009
Euler and Hamilton Paths
Assembling Genomes BCH339N Systems Biology / Bioinformatics – Spring 2016 Edward Marcotte, Univ of Texas at Austin.
Fragment Assembly 7/30/2019.
Presentation transcript:

Introduction to Genome Assembly Tandy Warnow

2 2

Shotgun DNA Sequencing DNA target sample SHEAR & SIZE End Reads / Mate Pairs 550bp Not all sequencing technologies produce mate-pairs. Different error models Different read lengths 10,000bp 3

Basic Challenge Given many (millions or billions) of reads, produce a linear (or perhaps circular) genome Issues: Coverage Errors in reads Reads vary from very short (35bp) to quite long (800bp), and genomes are double stranded Non-uniqueness of solution Running time and memory

Simplest scenario Reads have no error Read are long enough that each appears exactly once in the genome Each read given in the same orientation (all 5’ to 3’, for example)

De novo vs. comparative assembly De novo assembly means you do everything from scratch Comparative assembly means you have a “reference” genome. For example, you want to sequence your own genome, and you have Craig Venter’s genome already sequenced. Or you want to sequence a chimp genome and you have a human already sequenced.

Comparative Assembly Much easier than de novo! Basic idea: Take the reads and map them onto the reference genome (allowing for some small mismatch) Collect all overlapping reads, produce a multiple sequence alignment, and produce consensus sequence

Comparative Assembly Fast Short reads can map to several places (especially if they have errors) Needs close reference genome Repeats are problematic Can be highly accurate even when reads have errors

De Novo assembly Much easier to do with long reads Need very good coverage Generally produces fragmented assemblies Necessary when you don’t have a closely related (and correctly assembled) reference genome

De Novo Assembly paradigms Overlap Graph: overlap-layout-consensus methods greedy (TIGR Assembler, phrap, CAP3...) graph-based (Celera Assembler, Arachne) k-mer graph (especially useful for assembly from short reads) 10 10

Overlap Graph Each read is a node There is a directed edge from u to v if the two reads have sufficient overlap Objective: Find a Hamiltonian Path (for linear genomes) or a Hamiltonian Circuit (for circular genomes)

Paths through graphs and assembly Hamiltonian circuit: visit each node (city) exactly once, returning to the start Genome 12 12

Hamiltonian Path Approach Hamiltonian Path is NP-hard (but good heuristics exist), and can have multiple solutions Dependency on detecting overlap (errors in reads, overlap length) Running time (all-pairs overlap calculation) Repeats Tends to produce fragmented assemblies (contigs)

Example Reads: TAATACTTAGG TAGGCCA GCCAGGAAT GAATAAGCCAA GCCAATTT AATTTGGAAT GGAATTAAGGCAC AGGCACGTTTA CACGTTAGGACCATT GGACCATTTAATACGGAT If minimum overlap is 3, what overlap graph do we get? If minimum overlap is 4, what overlap graph do we get? If minimum overlap is 5, what overlap graph do we get?

Computing and using Overlap Graphs To compute the Overlap Graph: For all pairs x,y of reads Determine if there is sufficient overlap. This is expensive, since there are millions (or billions) of reads Using overlap graphs: Hamiltonian Path, Hamiltonian Cycle, and related problems, are NP-hard.

de Bruijn graph Vertices are the prefixes or suffices (of length k-1) that appear in some k-mer in some read, and directed edges are defined by overlap of k-2 nucleotides. Note that every edge v->w implies a k-mer! Example: The read ACTAG, with k=4, gives vertices ACT, CTA, and TAG, and edges ACT->CTA->TAG. Note that ACT->CTA implies the 4-mer ACTA.

de Bruijn graph Example: The read ACTAG, with k=4, gives vertices ACT, CTA, and TAG, and edges ACT->CTA->TAG. Note that ACT->CTA implies the 4-mer ACTA, and CTA->TAG implies the 4-mer CTAG. The read ACTAG has only two 4-mers, ACTA and CTAG.

de Bruijn graph Small values of k produce small graphs Does not require all-pairs overlap calculation! But: loss of information about reads can lead to “chimeric” contigs, and incorrect assemblies Also produces fragmented assemblies (even shorter contigs)

Eulerian Paths An Eulerian path is one that goes through every edge exactly once It is easy to see that if a graph has an Eulerian path, then all but 2 nodes have even degree. The converse is also true, but a bit harder to prove. For directed graphs, the cycle will need to follow the direction of the edges (also called “arcs”). In this case, a graph has an Eulerian path if and only if the indegree(v)=outdegree(v) for all but 2 nodes (x and y), where indegree(x)=outdegree(x)+1, and indegree(y)=outdegree(y)-1.

de Bruijn Graphs are Eulerian Theorem: If the k-mer set comes from a sequence and every k-mer appears exactly once in the sequence, then the de Bruijn graph has an Eulerian path!

de Bruijn Graph Create the de Bruijn graph for the following string, using k=5 ACATAGGATTCAC Find the Eulerian path Is the Eulerian path unique? Reconstruct the sequence from this path

Constructing the de Bruijn Graph Create the de Bruijn graph for the following string, using k=5 ACATAGGATTCAC De Bruijn graph for k=5: vertices are 4-mers edges are 5-mers

Constructing the de Bruijn Graph Create the de Bruijn graph for the following string, using k=5 ACATAGGATTCAC Edges (5-mers): ACATA, CATAG, ATAGG, TAGGA, AGGAT, GGATT, GATTC, ATTCA, TTCAC Vertices (4-mers, two for each 5-mer): ACAT, CATA, ATAG, TAGG, AGGA, GGAT, GATT, ATTC, TCAC

Using de Bruijn Graphs Given: set of k-mers from a DNA sequence Algorithm: Construct the de Bruijn graph Find an Eulerian path in the graph The path defines a sequence with the same set of k-mers as the original

Using de Bruijn Graphs Given: set of k-mers from a set of reads for a genome Algorithm: Construct the de Bruijn graph Try to find an Eulerian path in the graph Use the path to assemble the genome

Using de Bruijn Graphs Given: set of k-mers from a set of reads for a genome Algorithm: Construct the de Bruijn graph Try to find an Eulerian path in the graph Use the path to assemble the genome

No matter what Because of Errors in reads Repeats Insufficient coverage the overlap graphs and de Bruijn graphs generally don’t have Hamiltonian paths/circuits or Eulerian paths/circuits This means the first step doesn’t completely assemble the genome

Using de Bruijn Graphs Genome assembly is not as simple as we’ve described… …but finding Eulerian paths is still the basis of most genome assembly methods!