Hi all, I know this might be a very stupid question, but I have confused about the read assembling methods and their usage. I know (sort of) how does the BWA works independently, and also how does the de Bruijn graphs works independently, but I do not know, when and why does the assembler softwares use which one (is this about mapping to reference versus align de novo...? I really don't get it....). So if somebody could give me some brief explanation about the differences (usage in particular) I would be very glad :) Thanks in advance!
BWA is a reference mapper - you have to give it a reference genome, and it will try and align/map each of your reads to that reference, some reads will map perfectly to it, some with a few indels/mutations, and some will not be able to be mapped at all.
de Bruijn graphs are completely different, they are not concerned with a reference genome, they basically take all your reads, split them up into kmers (short sequences of length k), and they try and piece together all the kmers that overlap to form larger sequences called contigs. This is de novo assembly
Generally speaking, a software tool is either a reference mapper (BWA, Bowtie2 etc) or a de novo assembler - using either a de Bruijn graph or the OLC method.
So a software assembler doesn't choose which method to use, you choose which software you want to use - whether it be a reference mapper (e.g. if you know what is in your sample), or de novo (if you don't)