sequence alignment techniques historical summary 9184348