See also UCHIME order dependency It sometimes happens that USEARCH gives different results with the same input and options. This is most common when the same data is processed on different operating systems. This behavior is expected, and does not indicate a bug. Differences occur due to (1) sorting and (2) dynamic
programming algorithms used to construct alignments. The reasons are (a)
floating-point rounding errors, and (b) tie-breaking. In both sorting (e.g., by
word count) and dynamic programming using integer arithmetic, ties may occur
(target sequences having the same word count, and alignments having the same
score). When there is a tie, the code makes an arbitrary choice and the choice
may differ depending on the implementation of library subroutines for sorting
etc. that differ between compilers. When floating-point code is used, there is
the additional complication of floating point rounding errors, which can produce
different results due to the processor, compiler and library function
implementations. |