SOAP: short oligonucleotide alignment program