INNER CODE UNIT · JavaScript

NM

lh3/miniasm · misc/sam2paf.js:67

	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)
		warn("WARNING at line " + lineno + ": " + n_cigar + " CIGAR operations");

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…