minor tuning to the matching rules
This commit is contained in:
parent
8058c85b72
commit
5ed2faf270
|
|
@ -123,7 +123,7 @@ Interval.find_ovlp = function(a, st, en)
|
||||||
* Main function *
|
* Main function *
|
||||||
*****************/
|
*****************/
|
||||||
|
|
||||||
var c, l_fuzzy = 10, min_ov_ratio = 0.95, print_ovlp = false, print_err_only = false, first_only = false;
|
var c, l_fuzzy = 0, min_ov_ratio = 0.95, print_ovlp = false, print_err_only = false, first_only = false;
|
||||||
while ((c = getopt(arguments, "l:r:ep1")) != null) {
|
while ((c = getopt(arguments, "l:r:ep1")) != null) {
|
||||||
if (c == 'l') l_fuzzy = parseInt(getopt.arg);
|
if (c == 'l') l_fuzzy = parseInt(getopt.arg);
|
||||||
else if (c == 'r') min_ov_ratio = parseFloat(getopt.arg);
|
else if (c == 'r') min_ov_ratio = parseFloat(getopt.arg);
|
||||||
|
|
@ -168,7 +168,7 @@ var n_ext_hit = 0, n_int_hit = 0, n_sgl_hit = 0;
|
||||||
|
|
||||||
file = new File(arguments[getopt.ind+1]);
|
file = new File(arguments[getopt.ind+1]);
|
||||||
var last_qname = null;
|
var last_qname = null;
|
||||||
var re_cigar = /(\d+)([MIDNSH])/g;
|
var re_cigar = /(\d+)([MIDNSHX=])/g;
|
||||||
while (file.readline(buf) >= 0) {
|
while (file.readline(buf) >= 0) {
|
||||||
var m, t = buf.toString().split("\t");
|
var m, t = buf.toString().split("\t");
|
||||||
if (t[0].charAt(0) == '@') continue;
|
if (t[0].charAt(0) == '@') continue;
|
||||||
|
|
@ -190,7 +190,7 @@ while (file.readline(buf) >= 0) {
|
||||||
exon.push([exon_st, en]);
|
exon.push([exon_st, en]);
|
||||||
en += len;
|
en += len;
|
||||||
exon_st = en;
|
exon_st = en;
|
||||||
} else if (op == 'M' || op == 'D') en += len;
|
} else if (op == 'M' || op == 'X' || op == '=' || op == 'D') en += len;
|
||||||
}
|
}
|
||||||
exon.push([exon_st, en]);
|
exon.push([exon_st, en]);
|
||||||
n_exon += exon.length;
|
n_exon += exon.length;
|
||||||
|
|
@ -212,22 +212,19 @@ while (file.readline(buf) >= 0) {
|
||||||
var l1 = o[j][1] - o[j][0];
|
var l1 = o[j][1] - o[j][0];
|
||||||
var min = l0 < l1? l0 : l1;
|
var min = l0 < l1? l0 : l1;
|
||||||
var ov_ratio = ol / min;
|
var ov_ratio = ol / min;
|
||||||
if (ov_ratio >= min_ov_ratio) {
|
var st_diff = exon[i][0] - o[j][0];
|
||||||
var st_diff = exon[i][0] - o[j][0];
|
var en_diff = exon[i][1] - o[j][1];
|
||||||
var en_diff = exon[i][1] - o[j][1];
|
if (st_diff < 0) st_diff = -st_diff;
|
||||||
if (st_diff < 0) st_diff = -st_diff;
|
if (en_diff < 0) en_diff = -en_diff;
|
||||||
if (en_diff < 0) en_diff = -en_diff;
|
if (i == 0 && exon.length == 1) {
|
||||||
if (i == 0 && exon.length == 1) {
|
if (ov_ratio >= min_ov_ratio) ++n_sgl_hit, hit = true;
|
||||||
++n_sgl_hit, hit = true;
|
} else if (i == 0) {
|
||||||
} else if (i == 0) {
|
if (en_diff <= l_fuzzy) ++n_ext_hit, hit = true;
|
||||||
if (en_diff <= l_fuzzy) ++n_ext_hit, hit = true;
|
} else if (i == exon.length - 1) {
|
||||||
} else if (i == exon.length - 1) {
|
if (st_diff <= l_fuzzy) ++n_ext_hit, hit = true;
|
||||||
if (st_diff <= l_fuzzy) ++n_ext_hit, hit = true;
|
} else {
|
||||||
} else {
|
if (en_diff + st_diff <= l_fuzzy)
|
||||||
//if (en_diff <= l_fuzzy && st_diff <= l_fuzzy && ol / span >= min_ov_ratio)
|
++n_int_hit, hit = true;
|
||||||
if (en_diff + st_diff <= l_fuzzy || ol / span >= min_ov_ratio)
|
|
||||||
++n_int_hit, hit = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (hit) break;
|
if (hit) break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue