SOAP is a program for efficient gapped and ungapped alignment of short oligonucleotides onto reference sequences. It is designed to handle large amounts of short reads generated by parallel sequencing using Illumina-Solexa sequencers. SOAP is compatible with numerous applications, including single-read and pair-end resequencing, small RNA discovery, and mRNA tag sequence mapping. SOAP is a command-driven program. It supports multi-threaded parallel computing, and has a batch module for multiple query sets.