BOWTIE maps test reads to a reference genome.
Basically it's a String comparison.
Reference String could be a million base pair made by combinations of A C T & G, also the test reads,
Now what is the criteria to call a test read as match, mutation, SPM mismatch, cigar etc
I am thinking in a perspective that, if I have to write my on BOWTIE in the language I like, what must be the test read, reference genome comparison rules I need to follow.