A DSL for Sequence Alignment on the CPU and GPU