Frameshift-aware semi-global alignment of DNA and protein sequences