GLAM2

"GLAM" stands for "Gapped Local Alignment of Motifs."
It assigns a score to a local alignment by favoring matched symbols and penalizing indels.
For long strings, it is impossible to guarantee finding an optimal alignment because of the huge number of possible
alignments, and so GLAM2 uses a heuristic approach (called "simulated annealing").