de Bruijn Graph Construction from Combination of Short and Long Reads
-
Upload
sikder-tahsin-al-amin -
Category
Engineering
-
view
66 -
download
2
Transcript of de Bruijn Graph Construction from Combination of Short and Long Reads
de Bruijn Graph Construction from Combination ofShort and Long Reads
CSE 6406 : Bioinformatics AlgorithmsCourse Faculty: Dr. Atif Hasan Rahman
Group Members
KAZI LUTFUL KABIR (1015052067)
SIKDER TAHSIN AL-AMIN (1015052076)
MD MAHABUR RAHMAN (1015052016)
Outline
Common Terminology Motivation de Bruijn Graph A- Bruijn Graph Finding Genomic Path Error Correction in Draft Genome Potential Scopes of Development
Common Terminology Read: A read refers to the sequence of a cluster that is obtained after the end of the
sequencing process which is ultimately the sequence of a section of a unique fragment
Contig: A set of reads related to each other by overlap of their sequence
Genomic Path: A path in the assembly graph that corresponds to traversing the genome
Draft genome: Sequence of genomic DNA having lower accuracy than finished sequence-some segments are missing or in the wrong order or orientation
Tip: An error occurred during the sequencing process causing the graph to end prematurely having both correct and incorrect k-mers.
Bubble: An error occurred during the sequence reading process such that there is a path for the k-mer reads to reconnect with the main graph
Limitations of Classical deBruijn Graph
Imperfect coverage of genome by reads (every k-mer from the genome is represented by a read)
Reads are error-prone
Multiplicities of k-mers are unknown
Distances between reads within the read-pairs are inexact
Motivation Implicit Assumption: de Bruijn-Inapplicable for long reads assembly
Misunderstanding: de Bruijn graph can only assemble highly accurate reads & fails in case(s) of error-prone SMRT reads
Assumption: de Bruijn Approach limited to short and accurate reads and OLC is the only way to assemble long error prone reads
Original version of de Bruijn Approach is far away from being optimal with respect to genome assembly problem
de Bruijn Graph Demonstration de Bruijn graph DB(Str, k) of a string Str :- Path(Str, k) :a path of |Str| - k + 1 edges where, i-th edge : i-th k-mer in Str i-th vertex : i-th (k-1)-mer in Str Glue identical vertices in Path(Str, k)
A circular string, Str = CATCAGATAGGA 3-mers : CAT, ATC, TCA, CAG,………..
For, edge CAT, CA and AT are the constituent vertices
de Bruijn Graph Construction
A-Bruijn Graph
A variation of de Bruijn graph approach
More general approach than de Bruijn
Include breakpoint graphs- a major arena of genome rearrangement study
A-Bruijn Graph Demonstration An arbitrary substring-free set of strings, V (a set of solid strings)
V consists of words (of any length) -Path(Str, V ) : a path through all words from V appearing in Str (in order) -Assign integer shift(v,w) to the edge (v,w) in this path to denote the
difference between the positions of v and w in Str
Glue identically labeled vertices as to construct the A-Bruijn graph AB(Str, V)
AB(Str, V) is generalized to AB(Reads, V)- A path for each read- Glue all identical vertices in all paths - An Eulerian path in AB(Reads,V) spells out the genome
Selecting an appropriate set of solid strings : a crucial factor
A-Bruijn Graph Demonstration
A circular string, Str = CATCAGATAGGA
Set of solid strings, V= { CA, AT, TC, AGA, TA, AGG, AC }
Integer shift AGA→ AT : 2 CATCAGATAGGACATCAGATAGGA
A-Bruijn Graph Construction
Solid String Selection Short Illumina reads and long SMRT reads differ in terms of their resultant
A-Bruijn graph Short Illumina read: resultant graph can be analyzed further after application of
graph simplification procedures (bubble and tip removal)- not applicable for long SMRT reads (with error rate > 10%)
Good Candidate for solid string: k-mers that appear frequently in reads - (k,t)-mer : k-mer that has appeared at least t times- for a typical bacterial SMRT assembly, k=15 and t=8 (default choice)
Finding Genomic Path in A-Bruijn Graph
hybridSPAdes Algorithm (for co-assembling short and long reads): 1. Constructing the assembly graph from short reads using SPAdes
2. Mapping long reads to the assembly graph and generating readpaths
3. Closing gaps in the assembly graph using the consensus of longreads that span the gaps
4. Resolving repeats in the assembly graph by incorporating long read-paths into the decision rule of EXSPANDER (a repeat resolution framework)
Finding Genomic Path in A-Bruijn Graph SPAdes Algorithm :
(1) Assembly graph construction: de Bruijn graph simplification (2) k-bimer adjustment: accurate distance estimation between k-mers in the genome
(3) Construction of the paired assembly graph: PDBG approach (4) Contig construction: backtracking graph simplification
hybridSPAdes vs longSPAdes: hybrid: deBruijn graph on k-mers from shortreads long: A-Bruijn graph on (k,t)-mers from longreads
ABruijn Assembler
Attempts to find a genomic path in the original A-Bruijn graph (instead of simplified one)
In the context of A-Bruijn graph, it is difficult to decide whether two reads overlap or not
Parameters of longSPAdes in new contexts
Some additional parameters along with those of longSPAdes
Matching reads against draft genome
ABruijn uses BLASR to align all reads against draft genome.
It further combines pairwise alignments of all reads into a multiple alignment, Alignment.
Since this is inaccurate for error-prone draft genome, we need to modify it.
Matching reads against draft genome Our goal is to partition multiple alignment reads
into thousands of short segments- Called Mini-Alignments
And error correct each segment.- As error correction methods are fast for short segments
However, constructing mini-alignments is not simple
Defining solid regions in draft genome
Non-reference positionReference position
Defining solid regions in draft genome
Cov(i) = Total number of reads covering a position
Defining solid regions in draft genome
Match(i)= if read matches with reference column
Defining solid regions in draft genome
Del(i) = number of space symbol in the column
Defining solid regions in draft genome
Sub (i) = number of substituted symbol
Defining solid regions in draft genome
Ins(i) = number of non-space symbol in non-reference column
Defining solid regions in draft genome
Cov(i) = Match (i) + Del (i) + Sub(i)
Match rate= Match(i) / Cov(i)Deletion rate= Del(i) / Cov(i)Substitution rate= Sub(i) / Cov(i)
Defining solid regions in draft genome For a given l-mer, - Local Match rate= minimum match rate - Local Insertion rate= maximum insertion rate
l-mer is called (α, β) solid if – α<Local match rate & β> =Local Insertion rate
Defining solid regions in draft genome
Taking (α, β) = (0.8,0.2)
Defining solid regions in draft genome The contiguous sequence of (α, β)-solid l-mers forms a
solid region.
The goal now is to select a position (landmark) within each solid region and to form mini-alignments from the segments of reads.
Breaking multiple alignment into mini-alignments
Another A-Bruijn graph with much simpler bubbles is constructed using (α, β)-solid l-mers.
First landmarks are selected outside
homonucleotide runs.
Selecting landmarks
4-mer- CAGT – Gold //all its nucleotides are different -ATGA – Simple //consecutive nucleotides different
Landmarks- Middle points (2nd and 3rd Nucleotides)
ABruijn analyzes each mini-alignment and error corrects each segment between consecutive landmarks.
Constructing the A-Bruijn graph on solid regions in the draft genome
Each solid region containing a landmark is labeled by its landmark position and break each read into a sequence of segments.
Each read is represented as a directed path through the vertices.
Constructing the A-Bruijn graph on solid regions in the draft genome
To construct the A-Bruijn graph AB(Alignment), all identically labeled vertices are glued together.
Constructing the A-Bruijn graph on solid regions in the draft genome
The edges between two consecutive landmarks form a necklace.
If the length of the necklace is long (exceeds 100bp) , Abruijn reduces it by increasing number of necklaces.
Probabilistic model for necklace polishing Neklace contains read-segmets
- Segments={….,}
Find a consensus sequence that maximizes
Where = product of all match, mismatch, insertion, deletion rates for all positions
Probabilistic model for necklace polishing Start from initial necklace sequence
Iteratively checks if a mutation exits that increases Select the mutation that results maximum increase
Iterate until convergence
Error-correcting Homonucleotide runs
The performance of the probabilistic approach deteriorates when it estimates the lengths of homonucleotide runs.
Thus a homonucleotide likelihood function is introduced based on the statistics of homonucleotide runs.
Error-correcting Homonucleotide runs
To generate the statistics, an arbitrary set of reads is needed.
The aligned segment is represented simply as the set of its nucleotide counts.
-For ex, AATTACA = 4A1C2T.
After all runs in the reference genome, the statistics for all read segments are obtained.
Error-correcting Homonucleotide runs
The frequencies are used for computing the likelihood function as the product of these frequencies for all reads.
To decide on the length of a homonucleotide run, the length of the run that maximizes the likelihood function is selected.
Error-correcting Homonucleotide runs
For ex, Segments={5A, 6A, 6A, 7A, 6A1C}-Pr(Segments|6A)=0.155 × 0.473^2 × 0.1 × 0.02 =0.0007-Pr(Segments|7A)=0.049 × 0.154^2 × 0.418 × 0.022 = .00001
So, select AAAAAA over AAAAAAA as the necklace consensus.
Benchmarking
Performed benchmarking of ABruijn and PBcR against the reference E. coli K12 genome.
ABruijn and PBcR differs from E.coli k12 reference genome in 2906 and 2925 positions respectively.
Both agree on 2871.- suggesting errors occurred.
Benchmarking Remaining positions are focused
Benchmarking
ABruijn also used to assemble the ECOLInano dataset.
Assembler described in Loman et al. and ABruijn assembled the ECOLInano dataset into a single circular contig with error rates 1.5% and 1.1%, respectively.
Potential Scope of Development
Calculate Likelihood Ratio of multiple solid string sets
Calculate likelihood ratio of multiple solid string sets
Building a probability model Derive Solid String Sets for similar Genome
known SequencesApply A-Bruijn approach to find the SolutionFind the set which leads to approximate best
solution
Calculate likelihood ratio of multiple solid string sets
Building a probability model Derive a Relation between the optimal set and
Long Read SequenceApply this Relation for unknown similar type of
Genome Sequence to assign the probabilistic value
Potential Scope of DevelopmentApplying Bridging Effect
Applying Bridging Effect
In case of Long Read K-mer length is bigger.
Difficult to detect correct branch
Applying Bridging Effect
Apply short Read Process before Branching
Integrate the result with the Long Read Sequence to detect correct Branching
Potential Scope of DevelopmentWalk on the Combined Sequence
Merge WalkingApply both Short Read & Long
Read Approach on Known Genome Read Sequence
Result from Short Read ProcessResult from Long Read Process
Merge WalkingFind the potentially overlapping
sequenceSequence from Long Read Process
Sequence from Short Read Process
Overlapping area
Merge WalkingBuild multiple Solution Set
combining both result Each Solution in the Set must
contain the overlapped portionResult from Short Read ProcessResult from Long Read Process
Merge WalkingCompare the each solution with
known Genome SequenceForm a Secondary Solution Set
which contains the similar optimal solutions
Merge WalkingAlign these solutions to both short
read and long read approach’s result
Detect the overlapped sequenceFind the characteristic of related
overlapped sequence
Merge WalkingFor an unknown similar genome
sequence apply the obtained characteristic to form a solution combining both results
Thank you