PLEASE note that difference between **Mismatch and Edit-distance**

1. STAR:

outFilterMismatchNmax [default: 10]

  1. int: alignment will be output only if it has no more mismatches than this value.

outFilterMismatchNoverLmax [default: 0.3]

  1. real: alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value.

outFilterMismatchNoverReadLmax [default: 1.0]

  1. real: alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value.

2. HISAT2

由以下两个参数共同控制mismatch,以下只解释使用MX罚分的机制。例子:50bp,默认参数。fx=0+50-0.2=-10,一个高质量reads错配罚6分,小于-10就discard,所以在不严格的情况下,大部分的reads错配在0~2个之间,少数3个。这种机制其实就是*罚分错配率

--mp MX,MN

Sets the maximum (MX) and minimum (MN) mismatch penalties, both integers. A number less than or equal to MX and greater than or equal to MN is subtracted from the alignment score for each position where a read character aligns to a reference character, the characters do not match, and neither is an N. If [--ignore-quals](http://daehwankimlab.github.io/hisat2/manual/#hisat2-options-ignore-quals) is specified, the number subtracted quals MX. Otherwise, the number subtracted is MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) ) where Q is the Phred quality value. Default: MX = 6, MN = 2.

--score-min <func>
Sets a function governing the minimum alignment score needed for an alignment to be considered “valid” (i.e. good enough to report). This is a function of read length. For instance, specifying L,0,-0.6 sets the minimum-score function f to f(x) = 0 + -0.6 * x, where x is the read length. See also: [setting function options]. The default is L,0,-0.2.

3. TopHat2

-N/--read-mismatches <int> [default: 2]