Using dynamic programming techniques, SIM is guaranteed to find optimal alignments. The alignments are reported in order of similarity score, with the highest scoring alignment first. The k best alignments share no aligned pairs. SIM requires space proportional to the sum of the input sequence lengths and the output alignment lengths. Thus SIM can handle sequences of tens of thousands, even a hundred of thousands, of base pairs on a workstation.
Users supply scoring parameters.
Each match automatically receives score 10. This simple scoring scheme may be used for DNA sequences. In general, users can define an alphabet of characters to appear in the sequences and a matrix that gives the substitution score for each pair of symbols in the alphabet. The alphabet and matrix are given in a file, where the first line lists the characters in the alphabet and the lower triangle of the matrix comes next. This general scoring scheme is useful for protein sequences where the set of protein characters and Dayhoff matrix are specified in the file.