gff-nostream 3.0.5 → 3.0.8
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 +63 -10
- package/dist/api.d.ts +4 -2
- package/dist/api.js +65 -63
- package/dist/api.js.map +1 -1
- package/dist/util.d.ts +0 -15
- package/dist/util.js +33 -97
- package/dist/util.js.map +1 -1
- package/esm/api.d.ts +4 -2
- package/esm/api.js +65 -63
- package/esm/api.js.map +1 -1
- package/esm/util.d.ts +0 -15
- package/esm/util.js +33 -95
- package/esm/util.js.map +1 -1
- package/package.json +5 -5
- package/src/api.ts +67 -67
- package/src/util.ts +46 -120
package/README.md
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
[](https://npmjs.org/package/gff-nostream)
|
|
4
4
|
[](https://github.com/GMOD/gff-nostream/actions?query=branch%3Amain+workflow%3APush+)
|
|
5
5
|
|
|
6
|
-
Parse GFF3 data. A simplified version of
|
|
6
|
+
Parse GFF3 data. A simplified version of
|
|
7
|
+
[@gmod/gff](https://github.com/GMOD/gff-js) with no Node.js stream dependency.
|
|
7
8
|
|
|
8
9
|
## Install
|
|
9
10
|
|
|
10
|
-
$
|
|
11
|
+
$ pnpm add gff-nostream
|
|
11
12
|
|
|
12
13
|
## Usage
|
|
13
14
|
|
|
@@ -15,13 +16,25 @@ Parse GFF3 data. A simplified version of [@gmod/gff](https://github.com/GMOD/gff
|
|
|
15
16
|
import { parseStringSync } from 'gff-nostream'
|
|
16
17
|
import fs from 'fs'
|
|
17
18
|
|
|
18
|
-
const
|
|
19
|
-
|
|
19
|
+
const features = parseStringSync(fs.readFileSync('my_annotations.gff3', 'utf8'))
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
For browser or other non-Node environments, pass any GFF3 string directly — for
|
|
23
|
+
example from `fetch`:
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
import { parseStringSyncJBrowse } from 'gff-nostream'
|
|
27
|
+
|
|
28
|
+
const text = await fetch('my_annotations.gff3').then(r => r.text())
|
|
29
|
+
const features = parseStringSyncJBrowse(text)
|
|
20
30
|
```
|
|
21
31
|
|
|
22
32
|
## Object format
|
|
23
33
|
|
|
24
|
-
|
|
34
|
+
### GFF3 format
|
|
35
|
+
|
|
36
|
+
Features are returned as arrays of all lines sharing the same ID (to represent
|
|
37
|
+
multi-location features). Values that are `.` in GFF3 are `null` in the output.
|
|
25
38
|
|
|
26
39
|
A simple feature located in one place:
|
|
27
40
|
|
|
@@ -85,28 +98,68 @@ A CDS called `cds00001` located in two places:
|
|
|
85
98
|
]
|
|
86
99
|
```
|
|
87
100
|
|
|
101
|
+
### JBrowse format
|
|
102
|
+
|
|
103
|
+
The `JBrowse` variants return flat objects with coordinates converted to 0-based
|
|
104
|
+
half-open, `strand` as a number (`1`/`-1`/`0`), attributes spread as lowercase
|
|
105
|
+
top-level keys, and `subfeatures` instead of `child_features`.
|
|
106
|
+
|
|
107
|
+
The same gene feature in JBrowse format:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"refName": "ctg123",
|
|
112
|
+
"source": null,
|
|
113
|
+
"type": "gene",
|
|
114
|
+
"start": 999,
|
|
115
|
+
"end": 9000,
|
|
116
|
+
"strand": 1,
|
|
117
|
+
"subfeatures": [],
|
|
118
|
+
"id": "gene00001",
|
|
119
|
+
"name": "EDEN"
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Note: multi-location features (same ID on multiple lines) are not merged in
|
|
124
|
+
JBrowse format — only the first occurrence is kept.
|
|
125
|
+
|
|
88
126
|
## API
|
|
89
127
|
|
|
90
128
|
### `parseStringSync(str: string): GFF3Feature[]`
|
|
91
129
|
|
|
92
|
-
Synchronously parse a GFF3 string and return an array of features.
|
|
130
|
+
Synchronously parse a GFF3 string and return an array of features. Comments,
|
|
131
|
+
directives, and `##FASTA` sections are ignored.
|
|
93
132
|
|
|
94
133
|
### `parseStringSyncJBrowse(str: string): JBrowseFeature[]`
|
|
95
134
|
|
|
96
|
-
Synchronously parse a GFF3 string and return features in JBrowse format
|
|
135
|
+
Synchronously parse a GFF3 string and return features in JBrowse format.
|
|
97
136
|
|
|
98
137
|
### `parseRecords(records: LineRecord[]): GFF3Feature[]`
|
|
99
138
|
|
|
100
|
-
Parse an array of `LineRecord` objects. Useful when managing raw line data
|
|
139
|
+
Parse an array of `LineRecord` objects. Useful when managing raw line data
|
|
140
|
+
directly (e.g. from a tabix-indexed file with byte offsets).
|
|
101
141
|
|
|
102
142
|
### `parseRecordsJBrowse(records: LineRecord[]): JBrowseFeature[]`
|
|
103
143
|
|
|
104
144
|
Same as `parseRecords` but returns JBrowse-format features.
|
|
105
145
|
|
|
146
|
+
### `LineRecord`
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
interface LineRecord {
|
|
150
|
+
line: string
|
|
151
|
+
hasEscapes: boolean // set true when line contains '%' to enable URL-decoding
|
|
152
|
+
lineHash?: string | number // propagated to attributes._lineHash on the parsed feature
|
|
153
|
+
start?: number // byte offset passthrough (not used by the parser)
|
|
154
|
+
end?: number // byte offset passthrough (not used by the parser)
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
106
158
|
## Publishing
|
|
107
159
|
|
|
108
|
-
[Trusted publishing](https://docs.npmjs.com/about-trusted-publishing) via GitHub
|
|
160
|
+
[Trusted publishing](https://docs.npmjs.com/about-trusted-publishing) via GitHub
|
|
161
|
+
Actions.
|
|
109
162
|
|
|
110
163
|
```bash
|
|
111
|
-
|
|
164
|
+
pnpm version patch # or minor/major
|
|
112
165
|
```
|
package/dist/api.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ import type { GFF3Feature, JBrowseFeature } from './util.ts';
|
|
|
2
2
|
export interface LineRecord {
|
|
3
3
|
line: string;
|
|
4
4
|
lineHash?: string | number;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** Optional passthrough byte offsets — not used by the parser */
|
|
6
|
+
start?: number;
|
|
7
|
+
/** Optional passthrough byte offsets — not used by the parser */
|
|
8
|
+
end?: number;
|
|
7
9
|
hasEscapes: boolean;
|
|
8
10
|
}
|
|
9
11
|
/**
|
package/dist/api.js
CHANGED
|
@@ -28,19 +28,14 @@ function stringToRecords(str) {
|
|
|
28
28
|
const lines = str.split(/\r?\n/);
|
|
29
29
|
const records = [];
|
|
30
30
|
for (const line of lines) {
|
|
31
|
+
if (line.startsWith('##FASTA') || line.startsWith('>')) {
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
31
34
|
if (line.length === 0 || line.startsWith('#')) {
|
|
32
|
-
if (line.startsWith('##FASTA')) {
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
35
|
continue;
|
|
36
36
|
}
|
|
37
|
-
if (line.startsWith('>')) {
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
37
|
records.push({
|
|
41
38
|
line,
|
|
42
|
-
start: 0,
|
|
43
|
-
end: 0,
|
|
44
39
|
hasEscapes: line.includes('%'),
|
|
45
40
|
});
|
|
46
41
|
}
|
|
@@ -72,49 +67,55 @@ function parseRecords(records) {
|
|
|
72
67
|
const parents = attrs?.Parent;
|
|
73
68
|
if (!ids && !parents) {
|
|
74
69
|
items.push([featureLine]);
|
|
75
|
-
continue;
|
|
76
70
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
existing
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
71
|
+
else {
|
|
72
|
+
let feature;
|
|
73
|
+
if (ids) {
|
|
74
|
+
const id = ids[0];
|
|
75
|
+
const existing = byId.get(id);
|
|
76
|
+
if (existing) {
|
|
77
|
+
// Multi-location continuation: share child_features/derived_features
|
|
78
|
+
// with the first line so children remain visible across all lines
|
|
79
|
+
// regardless of arrival order.
|
|
80
|
+
featureLine.child_features = existing[0].child_features;
|
|
81
|
+
featureLine.derived_features = existing[0].derived_features;
|
|
82
|
+
existing.push(featureLine);
|
|
83
|
+
feature = existing;
|
|
89
84
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
85
|
+
else {
|
|
86
|
+
feature = [featureLine];
|
|
87
|
+
if (!parents) {
|
|
88
|
+
items.push(feature);
|
|
89
|
+
}
|
|
90
|
+
byId.set(id, feature);
|
|
91
|
+
const waiting = orphans.get(id);
|
|
92
|
+
if (waiting) {
|
|
93
|
+
for (const w of waiting) {
|
|
94
|
+
featureLine.child_features.push(w);
|
|
95
|
+
}
|
|
96
|
+
orphans.delete(id);
|
|
95
97
|
}
|
|
96
|
-
orphans.delete(id);
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
100
|
+
else {
|
|
101
|
+
feature = [featureLine];
|
|
102
|
+
}
|
|
103
|
+
if (parents) {
|
|
104
|
+
for (const parentId of parents) {
|
|
105
|
+
const parent = byId.get(parentId);
|
|
106
|
+
if (parent) {
|
|
107
|
+
// child_features is shared across all parent feature lines,
|
|
108
|
+
// so push once via the first line.
|
|
109
|
+
parent[0].child_features.push(feature);
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
else {
|
|
112
|
+
let arr = orphans.get(parentId);
|
|
113
|
+
if (!arr) {
|
|
114
|
+
arr = [];
|
|
115
|
+
orphans.set(parentId, arr);
|
|
116
|
+
}
|
|
117
|
+
arr.push(feature);
|
|
116
118
|
}
|
|
117
|
-
arr.push(feature);
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
}
|
|
@@ -139,15 +140,16 @@ function parseRecordsJBrowse(records) {
|
|
|
139
140
|
if (record.lineHash !== undefined) {
|
|
140
141
|
feature._lineHash = String(record.lineHash);
|
|
141
142
|
}
|
|
142
|
-
|
|
143
|
+
// attribute parsing collapses single-element arrays to scalars, so id can
|
|
144
|
+
// be string | string[]; defensively take the first if multi-valued.
|
|
145
|
+
const rawId = feature.id;
|
|
146
|
+
const id = Array.isArray(rawId) ? rawId[0] : rawId;
|
|
143
147
|
const parent = feature.parent;
|
|
144
148
|
if (!id && !parent) {
|
|
145
149
|
items.push(feature);
|
|
146
|
-
continue;
|
|
147
150
|
}
|
|
148
|
-
if (id) {
|
|
149
|
-
|
|
150
|
-
if (!existing) {
|
|
151
|
+
else if (!id || !byId.has(id)) {
|
|
152
|
+
if (id) {
|
|
151
153
|
if (!parent) {
|
|
152
154
|
items.push(feature);
|
|
153
155
|
}
|
|
@@ -160,21 +162,21 @@ function parseRecordsJBrowse(records) {
|
|
|
160
162
|
orphans.delete(id);
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
165
|
+
if (parent) {
|
|
166
|
+
const parents = Array.isArray(parent) ? parent : [parent];
|
|
167
|
+
for (const parentId of parents) {
|
|
168
|
+
const parentFeature = byId.get(parentId);
|
|
169
|
+
if (parentFeature) {
|
|
170
|
+
parentFeature.subfeatures.push(feature);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
let arr = orphans.get(parentId);
|
|
174
|
+
if (!arr) {
|
|
175
|
+
arr = [];
|
|
176
|
+
orphans.set(parentId, arr);
|
|
177
|
+
}
|
|
178
|
+
arr.push(feature);
|
|
176
179
|
}
|
|
177
|
-
arr.push(feature);
|
|
178
180
|
}
|
|
179
181
|
}
|
|
180
182
|
}
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/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/dist/util.js
CHANGED
|
@@ -7,15 +7,12 @@ exports.parseAttributes = parseAttributes;
|
|
|
7
7
|
exports.parseAttributesNoUnescape = parseAttributesNoUnescape;
|
|
8
8
|
exports.parseFeature = parseFeature;
|
|
9
9
|
exports.parseFeatureNoUnescape = parseFeatureNoUnescape;
|
|
10
|
-
exports.parseFieldsArray = parseFieldsArray;
|
|
11
|
-
exports.parseFieldsArrayNoUnescape = parseFieldsArrayNoUnescape;
|
|
12
10
|
exports.parseDirective = parseDirective;
|
|
13
11
|
exports.parseAttributesJBrowse = parseAttributesJBrowse;
|
|
14
12
|
exports.parseAttributesJBrowseNoUnescape = parseAttributesJBrowseNoUnescape;
|
|
15
13
|
exports.parseFeatureJBrowse = parseFeatureJBrowse;
|
|
16
14
|
exports.parseFeatureJBrowseNoUnescape = parseFeatureJBrowseNoUnescape;
|
|
17
15
|
const directiveRegex = /^\s*##\s*(\S+)\s*(.*)/;
|
|
18
|
-
const lineEndRegex = /\r?\n$/;
|
|
19
16
|
const whitespaceRegex = /\s+/;
|
|
20
17
|
const nonDigitRegex = /\D/g;
|
|
21
18
|
const HEX_LOOKUP = {};
|
|
@@ -120,30 +117,28 @@ function parseAttributes(attrString) {
|
|
|
120
117
|
function parseAttributesNoUnescape(attrString) {
|
|
121
118
|
return parseAttributesImpl(attrString, false);
|
|
122
119
|
}
|
|
123
|
-
function
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return shouldUnescape ? unescape(s) : s;
|
|
120
|
+
function isEmpty(s) {
|
|
121
|
+
return s.length === 0 || s === '.';
|
|
122
|
+
}
|
|
123
|
+
function strField(s, shouldUnescape, empty) {
|
|
124
|
+
return isEmpty(s) ? empty : shouldUnescape ? unescape(s) : s;
|
|
125
|
+
}
|
|
126
|
+
function numField(s) {
|
|
127
|
+
return isEmpty(s) ? null : +s;
|
|
128
128
|
}
|
|
129
129
|
function parseFeatureImpl(line, shouldUnescape) {
|
|
130
130
|
const f = line.split('\t');
|
|
131
|
-
const startStr = f[3];
|
|
132
|
-
const endStr = f[4];
|
|
133
|
-
const scoreStr = f[5];
|
|
134
|
-
const strand = f[6];
|
|
135
|
-
const phase = f[7];
|
|
136
131
|
const attrString = f[8];
|
|
137
132
|
return {
|
|
138
|
-
seq_id:
|
|
139
|
-
source:
|
|
140
|
-
type:
|
|
141
|
-
start:
|
|
142
|
-
end:
|
|
143
|
-
score:
|
|
144
|
-
strand:
|
|
145
|
-
phase:
|
|
146
|
-
attributes: attrString
|
|
133
|
+
seq_id: strField(f[0], shouldUnescape, null),
|
|
134
|
+
source: strField(f[1], shouldUnescape, null),
|
|
135
|
+
type: strField(f[2], shouldUnescape, null),
|
|
136
|
+
start: numField(f[3]),
|
|
137
|
+
end: numField(f[4]),
|
|
138
|
+
score: numField(f[5]),
|
|
139
|
+
strand: strField(f[6], false, null),
|
|
140
|
+
phase: strField(f[7], false, null),
|
|
141
|
+
attributes: isEmpty(attrString)
|
|
147
142
|
? null
|
|
148
143
|
: parseAttributesImpl(attrString, shouldUnescape),
|
|
149
144
|
};
|
|
@@ -167,49 +162,6 @@ function parseFeature(line) {
|
|
|
167
162
|
function parseFeatureNoUnescape(line) {
|
|
168
163
|
return parseFeatureImpl(line, false);
|
|
169
164
|
}
|
|
170
|
-
function parseFieldsArrayImpl(f, shouldUnescape) {
|
|
171
|
-
const seq_id = f[0];
|
|
172
|
-
const source = f[1];
|
|
173
|
-
const type = f[2];
|
|
174
|
-
const startStr = f[3];
|
|
175
|
-
const endStr = f[4];
|
|
176
|
-
const scoreStr = f[5];
|
|
177
|
-
const strand = f[6];
|
|
178
|
-
const phase = f[7];
|
|
179
|
-
const attrString = f[8];
|
|
180
|
-
return {
|
|
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),
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Parse a GFF3 feature from a pre-split fields array
|
|
196
|
-
*
|
|
197
|
-
* @param f - Array of 9 GFF3 column values (use null or '.' for empty values)
|
|
198
|
-
* @returns The parsed feature
|
|
199
|
-
*/
|
|
200
|
-
function parseFieldsArray(f) {
|
|
201
|
-
return parseFieldsArrayImpl(f, true);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Parse a GFF3 feature from a pre-split fields array without unescaping.
|
|
205
|
-
* Fast path for data known to contain no escaped characters.
|
|
206
|
-
*
|
|
207
|
-
* @param f - Array of 9 GFF3 column values (use null or '.' for empty values)
|
|
208
|
-
* @returns The parsed feature
|
|
209
|
-
*/
|
|
210
|
-
function parseFieldsArrayNoUnescape(f) {
|
|
211
|
-
return parseFieldsArrayImpl(f, false);
|
|
212
|
-
}
|
|
213
165
|
/**
|
|
214
166
|
* Parse a GFF3 directive line.
|
|
215
167
|
*
|
|
@@ -221,12 +173,11 @@ function parseDirective(line) {
|
|
|
221
173
|
if (!match) {
|
|
222
174
|
return null;
|
|
223
175
|
}
|
|
224
|
-
const
|
|
225
|
-
|
|
176
|
+
const name = match[1];
|
|
177
|
+
const contents = match[2];
|
|
226
178
|
const parsed = { directive: name };
|
|
227
179
|
if (contents.length) {
|
|
228
|
-
|
|
229
|
-
parsed.value = contents;
|
|
180
|
+
parsed.value = contents.trimEnd();
|
|
230
181
|
}
|
|
231
182
|
if (name === 'sequence-region') {
|
|
232
183
|
const c = contents.split(whitespaceRegex, 3);
|
|
@@ -300,10 +251,6 @@ function parseAttributesJBrowseImpl(attrString, result, shouldUnescape) {
|
|
|
300
251
|
const eqIdx = attrString.indexOf('=', start);
|
|
301
252
|
if (eqIdx !== -1 && eqIdx < semiIdx && eqIdx + 1 < semiIdx) {
|
|
302
253
|
const tag = attrString.slice(start, eqIdx);
|
|
303
|
-
if (tag === '_lineHash') {
|
|
304
|
-
start = semiIdx + 1;
|
|
305
|
-
continue;
|
|
306
|
-
}
|
|
307
254
|
let key = COMMON_ATTRS[tag];
|
|
308
255
|
if (key === undefined) {
|
|
309
256
|
key = tag.toLowerCase();
|
|
@@ -336,38 +283,27 @@ function parseAttributesJBrowse(attrString, result) {
|
|
|
336
283
|
function parseAttributesJBrowseNoUnescape(attrString, result) {
|
|
337
284
|
parseAttributesJBrowseImpl(attrString, result, false);
|
|
338
285
|
}
|
|
286
|
+
const STRAND_MAP = {
|
|
287
|
+
'+': 1,
|
|
288
|
+
'-': -1,
|
|
289
|
+
'.': 0,
|
|
290
|
+
};
|
|
339
291
|
function parseFeatureJBrowseImpl(line, shouldUnescape) {
|
|
340
292
|
const f = line.split('\t');
|
|
341
|
-
const seq_id = f[0];
|
|
342
|
-
const source = f[1];
|
|
343
|
-
const type = f[2];
|
|
344
293
|
const startStr = f[3];
|
|
345
294
|
const endStr = f[4];
|
|
346
295
|
const scoreStr = f[5];
|
|
347
|
-
const strand = f[6];
|
|
348
296
|
const phase = f[7];
|
|
349
297
|
const attrString = f[8];
|
|
350
298
|
const result = {
|
|
351
|
-
refName:
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
? unescape(source)
|
|
360
|
-
: source,
|
|
361
|
-
type: type.length === 0 || type === '.'
|
|
362
|
-
? null
|
|
363
|
-
: shouldUnescape
|
|
364
|
-
? unescape(type)
|
|
365
|
-
: type,
|
|
366
|
-
start: startStr.length === 0 || startStr === '.' ? 0 : +startStr - 1,
|
|
367
|
-
end: endStr.length === 0 || endStr === '.' ? 0 : +endStr,
|
|
368
|
-
score: scoreStr.length === 0 || scoreStr === '.' ? undefined : +scoreStr,
|
|
369
|
-
strand: strand === '+' ? 1 : strand === '-' ? -1 : strand === '.' ? 0 : undefined,
|
|
370
|
-
phase: phase.length === 0 || phase === '.' ? undefined : +phase,
|
|
299
|
+
refName: strField(f[0], shouldUnescape, ''),
|
|
300
|
+
source: strField(f[1], shouldUnescape, null),
|
|
301
|
+
type: strField(f[2], shouldUnescape, null),
|
|
302
|
+
start: isEmpty(startStr) ? 0 : +startStr - 1,
|
|
303
|
+
end: isEmpty(endStr) ? 0 : +endStr,
|
|
304
|
+
score: isEmpty(scoreStr) ? undefined : +scoreStr,
|
|
305
|
+
strand: STRAND_MAP[f[6]],
|
|
306
|
+
phase: isEmpty(phase) ? undefined : +phase,
|
|
371
307
|
subfeatures: [],
|
|
372
308
|
};
|
|
373
309
|
parseAttributesJBrowseImpl(attrString, result, shouldUnescape);
|
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":";AAAA,6DAA6D;AAC7D,qEAAqE;;AAoBrE,4BA4BC;AA4DD,0CAEC;AASD,8DAEC;AA6CD,oCAEC;AASD,wDAEC;AAQD,wCAsCC;AAoMD,wDAKC;AAED,4EAKC;AAmCD,kDAEC;AAED,sEAEC;AAxdD,MAAM,cAAc,GAAG,uBAAuB,CAAA;AAC9C,MAAM,eAAe,GAAG,KAAK,CAAA;AAC7B,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,UAAU,GAAuC,EAAE,CAAA;AACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;GAKG;AAEH,SAAgB,QAAQ,CAAC,SAAiB;IACxC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,CAAC,GAAG,GAAG,CAAA;IAEX,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;YACzC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,IAAI,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;YACrC,CAAC;YACD,CAAC,IAAI,CAAC,CAAA;YACN,OAAO,GAAG,CAAC,CAAA;QACb,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAkB,EAClB,cAAuB;IAEvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAClD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAmB,EAAE,CAAA;IAChC,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAE3B,IAAI,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QACtD,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,GAAG,CAAA;QACf,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC;gBAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAC1C,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,GAAG,EAAE,CAAA;oBACT,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;gBACnB,CAAC;gBAED,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAA;gBACxB,OAAO,QAAQ,GAAG,OAAO,EAAE,CAAC;oBAC1B,IAAI,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;oBAChD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;wBAC1C,QAAQ,GAAG,OAAO,CAAA;oBACpB,CAAC;oBACD,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;wBAChD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACjD,CAAC;oBACD,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,GAAG,OAAO,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,UAAkB;IAChD,OAAO,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,UAAkB;IAC1D,OAAO,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAA;AACpC,CAAC;AAED,SAAS,QAAQ,CACf,CAAS,EACT,cAAuB,EACvB,KAAQ;IAER,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,cAAuB;IAEvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IACxB,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,IAAI,CAAC;QAC7C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,IAAI,CAAC;QAC7C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,IAAI,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACtB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,IAAI,CAAC;QACpC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,IAAI,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;YAC7B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC;KACpD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,IAAY;IACjD,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,IAAY;IAMZ,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAE1B,MAAM,MAAM,GAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACjD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;IAED,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QAC5C,OAAO;YACL,GAAG,MAAM;YACT,MAAM,EAAE,CAAC,CAAC,CAAC,CAAE;YACb,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1C,GAAG,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;SACzC,CAAA;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QAC9D,OAAO;YACL,GAAG,MAAM;YACT,MAAM,EAAE,MAAO;YACf,SAAS,EAAE,SAAU;SACtB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA2FD,6CAA6C;AAE7C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,OAAO;IACP,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;CACT,CAAC,CAAA;AAEF,uEAAuE;AACvE,sCAAsC;AACtC,MAAM,YAAY,GAAuC;IACvD,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,YAAY,EAAE,cAAc;IAC5B,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACX,CAAA;AAeD,SAAS,0BAA0B,CACjC,UAAkB,EAClB,MAA+B,EAC/B,cAAuB;IAEvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAClD,OAAM;IACR,CAAC;IAED,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAC3B,IAAI,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QACtD,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,GAAG,CAAA;QACf,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC;gBAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAC1C,IAAI,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;gBAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;oBACvB,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpC,GAAG,IAAI,GAAG,CAAA;oBACZ,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAa,EAAE,CAAA;gBAC3B,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAA;gBACxB,OAAO,QAAQ,GAAG,OAAO,EAAE,CAAC;oBAC1B,IAAI,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;oBAChD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;wBAC1C,QAAQ,GAAG,OAAO,CAAA;oBACpB,CAAC;oBACD,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;wBAChD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACnD,CAAC;oBACD,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAA;gBACzB,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACxD,CAAC;QACH,CAAC;QACD,KAAK,GAAG,OAAO,GAAG,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CACpC,UAAkB,EAClB,MAA+B;IAE/B,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;AACtD,CAAC;AAED,SAAgB,gCAAgC,CAC9C,UAAkB,EAClB,MAA+B;IAE/B,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,GAAuC;IACrD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC,CAAC;IACP,GAAG,EAAE,CAAC;CACP,CAAA;AAED,SAAS,uBAAuB,CAC9B,IAAY,EACZ,cAAuB;IAEvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IACnB,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;IAExB,MAAM,MAAM,GAAmB;QAC7B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,EAAE,CAAC;QAC5C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,IAAI,CAAC;QAC7C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,IAAI,CAAC;QAC3C,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC;QAC5C,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QAClC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ;QAChD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1C,WAAW,EAAE,EAAE;KAChB,CAAA;IAED,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAC9D,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED,SAAgB,6BAA6B,CAAC,IAAY;IACxD,OAAO,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC7C,CAAC"}
|
package/esm/api.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ import type { GFF3Feature, JBrowseFeature } from './util.ts';
|
|
|
2
2
|
export interface LineRecord {
|
|
3
3
|
line: string;
|
|
4
4
|
lineHash?: string | number;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** Optional passthrough byte offsets — not used by the parser */
|
|
6
|
+
start?: number;
|
|
7
|
+
/** Optional passthrough byte offsets — not used by the parser */
|
|
8
|
+
end?: number;
|
|
7
9
|
hasEscapes: boolean;
|
|
8
10
|
}
|
|
9
11
|
/**
|