Exploring Sequence Alignment Algorithms on FPGA-based Heterogeneous Architectures