INNER CODE UNIT · JavaScript
re_walk
lh3/pangene · pangene.js:172
const re_walk = /([><])([^\s><]+)/g;
let m, walk = { asm:t[1]+"#"+t[2], sample:t[1], hap:parseInt(t[2]), sname:t[3], st:-1, en:-1, v:[], lof:[] };
if (t[4] != "*") walk.st = parseInt(t[4]);
if (t[5] != "*") walk.st = parseInt(t[5]);
while ((m = re_walk.exec(t[6])) != null) {
if (this.segname[m[2]] != null) {
const sid = this.segname[m[2]];
const v = sid * 2 | (m[1] == '>'? 0 : 1);
walk.v.push(v);
}
}
for (let k = 7; k < t.length; ++k) {
if (/^lf:B:i/.test(t[k])) {
let s = t[k].substr(7).split(",");
for (let j = 0; j < s.length; ++j)
s[j] = parseInt(s[j]);
walk.lof = s;
}