An efficient algorithm to locate all locally optimal alignments between two sequences allowing for gaps | Synapse