From 7b5a601d484b89d2b62aa5032e11891cd5c75bac Mon Sep 17 00:00:00 2001 From: Heng Li Date: Sun, 7 Jan 2018 13:53:26 -0500 Subject: [PATCH] support paired-end reads this gives unnecessary warnings, which will be fixed later. --- misc/splice2bed.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/misc/splice2bed.js b/misc/splice2bed.js index 2695ca1..cdd965f 100644 --- a/misc/splice2bed.js +++ b/misc/splice2bed.js @@ -93,11 +93,15 @@ function main(args) { var is_pri = false, cigar = null, a1; var qname = conv != null? conv.get(t[0]) : null; if (qname != null) t[0] = qname; + if (t.length >= 10 && t[4] != '+' && t[4] != '-' && /^\d+/.test(t[1])) { // SAM + var flag = parseInt(t[1]); + if (flag&1) t[0] += '/' + (flag>>6&3); + } if (a.length && a[0][3] != t[0]) { print_lines(a, fmt); a = []; } - if (t.length >= 12 && (t[4] == '+' || t[4] == '-')) { + if (t.length >= 12 && (t[4] == '+' || t[4] == '-')) { // PAF for (var i = 12; i < t.length; ++i) { if (t[i].substr(0, 5) == 'cg:Z:') { cigar = t[i].substr(5); @@ -106,7 +110,7 @@ function main(args) { } } a1 = [t[5], t[7], t[8], t[0], Math.floor(t[9]/t[10]*1000), t[4]]; - } else if (t.length >= 10) { + } else if (t.length >= 10) { // SAM var flag = parseInt(t[1]); if ((flag&4) || a[2] == '*') continue; cigar = t[5];