There is not one way to do it ,but the best way may be only one.
Now for NGS, we detect variations by reads mapping, such as BWA series, VCF,GATK,Dindel,Pindel, or SOAP series, SOAPsnp,SOAPindel,SOAPsv ,or ssaha ssahasnp etc. For NGS ,sequence data is too short to assembly ,and you can not assembly a diploid, bat sequence data including all the genome parts. But in a bacterial genome ,it is small ,most of them is less than 10M ,and has less repeat region. so you can assembly most of the genome. What is more, most of bacterial genomes is haploid, so it does not include heterozygous. So I prefer to assembly a bacterial genome ,and then use whole genome alignment software such as Mummer and Lastz to detect variations. For a assembly result has more genome information. But first of all ,we must guarantee the assembly is accurate. So one day , if the reads have a enough length and accurate. I think assembly is a better way than reads mapping.
Now for NGS, we detect variations by reads mapping, such as BWA series, VCF,GATK,Dindel,Pindel, or SOAP series, SOAPsnp,SOAPindel,SOAPsv ,or ssaha ssahasnp etc. For NGS ,sequence data is too short to assembly ,and you can not assembly a diploid, bat sequence data including all the genome parts. But in a bacterial genome ,it is small ,most of them is less than 10M ,and has less repeat region. so you can assembly most of the genome. What is more, most of bacterial genomes is haploid, so it does not include heterozygous. So I prefer to assembly a bacterial genome ,and then use whole genome alignment software such as Mummer and Lastz to detect variations. For a assembly result has more genome information. But first of all ,we must guarantee the assembly is accurate. So one day , if the reads have a enough length and accurate. I think assembly is a better way than reads mapping.