gff-nostream 3.0.4 → 3.0.6

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/esm/api.js CHANGED
@@ -22,19 +22,14 @@ function stringToRecords(str) {
22
22
  const lines = str.split(/\r?\n/);
23
23
  const records = [];
24
24
  for (const line of lines) {
25
+ if (line.startsWith('##FASTA') || line.startsWith('>')) {
26
+ break;
27
+ }
25
28
  if (line.length === 0 || line.startsWith('#')) {
26
- if (line.startsWith('##FASTA')) {
27
- break;
28
- }
29
29
  continue;
30
30
  }
31
- if (line.startsWith('>')) {
32
- break;
33
- }
34
31
  records.push({
35
32
  line,
36
- start: 0,
37
- end: 0,
38
33
  hasEscapes: line.includes('%'),
39
34
  });
40
35
  }
@@ -66,49 +61,55 @@ export function parseRecords(records) {
66
61
  const parents = attrs?.Parent;
67
62
  if (!ids && !parents) {
68
63
  items.push([featureLine]);
69
- continue;
70
64
  }
71
- let feature;
72
- if (ids) {
73
- const id = ids[0];
74
- const existing = byId.get(id);
75
- if (existing) {
76
- existing.push(featureLine);
77
- feature = existing;
78
- }
79
- else {
80
- feature = [featureLine];
81
- if (!parents) {
82
- items.push(feature);
65
+ else {
66
+ let feature;
67
+ if (ids) {
68
+ const id = ids[0];
69
+ const existing = byId.get(id);
70
+ if (existing) {
71
+ // Multi-location continuation: share child_features/derived_features
72
+ // with the first line so children remain visible across all lines
73
+ // regardless of arrival order.
74
+ featureLine.child_features = existing[0].child_features;
75
+ featureLine.derived_features = existing[0].derived_features;
76
+ existing.push(featureLine);
77
+ feature = existing;
83
78
  }
84
- byId.set(id, feature);
85
- const waiting = orphans.get(id);
86
- if (waiting) {
87
- for (const w of waiting) {
88
- featureLine.child_features.push(w);
79
+ else {
80
+ feature = [featureLine];
81
+ if (!parents) {
82
+ items.push(feature);
83
+ }
84
+ byId.set(id, feature);
85
+ const waiting = orphans.get(id);
86
+ if (waiting) {
87
+ for (const w of waiting) {
88
+ featureLine.child_features.push(w);
89
+ }
90
+ orphans.delete(id);
89
91
  }
90
- orphans.delete(id);
91
92
  }
92
93
  }
93
- }
94
- else {
95
- feature = [featureLine];
96
- }
97
- if (parents) {
98
- for (const parentId of parents) {
99
- const parent = byId.get(parentId);
100
- if (parent) {
101
- for (const p of parent) {
102
- p.child_features.push(feature);
94
+ else {
95
+ feature = [featureLine];
96
+ }
97
+ if (parents) {
98
+ for (const parentId of parents) {
99
+ const parent = byId.get(parentId);
100
+ if (parent) {
101
+ // child_features is shared across all parent feature lines,
102
+ // so push once via the first line.
103
+ parent[0].child_features.push(feature);
103
104
  }
104
- }
105
- else {
106
- let arr = orphans.get(parentId);
107
- if (!arr) {
108
- arr = [];
109
- orphans.set(parentId, arr);
105
+ else {
106
+ let arr = orphans.get(parentId);
107
+ if (!arr) {
108
+ arr = [];
109
+ orphans.set(parentId, arr);
110
+ }
111
+ arr.push(feature);
110
112
  }
111
- arr.push(feature);
112
113
  }
113
114
  }
114
115
  }
@@ -133,15 +134,16 @@ export function parseRecordsJBrowse(records) {
133
134
  if (record.lineHash !== undefined) {
134
135
  feature._lineHash = String(record.lineHash);
135
136
  }
136
- const id = feature.id;
137
+ // attribute parsing collapses single-element arrays to scalars, so id can
138
+ // be string | string[]; defensively take the first if multi-valued.
139
+ const rawId = feature.id;
140
+ const id = Array.isArray(rawId) ? rawId[0] : rawId;
137
141
  const parent = feature.parent;
138
142
  if (!id && !parent) {
139
143
  items.push(feature);
140
- continue;
141
144
  }
142
- if (id) {
143
- const existing = byId.get(id);
144
- if (!existing) {
145
+ else if (!id || !byId.has(id)) {
146
+ if (id) {
145
147
  if (!parent) {
146
148
  items.push(feature);
147
149
  }
@@ -154,21 +156,21 @@ export function parseRecordsJBrowse(records) {
154
156
  orphans.delete(id);
155
157
  }
156
158
  }
157
- }
158
- if (parent) {
159
- const parents = Array.isArray(parent) ? parent : [parent];
160
- for (const parentId of parents) {
161
- const parentFeature = byId.get(parentId);
162
- if (parentFeature) {
163
- parentFeature.subfeatures.push(feature);
164
- }
165
- else {
166
- let arr = orphans.get(parentId);
167
- if (!arr) {
168
- arr = [];
169
- orphans.set(parentId, arr);
159
+ if (parent) {
160
+ const parents = Array.isArray(parent) ? parent : [parent];
161
+ for (const parentId of parents) {
162
+ const parentFeature = byId.get(parentId);
163
+ if (parentFeature) {
164
+ parentFeature.subfeatures.push(feature);
165
+ }
166
+ else {
167
+ let arr = orphans.get(parentId);
168
+ if (!arr) {
169
+ arr = [];
170
+ orphans.set(parentId, arr);
171
+ }
172
+ arr.push(feature);
170
173
  }
171
- arr.push(feature);
172
174
  }
173
175
  }
174
176
  }
package/esm/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/esm/util.d.ts CHANGED
@@ -35,21 +35,6 @@ export declare function parseFeature(line: string): GFF3FeatureLine;
35
35
  * @returns The parsed feature
36
36
  */
37
37
  export declare function parseFeatureNoUnescape(line: string): GFF3FeatureLine;
38
- /**
39
- * Parse a GFF3 feature from a pre-split fields array
40
- *
41
- * @param f - Array of 9 GFF3 column values (use null or '.' for empty values)
42
- * @returns The parsed feature
43
- */
44
- export declare function parseFieldsArray(f: (string | null | undefined)[]): GFF3FeatureLine;
45
- /**
46
- * Parse a GFF3 feature from a pre-split fields array without unescaping.
47
- * Fast path for data known to contain no escaped characters.
48
- *
49
- * @param f - Array of 9 GFF3 column values (use null or '.' for empty values)
50
- * @returns The parsed feature
51
- */
52
- export declare function parseFieldsArrayNoUnescape(f: (string | null | undefined)[]): GFF3FeatureLine;
53
38
  /**
54
39
  * Parse a GFF3 directive line.
55
40
  *
package/esm/util.js CHANGED
@@ -1,7 +1,6 @@
1
1
  // Fast, low-level functions for parsing and formatting GFF3.
2
2
  // JavaScript port of Robert Buels's Bio::GFF3::LowLevel Perl module.
3
3
  const directiveRegex = /^\s*##\s*(\S+)\s*(.*)/;
4
- const lineEndRegex = /\r?\n$/;
5
4
  const whitespaceRegex = /\s+/;
6
5
  const nonDigitRegex = /\D/g;
7
6
  const HEX_LOOKUP = {};
@@ -106,30 +105,28 @@ export function parseAttributes(attrString) {
106
105
  export function parseAttributesNoUnescape(attrString) {
107
106
  return parseAttributesImpl(attrString, false);
108
107
  }
109
- function normImpl(s, shouldUnescape) {
110
- if (s.length === 0 || s === '.') {
111
- return null;
112
- }
113
- return shouldUnescape ? unescape(s) : s;
108
+ function isEmpty(s) {
109
+ return s.length === 0 || s === '.';
110
+ }
111
+ function strField(s, shouldUnescape, empty) {
112
+ return isEmpty(s) ? empty : shouldUnescape ? unescape(s) : s;
113
+ }
114
+ function numField(s) {
115
+ return isEmpty(s) ? null : +s;
114
116
  }
115
117
  function parseFeatureImpl(line, shouldUnescape) {
116
118
  const f = line.split('\t');
117
- const startStr = f[3];
118
- const endStr = f[4];
119
- const scoreStr = f[5];
120
- const strand = f[6];
121
- const phase = f[7];
122
119
  const attrString = f[8];
123
120
  return {
124
- seq_id: normImpl(f[0], shouldUnescape),
125
- source: normImpl(f[1], shouldUnescape),
126
- type: normImpl(f[2], shouldUnescape),
127
- start: startStr.length === 0 || startStr === '.' ? null : +startStr,
128
- end: endStr.length === 0 || endStr === '.' ? null : +endStr,
129
- score: scoreStr.length === 0 || scoreStr === '.' ? null : +scoreStr,
130
- strand: normImpl(strand, false),
131
- phase: normImpl(phase, false),
132
- attributes: attrString.length === 0 || attrString === '.'
121
+ seq_id: strField(f[0], shouldUnescape, null),
122
+ source: strField(f[1], shouldUnescape, null),
123
+ type: strField(f[2], shouldUnescape, null),
124
+ start: numField(f[3]),
125
+ end: numField(f[4]),
126
+ score: numField(f[5]),
127
+ strand: strField(f[6], false, null),
128
+ phase: strField(f[7], false, null),
129
+ attributes: isEmpty(attrString)
133
130
  ? null
134
131
  : parseAttributesImpl(attrString, shouldUnescape),
135
132
  };
@@ -153,49 +150,6 @@ export function parseFeature(line) {
153
150
  export function parseFeatureNoUnescape(line) {
154
151
  return parseFeatureImpl(line, false);
155
152
  }
156
- function parseFieldsArrayImpl(f, shouldUnescape) {
157
- const seq_id = f[0];
158
- const source = f[1];
159
- const type = f[2];
160
- const startStr = f[3];
161
- const endStr = f[4];
162
- const scoreStr = f[5];
163
- const strand = f[6];
164
- const phase = f[7];
165
- const attrString = f[8];
166
- return {
167
- seq_id: seq_id ? normImpl(seq_id, shouldUnescape) : null,
168
- source: source ? normImpl(source, shouldUnescape) : null,
169
- type: type ? normImpl(type, shouldUnescape) : null,
170
- start: !startStr || startStr === '.' ? null : +startStr,
171
- end: !endStr || endStr === '.' ? null : +endStr,
172
- score: !scoreStr || scoreStr === '.' ? null : +scoreStr,
173
- strand: strand && strand !== '.' ? strand : null,
174
- phase: phase && phase !== '.' ? phase : null,
175
- attributes: !attrString || attrString === '.'
176
- ? null
177
- : parseAttributesImpl(attrString, shouldUnescape),
178
- };
179
- }
180
- /**
181
- * Parse a GFF3 feature from a pre-split fields array
182
- *
183
- * @param f - Array of 9 GFF3 column values (use null or '.' for empty values)
184
- * @returns The parsed feature
185
- */
186
- export function parseFieldsArray(f) {
187
- return parseFieldsArrayImpl(f, true);
188
- }
189
- /**
190
- * Parse a GFF3 feature from a pre-split fields array without unescaping.
191
- * Fast path for data known to contain no escaped characters.
192
- *
193
- * @param f - Array of 9 GFF3 column values (use null or '.' for empty values)
194
- * @returns The parsed feature
195
- */
196
- export function parseFieldsArrayNoUnescape(f) {
197
- return parseFieldsArrayImpl(f, false);
198
- }
199
153
  /**
200
154
  * Parse a GFF3 directive line.
201
155
  *
@@ -207,28 +161,27 @@ export function parseDirective(line) {
207
161
  if (!match) {
208
162
  return null;
209
163
  }
210
- const [, name] = match;
211
- let [, , contents] = match;
164
+ const name = match[1];
165
+ const contents = match[2];
212
166
  const parsed = { directive: name };
213
167
  if (contents.length) {
214
- contents = contents.replace(lineEndRegex, '');
215
- parsed.value = contents;
168
+ parsed.value = contents.trimEnd();
216
169
  }
217
170
  if (name === 'sequence-region') {
218
171
  const c = contents.split(whitespaceRegex, 3);
219
172
  return {
220
173
  ...parsed,
221
174
  seq_id: c[0],
222
- start: c[1]?.replaceAll(nonDigitRegex, ''),
223
- end: c[2]?.replaceAll(nonDigitRegex, ''),
175
+ start: c[1].replaceAll(nonDigitRegex, ''),
176
+ end: c[2].replaceAll(nonDigitRegex, ''),
224
177
  };
225
178
  }
226
179
  else if (name === 'genome-build') {
227
180
  const [source, buildName] = contents.split(whitespaceRegex, 2);
228
181
  return {
229
182
  ...parsed,
230
- source,
231
- buildName,
183
+ source: source,
184
+ buildName: buildName,
232
185
  };
233
186
  }
234
187
  return parsed;
@@ -286,10 +239,6 @@ function parseAttributesJBrowseImpl(attrString, result, shouldUnescape) {
286
239
  const eqIdx = attrString.indexOf('=', start);
287
240
  if (eqIdx !== -1 && eqIdx < semiIdx && eqIdx + 1 < semiIdx) {
288
241
  const tag = attrString.slice(start, eqIdx);
289
- if (tag === '_lineHash') {
290
- start = semiIdx + 1;
291
- continue;
292
- }
293
242
  let key = COMMON_ATTRS[tag];
294
243
  if (key === undefined) {
295
244
  key = tag.toLowerCase();
@@ -322,38 +271,27 @@ export function parseAttributesJBrowse(attrString, result) {
322
271
  export function parseAttributesJBrowseNoUnescape(attrString, result) {
323
272
  parseAttributesJBrowseImpl(attrString, result, false);
324
273
  }
274
+ const STRAND_MAP = {
275
+ '+': 1,
276
+ '-': -1,
277
+ '.': 0,
278
+ };
325
279
  function parseFeatureJBrowseImpl(line, shouldUnescape) {
326
280
  const f = line.split('\t');
327
- const seq_id = f[0];
328
- const source = f[1];
329
- const type = f[2];
330
281
  const startStr = f[3];
331
282
  const endStr = f[4];
332
283
  const scoreStr = f[5];
333
- const strand = f[6];
334
284
  const phase = f[7];
335
285
  const attrString = f[8];
336
286
  const result = {
337
- refName: seq_id.length === 0 || seq_id === '.'
338
- ? ''
339
- : shouldUnescape
340
- ? unescape(seq_id)
341
- : seq_id,
342
- source: source.length === 0 || source === '.'
343
- ? null
344
- : shouldUnescape
345
- ? unescape(source)
346
- : source,
347
- type: type.length === 0 || type === '.'
348
- ? null
349
- : shouldUnescape
350
- ? unescape(type)
351
- : type,
352
- start: startStr.length === 0 || startStr === '.' ? 0 : +startStr - 1,
353
- end: endStr.length === 0 || endStr === '.' ? 0 : +endStr,
354
- score: scoreStr.length === 0 || scoreStr === '.' ? undefined : +scoreStr,
355
- strand: strand === '+' ? 1 : strand === '-' ? -1 : strand === '.' ? 0 : undefined,
356
- phase: phase.length === 0 || phase === '.' ? undefined : +phase,
287
+ refName: strField(f[0], shouldUnescape, ''),
288
+ source: strField(f[1], shouldUnescape, null),
289
+ type: strField(f[2], shouldUnescape, null),
290
+ start: isEmpty(startStr) ? 0 : +startStr - 1,
291
+ end: isEmpty(endStr) ? 0 : +endStr,
292
+ score: isEmpty(scoreStr) ? undefined : +scoreStr,
293
+ strand: STRAND_MAP[f[6]],
294
+ phase: isEmpty(phase) ? undefined : +phase,
357
295
  subfeatures: [],
358
296
  };
359
297
  parseAttributesJBrowseImpl(attrString, result, shouldUnescape);
package/esm/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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gff-nostream",
3
- "version": "3.0.4",
3
+ "version": "3.0.6",
4
4
  "description": "utilities to read GFF3 data",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -8,7 +8,7 @@
8
8
  "url": "https://github.com/GMOD/gff-nostream.git"
9
9
  },
10
10
  "type": "module",
11
- "types": "./dist/index.d.ts",
11
+ "main": "dist/index.js",
12
12
  "exports": {
13
13
  "import": "./esm/index.js",
14
14
  "require": "./dist/index.js"
@@ -25,18 +25,19 @@
25
25
  ],
26
26
  "scripts": {
27
27
  "test": "vitest",
28
- "benchonly": "vitest bench",
29
- "bench": "./scripts/build-both-branches.sh \"$BRANCH1\" \"$BRANCH2\" && vitest bench",
30
- "clean": "rm -rf dist esm",
31
- "lint": "eslint --report-unused-disable-directives --max-warnings 0",
28
+ "clean": "rimraf dist esm",
32
29
  "format": "prettier --write .",
33
- "prebuild": "yarn clean",
34
- "build:esm": "tsc --target esnext --outDir esm",
35
- "build:es5": "tsc --target es2020 --module commonjs --moduleResolution bundler --outDir dist",
30
+ "lint": "eslint --report-unused-disable-directives --max-warnings 0",
31
+ "prebuild": "pnpm clean",
32
+ "build:esm": "tsc --outDir esm",
33
+ "build:es5": "tsc --module commonjs --moduleResolution bundler --outDir dist",
36
34
  "postbuild:es5": "echo '{\"type\": \"commonjs\"}' > dist/package.json",
37
- "build": "yarn build:es5 && yarn build:esm",
38
- "prepublishOnly": "yarn test --run && yarn build",
39
- "postversion": "git push --follow-tags"
35
+ "preversion": "pnpm lint && pnpm test --run && pnpm build",
36
+ "postversion": "git push --follow-tags",
37
+ "build": "pnpm build:esm && pnpm build:es5",
38
+ "benchonly": "vitest bench",
39
+ "bench": "./scripts/build-both-branches.sh \"$BRANCH1\" \"$BRANCH2\" && vitest bench",
40
+ "prepublishOnly": "pnpm test --run && pnpm build"
40
41
  },
41
42
  "keywords": [
42
43
  "bionode",
@@ -46,12 +47,14 @@
46
47
  "genomics"
47
48
  ],
48
49
  "devDependencies": {
49
- "@types/node": "^25.6.0",
50
- "eslint": "^10.2.1",
51
- "eslint-plugin-import": "^2.32.0",
50
+ "@eslint/js": "^10.0.1",
51
+ "@types/node": "^25.6.2",
52
+ "eslint": "^10.3.0",
53
+ "eslint-plugin-import-x": "^4.16.2",
52
54
  "prettier": "^3.8.3",
55
+ "rimraf": "^6.1.3",
53
56
  "typescript": "^6.0.3",
54
- "typescript-eslint": "^8.59.0",
57
+ "typescript-eslint": "^8.59.2",
55
58
  "vitest": "^4.1.5"
56
59
  }
57
60
  }