The genome of a bacterial organism consists of a single circular chromosome that can undergo changes at several different levels. There is the very local level of errors that are introduced through the replication process, giving rise to changes in the nucleotide sequence (A,C,G,T); there are larger scale sequence changes occurring during the lifetime of the cell that are able to insert whole segments of foreign DNA, delete segments, or invert segments (among other things); and there are even topological changes that give rise to knotting in DNA. In this talk I will describe how algebraic ideas can be used to model some bacterial evolutionary processes. In particular I will give an example in which modelling the inversion process gives rise to new algebraic questions, and show how algebraic results about the affine symmetric group can be used to calculate the ``inversion distance" between bacterial genomes. This has applications to phylogeny reconstruction.