Schematic illustration of GA operators. Different colors of the blocks indicate different alignment blocks. White blocks indicate equivalent blocks between two pairwise alignments. (a) Two-point crossover creates a child alignment by concatenating at most three alignment blocks separated by equivalent blocks. When the number of the separated blocks is larger than three, the smallest blocks are merged to neighboring blocks in an iterative manner. (b) Gap-block shuffling shifts a randomly selected continuous gap in a random direction. (c) Local re-alignment re-aligns a randomly selected small alignment region. In this example, the central region of the alignment is modified, while the flanking regions are not changed.