@jbrowse/plugin-gff3 2.3.4 → 2.4.1

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.
@@ -36,20 +36,17 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
36
36
  parseSequences: false,
37
37
  disableDerivesFromReferences: true,
38
38
  });
39
- const intervalTree = feats
40
- .flat()
41
- .map((f, i) => new simpleFeature_1.default({
39
+ const intervalTree = {};
40
+ for (const obj of feats.flat().map((f, i) => new simpleFeature_1.default({
42
41
  data: this.featureData(f),
43
42
  id: `${this.id}-offset-${i}`,
44
- }))
45
- .reduce((acc, obj) => {
43
+ }))) {
46
44
  const key = obj.get('refName');
47
- if (!acc[key]) {
48
- acc[key] = new interval_tree_1.default();
45
+ if (!intervalTree[key]) {
46
+ intervalTree[key] = new interval_tree_1.default();
49
47
  }
50
- acc[key].insert([obj.get('start'), obj.get('end')], obj);
51
- return acc;
52
- }, {});
48
+ intervalTree[key].insert([obj.get('start'), obj.get('end')], obj);
49
+ }
53
50
  return { header, intervalTree };
54
51
  }
55
52
  async loadData() {
@@ -106,7 +103,7 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
106
103
  if (data.phase === null) {
107
104
  delete f.score;
108
105
  }
109
- const defaultFields = [
106
+ const defaultFields = new Set([
110
107
  'start',
111
108
  'end',
112
109
  'seq_id',
@@ -115,11 +112,11 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
115
112
  'source',
116
113
  'phase',
117
114
  'strand',
118
- ];
115
+ ]);
119
116
  const dataAttributes = data.attributes || {};
120
- Object.keys(dataAttributes).forEach(a => {
117
+ for (const a of Object.keys(dataAttributes)) {
121
118
  let b = a.toLowerCase();
122
- if (defaultFields.includes(b)) {
119
+ if (defaultFields.has(b)) {
123
120
  // add "suffix" to tag name if it already exists
124
121
  // reproduces behavior of NCList
125
122
  b += '2';
@@ -132,13 +129,11 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
132
129
  }
133
130
  f[b] = attr;
134
131
  }
135
- });
132
+ }
136
133
  f.refName = f.seq_id;
137
134
  // the SimpleFeature constructor takes care of recursively inflating subfeatures
138
- if (data.child_features && data.child_features.length) {
139
- f.subfeatures = data.child_features
140
- .map(childLocs => childLocs.map(childLoc => this.featureData(childLoc)))
141
- .flat();
135
+ if (data.child_features && data.child_features.length > 0) {
136
+ f.subfeatures = data.child_features.flatMap(childLocs => childLocs.map(childLoc => this.featureData(childLoc)));
142
137
  }
143
138
  delete f.child_features;
144
139
  delete f.data;
@@ -1 +1 @@
1
- {"version":3,"file":"Gff3Adapter.js","sourceRoot":"","sources":["../../src/Gff3Adapter/Gff3Adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gff3Adapter.js","sourceRoot":"","sources":["../../src/Gff3Adapter/Gff3Adapter.ts"],"names":[],"mappings":"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"}
@@ -145,7 +145,7 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
145
145
  if (data.phase === null) {
146
146
  delete f.score;
147
147
  }
148
- const defaultFields = [
148
+ const defaultFields = new Set([
149
149
  'start',
150
150
  'end',
151
151
  'seq_id',
@@ -154,11 +154,11 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
154
154
  'source',
155
155
  'phase',
156
156
  'strand',
157
- ];
157
+ ]);
158
158
  const dataAttributes = data.attributes || {};
159
- Object.keys(dataAttributes).forEach(a => {
159
+ for (const a of Object.keys(dataAttributes)) {
160
160
  let b = a.toLowerCase();
161
- if (defaultFields.includes(b)) {
161
+ if (defaultFields.has(b)) {
162
162
  // add "suffix" to tag name if it already exists
163
163
  // reproduces behavior of NCList
164
164
  b += '2';
@@ -171,13 +171,11 @@ class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
171
171
  }
172
172
  f[b] = attr;
173
173
  }
174
- });
174
+ }
175
175
  f.refName = f.seq_id;
176
176
  // the SimpleFeature constructor takes care of recursively inflating subfeatures
177
- if (data.child_features && data.child_features.length) {
178
- f.subfeatures = data.child_features
179
- .map(childLocs => childLocs.map(childLoc => this.featureData(childLoc)))
180
- .flat();
177
+ if (data.child_features && data.child_features.length > 0) {
178
+ f.subfeatures = data.child_features.flatMap(childLocs => childLocs.map(childLoc => this.featureData(childLoc)));
181
179
  }
182
180
  delete f.child_features;
183
181
  delete f.data;
@@ -1 +1 @@
1
- {"version":3,"file":"Gff3TabixAdapter.js","sourceRoot":"","sources":["../../src/Gff3TabixAdapter/Gff3TabixAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gff3TabixAdapter.js","sourceRoot":"","sources":["../../src/Gff3TabixAdapter/Gff3TabixAdapter.ts"],"names":[],"mappings":"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"}
@@ -31,20 +31,17 @@ export default class extends BaseFeatureDataAdapter {
31
31
  parseSequences: false,
32
32
  disableDerivesFromReferences: true,
33
33
  });
34
- const intervalTree = feats
35
- .flat()
36
- .map((f, i) => new SimpleFeature({
34
+ const intervalTree = {};
35
+ for (const obj of feats.flat().map((f, i) => new SimpleFeature({
37
36
  data: this.featureData(f),
38
37
  id: `${this.id}-offset-${i}`,
39
- }))
40
- .reduce((acc, obj) => {
38
+ }))) {
41
39
  const key = obj.get('refName');
42
- if (!acc[key]) {
43
- acc[key] = new IntervalTree();
40
+ if (!intervalTree[key]) {
41
+ intervalTree[key] = new IntervalTree();
44
42
  }
45
- acc[key].insert([obj.get('start'), obj.get('end')], obj);
46
- return acc;
47
- }, {});
43
+ intervalTree[key].insert([obj.get('start'), obj.get('end')], obj);
44
+ }
48
45
  return { header, intervalTree };
49
46
  }
50
47
  async loadData() {
@@ -101,7 +98,7 @@ export default class extends BaseFeatureDataAdapter {
101
98
  if (data.phase === null) {
102
99
  delete f.score;
103
100
  }
104
- const defaultFields = [
101
+ const defaultFields = new Set([
105
102
  'start',
106
103
  'end',
107
104
  'seq_id',
@@ -110,11 +107,11 @@ export default class extends BaseFeatureDataAdapter {
110
107
  'source',
111
108
  'phase',
112
109
  'strand',
113
- ];
110
+ ]);
114
111
  const dataAttributes = data.attributes || {};
115
- Object.keys(dataAttributes).forEach(a => {
112
+ for (const a of Object.keys(dataAttributes)) {
116
113
  let b = a.toLowerCase();
117
- if (defaultFields.includes(b)) {
114
+ if (defaultFields.has(b)) {
118
115
  // add "suffix" to tag name if it already exists
119
116
  // reproduces behavior of NCList
120
117
  b += '2';
@@ -127,13 +124,11 @@ export default class extends BaseFeatureDataAdapter {
127
124
  }
128
125
  f[b] = attr;
129
126
  }
130
- });
127
+ }
131
128
  f.refName = f.seq_id;
132
129
  // the SimpleFeature constructor takes care of recursively inflating subfeatures
133
- if (data.child_features && data.child_features.length) {
134
- f.subfeatures = data.child_features
135
- .map(childLocs => childLocs.map(childLoc => this.featureData(childLoc)))
136
- .flat();
130
+ if (data.child_features && data.child_features.length > 0) {
131
+ f.subfeatures = data.child_features.flatMap(childLocs => childLocs.map(childLoc => this.featureData(childLoc)));
137
132
  }
138
133
  delete f.child_features;
139
134
  delete f.data;
@@ -1 +1 @@
1
- {"version":3,"file":"Gff3Adapter.js","sourceRoot":"","sources":["../../src/Gff3Adapter/Gff3Adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gff3Adapter.js","sourceRoot":"","sources":["../../src/Gff3Adapter/Gff3Adapter.ts"],"names":[],"mappings":"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"}
@@ -140,7 +140,7 @@ export default class extends BaseFeatureDataAdapter {
140
140
  if (data.phase === null) {
141
141
  delete f.score;
142
142
  }
143
- const defaultFields = [
143
+ const defaultFields = new Set([
144
144
  'start',
145
145
  'end',
146
146
  'seq_id',
@@ -149,11 +149,11 @@ export default class extends BaseFeatureDataAdapter {
149
149
  'source',
150
150
  'phase',
151
151
  'strand',
152
- ];
152
+ ]);
153
153
  const dataAttributes = data.attributes || {};
154
- Object.keys(dataAttributes).forEach(a => {
154
+ for (const a of Object.keys(dataAttributes)) {
155
155
  let b = a.toLowerCase();
156
- if (defaultFields.includes(b)) {
156
+ if (defaultFields.has(b)) {
157
157
  // add "suffix" to tag name if it already exists
158
158
  // reproduces behavior of NCList
159
159
  b += '2';
@@ -166,13 +166,11 @@ export default class extends BaseFeatureDataAdapter {
166
166
  }
167
167
  f[b] = attr;
168
168
  }
169
- });
169
+ }
170
170
  f.refName = f.seq_id;
171
171
  // the SimpleFeature constructor takes care of recursively inflating subfeatures
172
- if (data.child_features && data.child_features.length) {
173
- f.subfeatures = data.child_features
174
- .map(childLocs => childLocs.map(childLoc => this.featureData(childLoc)))
175
- .flat();
172
+ if (data.child_features && data.child_features.length > 0) {
173
+ f.subfeatures = data.child_features.flatMap(childLocs => childLocs.map(childLoc => this.featureData(childLoc)));
176
174
  }
177
175
  delete f.child_features;
178
176
  delete f.data;
@@ -1 +1 @@
1
- {"version":3,"file":"Gff3TabixAdapter.js","sourceRoot":"","sources":["../../src/Gff3TabixAdapter/Gff3TabixAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gff3TabixAdapter.js","sourceRoot":"","sources":["../../src/Gff3TabixAdapter/Gff3TabixAdapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-gff3",
3
- "version": "2.3.4",
3
+ "version": "2.4.1",
4
4
  "description": "JBrowse 2 gff3.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -40,7 +40,7 @@
40
40
  "@flatten-js/interval-tree": "^1.0.15",
41
41
  "@gmod/bgzf-filehandle": "^1.4.3",
42
42
  "@gmod/gff": "^1.3.0",
43
- "@gmod/tabix": "^1.5.2"
43
+ "@gmod/tabix": "^1.5.6"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@jbrowse/core": "^2.0.0",
@@ -56,5 +56,5 @@
56
56
  "distModule": "esm/index.js",
57
57
  "srcModule": "src/index.ts",
58
58
  "module": "esm/index.js",
59
- "gitHead": "98ae48be91ee2371e1b2768a907b4997995e9915"
59
+ "gitHead": "747c50c4edc0184827efa4f8dfc576ca9a72caeb"
60
60
  }
@@ -45,23 +45,20 @@ export default class extends BaseFeatureDataAdapter {
45
45
  disableDerivesFromReferences: true,
46
46
  })
47
47
 
48
- const intervalTree = feats
49
- .flat()
50
- .map(
51
- (f, i) =>
52
- new SimpleFeature({
53
- data: this.featureData(f),
54
- id: `${this.id}-offset-${i}`,
55
- }),
56
- )
57
- .reduce((acc, obj) => {
58
- const key = obj.get('refName')
59
- if (!acc[key]) {
60
- acc[key] = new IntervalTree()
61
- }
62
- acc[key].insert([obj.get('start'), obj.get('end')], obj)
63
- return acc
64
- }, {} as Record<string, IntervalTree>)
48
+ const intervalTree = {} as Record<string, IntervalTree>
49
+ for (const obj of feats.flat().map(
50
+ (f, i) =>
51
+ new SimpleFeature({
52
+ data: this.featureData(f),
53
+ id: `${this.id}-offset-${i}`,
54
+ }),
55
+ )) {
56
+ const key = obj.get('refName')
57
+ if (!intervalTree[key]) {
58
+ intervalTree[key] = new IntervalTree()
59
+ }
60
+ intervalTree[key].insert([obj.get('start'), obj.get('end')], obj)
61
+ }
65
62
 
66
63
  return { header, intervalTree }
67
64
  }
@@ -122,7 +119,7 @@ export default class extends BaseFeatureDataAdapter {
122
119
  if (data.phase === null) {
123
120
  delete f.score
124
121
  }
125
- const defaultFields = [
122
+ const defaultFields = new Set([
126
123
  'start',
127
124
  'end',
128
125
  'seq_id',
@@ -131,11 +128,11 @@ export default class extends BaseFeatureDataAdapter {
131
128
  'source',
132
129
  'phase',
133
130
  'strand',
134
- ]
131
+ ])
135
132
  const dataAttributes = data.attributes || {}
136
- Object.keys(dataAttributes).forEach(a => {
133
+ for (const a of Object.keys(dataAttributes)) {
137
134
  let b = a.toLowerCase()
138
- if (defaultFields.includes(b)) {
135
+ if (defaultFields.has(b)) {
139
136
  // add "suffix" to tag name if it already exists
140
137
  // reproduces behavior of NCList
141
138
  b += '2'
@@ -147,14 +144,14 @@ export default class extends BaseFeatureDataAdapter {
147
144
  }
148
145
  f[b] = attr
149
146
  }
150
- })
147
+ }
151
148
  f.refName = f.seq_id
152
149
 
153
150
  // the SimpleFeature constructor takes care of recursively inflating subfeatures
154
- if (data.child_features && data.child_features.length) {
155
- f.subfeatures = data.child_features
156
- .map(childLocs => childLocs.map(childLoc => this.featureData(childLoc)))
157
- .flat()
151
+ if (data.child_features && data.child_features.length > 0) {
152
+ f.subfeatures = data.child_features.flatMap(childLocs =>
153
+ childLocs.map(childLoc => this.featureData(childLoc)),
154
+ )
158
155
  }
159
156
 
160
157
  delete f.child_features
@@ -211,7 +211,7 @@ export default class extends BaseFeatureDataAdapter {
211
211
  if (data.phase === null) {
212
212
  delete f.score
213
213
  }
214
- const defaultFields = [
214
+ const defaultFields = new Set([
215
215
  'start',
216
216
  'end',
217
217
  'seq_id',
@@ -220,11 +220,11 @@ export default class extends BaseFeatureDataAdapter {
220
220
  'source',
221
221
  'phase',
222
222
  'strand',
223
- ]
223
+ ])
224
224
  const dataAttributes = data.attributes || {}
225
- Object.keys(dataAttributes).forEach(a => {
225
+ for (const a of Object.keys(dataAttributes)) {
226
226
  let b = a.toLowerCase()
227
- if (defaultFields.includes(b)) {
227
+ if (defaultFields.has(b)) {
228
228
  // add "suffix" to tag name if it already exists
229
229
  // reproduces behavior of NCList
230
230
  b += '2'
@@ -236,14 +236,14 @@ export default class extends BaseFeatureDataAdapter {
236
236
  }
237
237
  f[b] = attr
238
238
  }
239
- })
239
+ }
240
240
  f.refName = f.seq_id
241
241
 
242
242
  // the SimpleFeature constructor takes care of recursively inflating subfeatures
243
- if (data.child_features && data.child_features.length) {
244
- f.subfeatures = data.child_features
245
- .map(childLocs => childLocs.map(childLoc => this.featureData(childLoc)))
246
- .flat()
243
+ if (data.child_features && data.child_features.length > 0) {
244
+ f.subfeatures = data.child_features.flatMap(childLocs =>
245
+ childLocs.map(childLoc => this.featureData(childLoc)),
246
+ )
247
247
  }
248
248
 
249
249
  delete f.child_features
@@ -12,7 +12,7 @@ exports[`adapter can fetch features from volvox.gff3 test getfeatures on gff pla
12
12
  "start": 0,
13
13
  "strand": undefined,
14
14
  "type": "contig",
15
- "uniqueId": "test-offset-794327",
15
+ "uniqueId": "test-offset-794328",
16
16
  },
17
17
  {
18
18
  "derived_features": [],
@@ -25,7 +25,7 @@ exports[`adapter can fetch features from volvox.gff3 test getfeatures on gff pla
25
25
  "start": 1658,
26
26
  "strand": 1,
27
27
  "type": "remark",
28
- "uniqueId": "test-offset-794370",
28
+ "uniqueId": "test-offset-794371",
29
29
  },
30
30
  {
31
31
  "derived_features": [],
@@ -38,7 +38,7 @@ exports[`adapter can fetch features from volvox.gff3 test getfeatures on gff pla
38
38
  "start": 3013,
39
39
  "strand": 1,
40
40
  "type": "remark",
41
- "uniqueId": "test-offset-794439",
41
+ "uniqueId": "test-offset-794440",
42
42
  },
43
43
  {
44
44
  "derived_features": [],
@@ -51,7 +51,7 @@ exports[`adapter can fetch features from volvox.gff3 test getfeatures on gff pla
51
51
  "start": 4714,
52
52
  "strand": -1,
53
53
  "type": "remark",
54
- "uniqueId": "test-offset-794513",
54
+ "uniqueId": "test-offset-794514",
55
55
  },
56
56
  ]
57
57
  `;