INNER CODE UNIT · JavaScript
nn
lh3/miniasm · misc/sam2paf.js:66
var nn = (m = /\tnn:i:(\d+)/.exec(line)) != null? parseInt(m[1]) : 0;
var NM = (m = /\tNM:i:(\d+)/.exec(line)) != null? parseInt(m[1]) : null;
var have_NM = NM == null? false : true;
NM += nn;
var clip = [0, 0], I = [0, 0], D = [0, 0], M = 0, N = 0, ql = 0, tl = 0, mm = 0, ext_cigar = false;
while ((m = re.exec(t[5])) != null) {
var l = parseInt(m[1]);
if (m[2] == 'M') M += l, ql += l, tl += l, ext_cigar = false;
else if (m[2] == 'I') ++I[0], I[1] += l, ql += l;
else if (m[2] == 'D') ++D[0], D[1] += l, tl += l;
else if (m[2] == 'N') N += l, tl += l;
else if (m[2] == 'S') clip[M == 0? 0 : 1] = l, ql += l;
else if (m[2] == 'H') clip[M == 0? 0 : 1] = l;
else if (m[2] == '=') M += l, ql += l, tl += l, ext_cigar = true;
else if (m[2] == 'X') M += l, ql += l, tl += l, mm += l, ext_cigar = true;
++n_cigar;
}
if (n_cigar > 65535)