gff-nostream 3.0.1 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -75
- package/dist/api.js +14 -21
- package/dist/api.js.map +1 -1
- package/dist/util.d.ts +1 -1
- package/dist/util.js +135 -216
- package/dist/util.js.map +1 -1
- package/esm/api.js +14 -21
- package/esm/api.js.map +1 -1
- package/esm/util.d.ts +1 -1
- package/esm/util.js +135 -216
- package/esm/util.js.map +1 -1
- package/package.json +15 -22
- package/src/api.ts +15 -22
- package/src/util.ts +185 -254
package/dist/util.js
CHANGED
|
@@ -14,15 +14,10 @@ exports.parseAttributesJBrowse = parseAttributesJBrowse;
|
|
|
14
14
|
exports.parseAttributesJBrowseNoUnescape = parseAttributesJBrowseNoUnescape;
|
|
15
15
|
exports.parseFeatureJBrowse = parseFeatureJBrowse;
|
|
16
16
|
exports.parseFeatureJBrowseNoUnescape = parseFeatureJBrowseNoUnescape;
|
|
17
|
-
const escapeRegex = /%([0-9A-Fa-f]{2})/g;
|
|
18
17
|
const directiveRegex = /^\s*##\s*(\S+)\s*(.*)/;
|
|
19
18
|
const lineEndRegex = /\r?\n$/;
|
|
20
19
|
const whitespaceRegex = /\s+/;
|
|
21
20
|
const nonDigitRegex = /\D/g;
|
|
22
|
-
// eslint-disable-next-line no-control-regex
|
|
23
|
-
const attrEscapeRegex = /[\n;\r\t=%&,\u0000-\u001f\u007f-\u00ff]/g;
|
|
24
|
-
// eslint-disable-next-line no-control-regex
|
|
25
|
-
const columnEscapeRegex = /[\n\r\t%\u0000-\u001f\u007f-\u00ff]/g;
|
|
26
21
|
const HEX_LOOKUP = {};
|
|
27
22
|
for (let i = 0; i < 256; i++) {
|
|
28
23
|
const hex = i.toString(16).toUpperCase().padStart(2, '0');
|
|
@@ -35,16 +30,35 @@ for (let i = 0; i < 256; i++) {
|
|
|
35
30
|
* @param stringVal - Escaped GFF3 string value
|
|
36
31
|
* @returns An unescaped string value
|
|
37
32
|
*/
|
|
38
|
-
function unescape(
|
|
39
|
-
|
|
33
|
+
function unescape(stringVal) {
|
|
34
|
+
const idx = stringVal.indexOf('%');
|
|
35
|
+
if (idx === -1) {
|
|
36
|
+
return stringVal;
|
|
37
|
+
}
|
|
38
|
+
let result = '';
|
|
39
|
+
let lastIdx = 0;
|
|
40
|
+
let i = idx;
|
|
41
|
+
while (i < stringVal.length) {
|
|
42
|
+
if (stringVal[i] === '%' && i + 2 < stringVal.length) {
|
|
43
|
+
result += stringVal.slice(lastIdx, i);
|
|
44
|
+
const hex = stringVal.slice(i + 1, i + 3);
|
|
45
|
+
const char = HEX_LOOKUP[hex];
|
|
46
|
+
if (char !== undefined) {
|
|
47
|
+
result += char;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
result += stringVal.slice(i, i + 3);
|
|
51
|
+
}
|
|
52
|
+
i += 3;
|
|
53
|
+
lastIdx = i;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
i++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return result + stringVal.slice(lastIdx);
|
|
40
60
|
}
|
|
41
|
-
|
|
42
|
-
* Parse the 9th column (attributes) of a GFF3 feature line.
|
|
43
|
-
*
|
|
44
|
-
* @param attrString - String of GFF3 9th column
|
|
45
|
-
* @returns Parsed attributes
|
|
46
|
-
*/
|
|
47
|
-
function parseAttributes(attrString) {
|
|
61
|
+
function parseAttributesImpl(attrString, shouldUnescape) {
|
|
48
62
|
if (attrString.length === 0 || attrString === '.') {
|
|
49
63
|
return {};
|
|
50
64
|
}
|
|
@@ -77,7 +91,7 @@ function parseAttributes(attrString) {
|
|
|
77
91
|
}
|
|
78
92
|
if (commaIdx > valStart) {
|
|
79
93
|
const val = attrString.slice(valStart, commaIdx);
|
|
80
|
-
arec.push(unescape(val));
|
|
94
|
+
arec.push(shouldUnescape ? unescape(val) : val);
|
|
81
95
|
}
|
|
82
96
|
valStart = commaIdx + 1;
|
|
83
97
|
}
|
|
@@ -87,6 +101,15 @@ function parseAttributes(attrString) {
|
|
|
87
101
|
}
|
|
88
102
|
return attrs;
|
|
89
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Parse the 9th column (attributes) of a GFF3 feature line.
|
|
106
|
+
*
|
|
107
|
+
* @param attrString - String of GFF3 9th column
|
|
108
|
+
* @returns Parsed attributes
|
|
109
|
+
*/
|
|
110
|
+
function parseAttributes(attrString) {
|
|
111
|
+
return parseAttributesImpl(attrString, true);
|
|
112
|
+
}
|
|
90
113
|
/**
|
|
91
114
|
* Parse the 9th column (attributes) of a GFF3 feature line without unescaping.
|
|
92
115
|
* Fast path for data known to contain no escaped characters.
|
|
@@ -95,64 +118,16 @@ function parseAttributes(attrString) {
|
|
|
95
118
|
* @returns Parsed attributes
|
|
96
119
|
*/
|
|
97
120
|
function parseAttributesNoUnescape(attrString) {
|
|
98
|
-
|
|
99
|
-
return {};
|
|
100
|
-
}
|
|
101
|
-
const attrs = {};
|
|
102
|
-
let len = attrString.length;
|
|
103
|
-
if (attrString[len - 1] === '\n') {
|
|
104
|
-
len = attrString[len - 2] === '\r' ? len - 2 : len - 1;
|
|
105
|
-
attrString = attrString.slice(0, len);
|
|
106
|
-
}
|
|
107
|
-
let start = 0;
|
|
108
|
-
while (start < len) {
|
|
109
|
-
let semiIdx = attrString.indexOf(';', start);
|
|
110
|
-
if (semiIdx === -1) {
|
|
111
|
-
semiIdx = len;
|
|
112
|
-
}
|
|
113
|
-
if (semiIdx > start) {
|
|
114
|
-
const eqIdx = attrString.indexOf('=', start);
|
|
115
|
-
if (eqIdx !== -1 && eqIdx < semiIdx && eqIdx + 1 < semiIdx) {
|
|
116
|
-
const tag = attrString.slice(start, eqIdx);
|
|
117
|
-
let arec = attrs[tag];
|
|
118
|
-
if (!arec) {
|
|
119
|
-
arec = [];
|
|
120
|
-
attrs[tag] = arec;
|
|
121
|
-
}
|
|
122
|
-
let valStart = eqIdx + 1;
|
|
123
|
-
while (valStart < semiIdx) {
|
|
124
|
-
let commaIdx = attrString.indexOf(',', valStart);
|
|
125
|
-
if (commaIdx === -1 || commaIdx > semiIdx) {
|
|
126
|
-
commaIdx = semiIdx;
|
|
127
|
-
}
|
|
128
|
-
if (commaIdx > valStart) {
|
|
129
|
-
arec.push(attrString.slice(valStart, commaIdx));
|
|
130
|
-
}
|
|
131
|
-
valStart = commaIdx + 1;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
start = semiIdx + 1;
|
|
136
|
-
}
|
|
137
|
-
return attrs;
|
|
121
|
+
return parseAttributesImpl(attrString, false);
|
|
138
122
|
}
|
|
139
|
-
function
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
return
|
|
123
|
+
function normImpl(s, shouldUnescape) {
|
|
124
|
+
if (s.length === 0 || s === '.') {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
return shouldUnescape ? unescape(s) : s;
|
|
144
128
|
}
|
|
145
|
-
|
|
146
|
-
* Parse a GFF3 feature line
|
|
147
|
-
*
|
|
148
|
-
* @param line - GFF3 feature line
|
|
149
|
-
* @returns The parsed feature
|
|
150
|
-
*/
|
|
151
|
-
function parseFeature(line) {
|
|
129
|
+
function parseFeatureImpl(line, shouldUnescape) {
|
|
152
130
|
const f = line.split('\t');
|
|
153
|
-
const seq_id = f[0];
|
|
154
|
-
const source = f[1];
|
|
155
|
-
const type = f[2];
|
|
156
131
|
const startStr = f[3];
|
|
157
132
|
const endStr = f[4];
|
|
158
133
|
const scoreStr = f[5];
|
|
@@ -160,17 +135,28 @@ function parseFeature(line) {
|
|
|
160
135
|
const phase = f[7];
|
|
161
136
|
const attrString = f[8];
|
|
162
137
|
return {
|
|
163
|
-
seq_id:
|
|
164
|
-
source:
|
|
165
|
-
type:
|
|
138
|
+
seq_id: normImpl(f[0], shouldUnescape),
|
|
139
|
+
source: normImpl(f[1], shouldUnescape),
|
|
140
|
+
type: normImpl(f[2], shouldUnescape),
|
|
166
141
|
start: startStr.length === 0 || startStr === '.' ? null : +startStr,
|
|
167
142
|
end: endStr.length === 0 || endStr === '.' ? null : +endStr,
|
|
168
143
|
score: scoreStr.length === 0 || scoreStr === '.' ? null : +scoreStr,
|
|
169
|
-
strand:
|
|
170
|
-
phase:
|
|
171
|
-
attributes: attrString.length === 0 || attrString === '.'
|
|
144
|
+
strand: normImpl(strand, false),
|
|
145
|
+
phase: normImpl(phase, false),
|
|
146
|
+
attributes: attrString.length === 0 || attrString === '.'
|
|
147
|
+
? null
|
|
148
|
+
: parseAttributesImpl(attrString, shouldUnescape),
|
|
172
149
|
};
|
|
173
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Parse a GFF3 feature line
|
|
153
|
+
*
|
|
154
|
+
* @param line - GFF3 feature line
|
|
155
|
+
* @returns The parsed feature
|
|
156
|
+
*/
|
|
157
|
+
function parseFeature(line) {
|
|
158
|
+
return parseFeatureImpl(line, true);
|
|
159
|
+
}
|
|
174
160
|
/**
|
|
175
161
|
* Parse a GFF3 feature line without unescaping.
|
|
176
162
|
* Fast path for data known to contain no escaped characters.
|
|
@@ -179,7 +165,9 @@ function parseFeature(line) {
|
|
|
179
165
|
* @returns The parsed feature
|
|
180
166
|
*/
|
|
181
167
|
function parseFeatureNoUnescape(line) {
|
|
182
|
-
|
|
168
|
+
return parseFeatureImpl(line, false);
|
|
169
|
+
}
|
|
170
|
+
function parseFieldsArrayImpl(f, shouldUnescape) {
|
|
183
171
|
const seq_id = f[0];
|
|
184
172
|
const source = f[1];
|
|
185
173
|
const type = f[2];
|
|
@@ -190,15 +178,17 @@ function parseFeatureNoUnescape(line) {
|
|
|
190
178
|
const phase = f[7];
|
|
191
179
|
const attrString = f[8];
|
|
192
180
|
return {
|
|
193
|
-
seq_id:
|
|
194
|
-
source:
|
|
195
|
-
type:
|
|
196
|
-
start: startStr
|
|
197
|
-
end: endStr
|
|
198
|
-
score: scoreStr
|
|
199
|
-
strand:
|
|
200
|
-
phase:
|
|
201
|
-
attributes: attrString
|
|
181
|
+
seq_id: seq_id ? normImpl(seq_id, shouldUnescape) : null,
|
|
182
|
+
source: source ? normImpl(source, shouldUnescape) : null,
|
|
183
|
+
type: type ? normImpl(type, shouldUnescape) : null,
|
|
184
|
+
start: !startStr || startStr === '.' ? null : +startStr,
|
|
185
|
+
end: !endStr || endStr === '.' ? null : +endStr,
|
|
186
|
+
score: !scoreStr || scoreStr === '.' ? null : +scoreStr,
|
|
187
|
+
strand: strand && strand !== '.' ? strand : null,
|
|
188
|
+
phase: phase && phase !== '.' ? phase : null,
|
|
189
|
+
attributes: !attrString || attrString === '.'
|
|
190
|
+
? null
|
|
191
|
+
: parseAttributesImpl(attrString, shouldUnescape),
|
|
202
192
|
};
|
|
203
193
|
}
|
|
204
194
|
/**
|
|
@@ -208,26 +198,7 @@ function parseFeatureNoUnescape(line) {
|
|
|
208
198
|
* @returns The parsed feature
|
|
209
199
|
*/
|
|
210
200
|
function parseFieldsArray(f) {
|
|
211
|
-
|
|
212
|
-
const source = f[1];
|
|
213
|
-
const type = f[2];
|
|
214
|
-
const startStr = f[3];
|
|
215
|
-
const endStr = f[4];
|
|
216
|
-
const scoreStr = f[5];
|
|
217
|
-
const strand = f[6];
|
|
218
|
-
const phase = f[7];
|
|
219
|
-
const attrString = f[8];
|
|
220
|
-
return {
|
|
221
|
-
seq_id: seq_id ? normUnescape(seq_id) : null,
|
|
222
|
-
source: source ? normUnescape(source) : null,
|
|
223
|
-
type: type ? normUnescape(type) : null,
|
|
224
|
-
start: !startStr || startStr === '.' ? null : +startStr,
|
|
225
|
-
end: !endStr || endStr === '.' ? null : +endStr,
|
|
226
|
-
score: !scoreStr || scoreStr === '.' ? null : +scoreStr,
|
|
227
|
-
strand: strand && strand !== '.' ? strand : null,
|
|
228
|
-
phase: phase && phase !== '.' ? phase : null,
|
|
229
|
-
attributes: !attrString || attrString === '.' ? null : parseAttributes(attrString),
|
|
230
|
-
};
|
|
201
|
+
return parseFieldsArrayImpl(f, true);
|
|
231
202
|
}
|
|
232
203
|
/**
|
|
233
204
|
* Parse a GFF3 feature from a pre-split fields array without unescaping.
|
|
@@ -237,26 +208,7 @@ function parseFieldsArray(f) {
|
|
|
237
208
|
* @returns The parsed feature
|
|
238
209
|
*/
|
|
239
210
|
function parseFieldsArrayNoUnescape(f) {
|
|
240
|
-
|
|
241
|
-
const source = f[1];
|
|
242
|
-
const type = f[2];
|
|
243
|
-
const startStr = f[3];
|
|
244
|
-
const endStr = f[4];
|
|
245
|
-
const scoreStr = f[5];
|
|
246
|
-
const strand = f[6];
|
|
247
|
-
const phase = f[7];
|
|
248
|
-
const attrString = f[8];
|
|
249
|
-
return {
|
|
250
|
-
seq_id: seq_id && seq_id !== '.' ? seq_id : null,
|
|
251
|
-
source: source && source !== '.' ? source : null,
|
|
252
|
-
type: type && type !== '.' ? type : null,
|
|
253
|
-
start: !startStr || startStr === '.' ? null : +startStr,
|
|
254
|
-
end: !endStr || endStr === '.' ? null : +endStr,
|
|
255
|
-
score: !scoreStr || scoreStr === '.' ? null : +scoreStr,
|
|
256
|
-
strand: strand && strand !== '.' ? strand : null,
|
|
257
|
-
phase: phase && phase !== '.' ? phase : null,
|
|
258
|
-
attributes: !attrString || attrString === '.' ? null : parseAttributesNoUnescape(attrString),
|
|
259
|
-
};
|
|
211
|
+
return parseFieldsArrayImpl(f, false);
|
|
260
212
|
}
|
|
261
213
|
/**
|
|
262
214
|
* Parse a GFF3 directive line.
|
|
@@ -276,7 +228,6 @@ function parseDirective(line) {
|
|
|
276
228
|
contents = contents.replace(lineEndRegex, '');
|
|
277
229
|
parsed.value = contents;
|
|
278
230
|
}
|
|
279
|
-
// do a little additional parsing for sequence-region and genome-build directives
|
|
280
231
|
if (name === 'sequence-region') {
|
|
281
232
|
const c = contents.split(whitespaceRegex, 3);
|
|
282
233
|
return {
|
|
@@ -307,19 +258,30 @@ const JBROWSE_DEFAULT_FIELDS = new Set([
|
|
|
307
258
|
'phase',
|
|
308
259
|
'strand',
|
|
309
260
|
]);
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
261
|
+
// Pre-computed lowercase for common GFF3 spec attribute names to avoid
|
|
262
|
+
// toLowerCase() calls in the hot path
|
|
263
|
+
const COMMON_ATTRS = {
|
|
264
|
+
ID: 'id',
|
|
265
|
+
Name: 'name',
|
|
266
|
+
Parent: 'parent',
|
|
267
|
+
Note: 'note',
|
|
268
|
+
Dbxref: 'dbxref',
|
|
269
|
+
Ontology_term: 'ontology_term',
|
|
270
|
+
Is_circular: 'is_circular',
|
|
271
|
+
Alias: 'alias',
|
|
272
|
+
Target: 'target',
|
|
273
|
+
Gap: 'gap',
|
|
274
|
+
Derives_from: 'derives_from',
|
|
275
|
+
id: 'id',
|
|
276
|
+
name: 'name',
|
|
277
|
+
parent: 'parent',
|
|
278
|
+
note: 'note',
|
|
279
|
+
dbxref: 'dbxref',
|
|
280
|
+
alias: 'alias',
|
|
281
|
+
target: 'target',
|
|
282
|
+
gap: 'gap',
|
|
283
|
+
};
|
|
284
|
+
function parseAttributesJBrowseImpl(attrString, result, shouldUnescape) {
|
|
323
285
|
if (attrString.length === 0 || attrString === '.') {
|
|
324
286
|
return;
|
|
325
287
|
}
|
|
@@ -342,9 +304,12 @@ function parseAttributesJBrowse(attrString, result) {
|
|
|
342
304
|
start = semiIdx + 1;
|
|
343
305
|
continue;
|
|
344
306
|
}
|
|
345
|
-
let key = tag
|
|
346
|
-
if (
|
|
347
|
-
key
|
|
307
|
+
let key = COMMON_ATTRS[tag];
|
|
308
|
+
if (key === undefined) {
|
|
309
|
+
key = tag.toLowerCase();
|
|
310
|
+
if (JBROWSE_DEFAULT_FIELDS.has(key)) {
|
|
311
|
+
key += '2';
|
|
312
|
+
}
|
|
348
313
|
}
|
|
349
314
|
const values = [];
|
|
350
315
|
let valStart = eqIdx + 1;
|
|
@@ -355,7 +320,7 @@ function parseAttributesJBrowse(attrString, result) {
|
|
|
355
320
|
}
|
|
356
321
|
if (commaIdx > valStart) {
|
|
357
322
|
const val = attrString.slice(valStart, commaIdx);
|
|
358
|
-
values.push(unescape(val));
|
|
323
|
+
values.push(shouldUnescape ? unescape(val) : val);
|
|
359
324
|
}
|
|
360
325
|
valStart = commaIdx + 1;
|
|
361
326
|
}
|
|
@@ -365,52 +330,13 @@ function parseAttributesJBrowse(attrString, result) {
|
|
|
365
330
|
start = semiIdx + 1;
|
|
366
331
|
}
|
|
367
332
|
}
|
|
333
|
+
function parseAttributesJBrowse(attrString, result) {
|
|
334
|
+
parseAttributesJBrowseImpl(attrString, result, true);
|
|
335
|
+
}
|
|
368
336
|
function parseAttributesJBrowseNoUnescape(attrString, result) {
|
|
369
|
-
|
|
370
|
-
return;
|
|
371
|
-
}
|
|
372
|
-
let len = attrString.length;
|
|
373
|
-
if (attrString[len - 1] === '\n') {
|
|
374
|
-
len = attrString[len - 2] === '\r' ? len - 2 : len - 1;
|
|
375
|
-
attrString = attrString.slice(0, len);
|
|
376
|
-
}
|
|
377
|
-
let start = 0;
|
|
378
|
-
while (start < len) {
|
|
379
|
-
let semiIdx = attrString.indexOf(';', start);
|
|
380
|
-
if (semiIdx === -1) {
|
|
381
|
-
semiIdx = len;
|
|
382
|
-
}
|
|
383
|
-
if (semiIdx > start) {
|
|
384
|
-
const eqIdx = attrString.indexOf('=', start);
|
|
385
|
-
if (eqIdx !== -1 && eqIdx < semiIdx && eqIdx + 1 < semiIdx) {
|
|
386
|
-
const tag = attrString.slice(start, eqIdx);
|
|
387
|
-
if (tag === '_lineHash') {
|
|
388
|
-
start = semiIdx + 1;
|
|
389
|
-
continue;
|
|
390
|
-
}
|
|
391
|
-
let key = tag.toLowerCase();
|
|
392
|
-
if (JBROWSE_DEFAULT_FIELDS.has(key)) {
|
|
393
|
-
key += '2';
|
|
394
|
-
}
|
|
395
|
-
const values = [];
|
|
396
|
-
let valStart = eqIdx + 1;
|
|
397
|
-
while (valStart < semiIdx) {
|
|
398
|
-
let commaIdx = attrString.indexOf(',', valStart);
|
|
399
|
-
if (commaIdx === -1 || commaIdx > semiIdx) {
|
|
400
|
-
commaIdx = semiIdx;
|
|
401
|
-
}
|
|
402
|
-
if (commaIdx > valStart) {
|
|
403
|
-
values.push(attrString.slice(valStart, commaIdx));
|
|
404
|
-
}
|
|
405
|
-
valStart = commaIdx + 1;
|
|
406
|
-
}
|
|
407
|
-
result[key] = values.length === 1 ? values[0] : values;
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
start = semiIdx + 1;
|
|
411
|
-
}
|
|
337
|
+
parseAttributesJBrowseImpl(attrString, result, false);
|
|
412
338
|
}
|
|
413
|
-
function
|
|
339
|
+
function parseFeatureJBrowseImpl(line, shouldUnescape) {
|
|
414
340
|
const f = line.split('\t');
|
|
415
341
|
const seq_id = f[0];
|
|
416
342
|
const source = f[1];
|
|
@@ -422,42 +348,35 @@ function parseFeatureJBrowse(line) {
|
|
|
422
348
|
const phase = f[7];
|
|
423
349
|
const attrString = f[8];
|
|
424
350
|
const result = {
|
|
425
|
-
refName: seq_id.length === 0 || seq_id === '.'
|
|
426
|
-
|
|
427
|
-
|
|
351
|
+
refName: seq_id.length === 0 || seq_id === '.'
|
|
352
|
+
? ''
|
|
353
|
+
: shouldUnescape
|
|
354
|
+
? unescape(seq_id)
|
|
355
|
+
: seq_id,
|
|
356
|
+
source: source.length === 0 || source === '.'
|
|
357
|
+
? null
|
|
358
|
+
: shouldUnescape
|
|
359
|
+
? unescape(source)
|
|
360
|
+
: source,
|
|
361
|
+
type: type.length === 0 || type === '.'
|
|
362
|
+
? null
|
|
363
|
+
: shouldUnescape
|
|
364
|
+
? unescape(type)
|
|
365
|
+
: type,
|
|
428
366
|
start: startStr.length === 0 || startStr === '.' ? 0 : +startStr - 1,
|
|
429
367
|
end: endStr.length === 0 || endStr === '.' ? 0 : +endStr,
|
|
430
368
|
score: scoreStr.length === 0 || scoreStr === '.' ? undefined : +scoreStr,
|
|
431
|
-
strand:
|
|
369
|
+
strand: strand === '+' ? 1 : strand === '-' ? -1 : strand === '.' ? 0 : undefined,
|
|
432
370
|
phase: phase.length === 0 || phase === '.' ? undefined : +phase,
|
|
433
371
|
subfeatures: [],
|
|
434
372
|
};
|
|
435
|
-
|
|
373
|
+
parseAttributesJBrowseImpl(attrString, result, shouldUnescape);
|
|
436
374
|
return result;
|
|
437
375
|
}
|
|
376
|
+
function parseFeatureJBrowse(line) {
|
|
377
|
+
return parseFeatureJBrowseImpl(line, true);
|
|
378
|
+
}
|
|
438
379
|
function parseFeatureJBrowseNoUnescape(line) {
|
|
439
|
-
|
|
440
|
-
const seq_id = f[0];
|
|
441
|
-
const source = f[1];
|
|
442
|
-
const type = f[2];
|
|
443
|
-
const startStr = f[3];
|
|
444
|
-
const endStr = f[4];
|
|
445
|
-
const scoreStr = f[5];
|
|
446
|
-
const strand = f[6];
|
|
447
|
-
const phase = f[7];
|
|
448
|
-
const attrString = f[8];
|
|
449
|
-
const result = {
|
|
450
|
-
refName: seq_id.length === 0 || seq_id === '.' ? '' : seq_id,
|
|
451
|
-
source: source.length === 0 || source === '.' ? null : source,
|
|
452
|
-
type: type.length === 0 || type === '.' ? null : type,
|
|
453
|
-
start: startStr.length === 0 || startStr === '.' ? 0 : +startStr - 1,
|
|
454
|
-
end: endStr.length === 0 || endStr === '.' ? 0 : +endStr,
|
|
455
|
-
score: scoreStr.length === 0 || scoreStr === '.' ? undefined : +scoreStr,
|
|
456
|
-
strand: parseStrand(strand),
|
|
457
|
-
phase: phase.length === 0 || phase === '.' ? undefined : +phase,
|
|
458
|
-
subfeatures: [],
|
|
459
|
-
};
|
|
460
|
-
parseAttributesJBrowseNoUnescape(attrString, result);
|
|
461
|
-
return result;
|
|
380
|
+
return parseFeatureJBrowseImpl(line, false);
|
|
462
381
|
}
|
|
463
382
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/esm/api.js
CHANGED
|
@@ -21,15 +21,14 @@ export function parseStringSyncJBrowse(str) {
|
|
|
21
21
|
function stringToRecords(str) {
|
|
22
22
|
const lines = str.split(/\r?\n/);
|
|
23
23
|
const records = [];
|
|
24
|
-
for (
|
|
25
|
-
|
|
26
|
-
if (line.length === 0 || line[0] === '#') {
|
|
24
|
+
for (const line of lines) {
|
|
25
|
+
if (line.length === 0 || line.startsWith('#')) {
|
|
27
26
|
if (line.startsWith('##FASTA')) {
|
|
28
27
|
break;
|
|
29
28
|
}
|
|
30
29
|
continue;
|
|
31
30
|
}
|
|
32
|
-
if (line
|
|
31
|
+
if (line.startsWith('>')) {
|
|
33
32
|
break;
|
|
34
33
|
}
|
|
35
34
|
records.push({
|
|
@@ -52,17 +51,14 @@ export function parseRecords(records) {
|
|
|
52
51
|
const items = [];
|
|
53
52
|
const byId = new Map();
|
|
54
53
|
const orphans = new Map();
|
|
55
|
-
for (
|
|
56
|
-
const record = records[i];
|
|
54
|
+
for (const record of records) {
|
|
57
55
|
const featureLine = (record.hasEscapes
|
|
58
56
|
? parseFeature(record.line)
|
|
59
57
|
: parseFeatureNoUnescape(record.line));
|
|
60
58
|
featureLine.child_features = [];
|
|
61
59
|
featureLine.derived_features = [];
|
|
62
60
|
if (record.lineHash !== undefined) {
|
|
63
|
-
|
|
64
|
-
featureLine.attributes = {};
|
|
65
|
-
}
|
|
61
|
+
featureLine.attributes ??= {};
|
|
66
62
|
featureLine.attributes._lineHash = [String(record.lineHash)];
|
|
67
63
|
}
|
|
68
64
|
const attrs = featureLine.attributes;
|
|
@@ -88,8 +84,8 @@ export function parseRecords(records) {
|
|
|
88
84
|
byId.set(id, feature);
|
|
89
85
|
const waiting = orphans.get(id);
|
|
90
86
|
if (waiting) {
|
|
91
|
-
for (
|
|
92
|
-
featureLine.child_features.push(
|
|
87
|
+
for (const w of waiting) {
|
|
88
|
+
featureLine.child_features.push(w);
|
|
93
89
|
}
|
|
94
90
|
orphans.delete(id);
|
|
95
91
|
}
|
|
@@ -99,12 +95,11 @@ export function parseRecords(records) {
|
|
|
99
95
|
feature = [featureLine];
|
|
100
96
|
}
|
|
101
97
|
if (parents) {
|
|
102
|
-
for (
|
|
103
|
-
const parentId = parents[j];
|
|
98
|
+
for (const parentId of parents) {
|
|
104
99
|
const parent = byId.get(parentId);
|
|
105
100
|
if (parent) {
|
|
106
|
-
for (
|
|
107
|
-
|
|
101
|
+
for (const p of parent) {
|
|
102
|
+
p.child_features.push(feature);
|
|
108
103
|
}
|
|
109
104
|
}
|
|
110
105
|
else {
|
|
@@ -131,8 +126,7 @@ export function parseRecordsJBrowse(records) {
|
|
|
131
126
|
const items = [];
|
|
132
127
|
const byId = new Map();
|
|
133
128
|
const orphans = new Map();
|
|
134
|
-
for (
|
|
135
|
-
const record = records[i];
|
|
129
|
+
for (const record of records) {
|
|
136
130
|
const feature = record.hasEscapes
|
|
137
131
|
? parseFeatureJBrowse(record.line)
|
|
138
132
|
: parseFeatureJBrowseNoUnescape(record.line);
|
|
@@ -154,8 +148,8 @@ export function parseRecordsJBrowse(records) {
|
|
|
154
148
|
byId.set(id, feature);
|
|
155
149
|
const waiting = orphans.get(id);
|
|
156
150
|
if (waiting) {
|
|
157
|
-
for (
|
|
158
|
-
feature.subfeatures.push(
|
|
151
|
+
for (const w of waiting) {
|
|
152
|
+
feature.subfeatures.push(w);
|
|
159
153
|
}
|
|
160
154
|
orphans.delete(id);
|
|
161
155
|
}
|
|
@@ -163,8 +157,7 @@ export function parseRecordsJBrowse(records) {
|
|
|
163
157
|
}
|
|
164
158
|
if (parent) {
|
|
165
159
|
const parents = Array.isArray(parent) ? parent : [parent];
|
|
166
|
-
for (
|
|
167
|
-
const parentId = parents[j];
|
|
160
|
+
for (const parentId of parents) {
|
|
168
161
|
const parentFeature = byId.get(parentId);
|
|
169
162
|
if (parentFeature) {
|
|
170
163
|
parentFeature.subfeatures.push(feature);
|