r980: support auNGA
This commit is contained in:
parent
0a5e386359
commit
50775362bb
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env k8
|
#!/usr/bin/env k8
|
||||||
|
|
||||||
var paftools_version = '2.17-r979-dirty';
|
var paftools_version = '2.17-r980-dirty';
|
||||||
|
|
||||||
/*****************************
|
/*****************************
|
||||||
***** Library functions *****
|
***** Library functions *****
|
||||||
|
|
@ -640,6 +640,23 @@ function paf_asmstat(args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function AUN(lens, tot) {
|
||||||
|
lens.sort(function(a,b) { return b - a; });
|
||||||
|
if (tot == null) {
|
||||||
|
tot = 0;
|
||||||
|
for (var k = 0; k < lens.length; ++k)
|
||||||
|
tot += lens[k];
|
||||||
|
}
|
||||||
|
var x = 0, y = 0;
|
||||||
|
for (var k = 0; k < lens.length; ++k) {
|
||||||
|
var l = x + lens[k] <= tot? lens[k] : tot - x;
|
||||||
|
x += lens[k];
|
||||||
|
y += l * (l / tot);
|
||||||
|
if (x >= tot) break;
|
||||||
|
}
|
||||||
|
return y.toFixed(0);
|
||||||
|
}
|
||||||
|
|
||||||
function count_bp(bp, min_blen, min_gap) {
|
function count_bp(bp, min_blen, min_gap) {
|
||||||
var n_bp = 0;
|
var n_bp = 0;
|
||||||
for (var k = 0; k < bp.length; ++k)
|
for (var k = 0; k < bp.length; ++k)
|
||||||
|
|
@ -660,7 +677,7 @@ function paf_asmstat(args)
|
||||||
return (NM - n_gaps + n_gapo) / (n_M + n_gapo);
|
return (NM - n_gaps + n_gapo) / (n_M + n_gapo);
|
||||||
}
|
}
|
||||||
|
|
||||||
var labels = ['Length', 'l_cov', 'Rcov', 'Rdup', 'Qcov', 'NG75', 'NG50', 'NGA50', '#breaks', 'bp(' + min_seg_len + ',0)', 'bp(' + min_seg_len + ',10k)'];
|
var labels = ['Length', 'l_cov', 'Rcov', 'Rdup', 'Qcov', 'NG75', 'NG50', 'NGA50', 'AUNGA', '#breaks', 'bp(' + min_seg_len + ',0)', 'bp(' + min_seg_len + ',10k)'];
|
||||||
var rst = [];
|
var rst = [];
|
||||||
for (var i = 0; i < labels.length; ++i)
|
for (var i = 0; i < labels.length; ++i)
|
||||||
rst[i] = [];
|
rst[i] = [];
|
||||||
|
|
@ -763,10 +780,13 @@ function paf_asmstat(args)
|
||||||
// compute NGA50
|
// compute NGA50
|
||||||
rst[7][i] = N50(qblock_len, ref_len, 0.5);
|
rst[7][i] = N50(qblock_len, ref_len, 0.5);
|
||||||
|
|
||||||
|
// compute AUNGA
|
||||||
|
rst[8][i] = AUN(qblock_len, ref_len);
|
||||||
|
|
||||||
// compute break points
|
// compute break points
|
||||||
rst[8][i] = n_breaks;
|
rst[9][i] = n_breaks;
|
||||||
rst[9][i] = count_bp(bp, 500, 0);
|
rst[10][i] = count_bp(bp, 500, 0);
|
||||||
rst[10][i] = count_bp(bp, 500, 10000);
|
rst[11][i] = count_bp(bp, 500, 10000);
|
||||||
|
|
||||||
// nb-plot; NOT USED
|
// nb-plot; NOT USED
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue