@jbrowse/plugin-data-management 2.3.1 → 2.3.2

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.
@@ -1,11 +1,11 @@
1
- import { objectHash } from '@jbrowse/core/util';
1
+ import { isUriLocation, objectHash } from '@jbrowse/core/util';
2
2
  import { openLocation } from '@jbrowse/core/util/io';
3
3
  import { generateUnsupportedTrackConf, generateUnknownTrackConf, } from '@jbrowse/core/util/tracks';
4
4
  import ucscAssemblies from './ucscAssemblies';
5
5
  export { ucscAssemblies };
6
- export async function fetchHubFile(hubFileLocation) {
6
+ export async function fetchHubFile(hubLocation) {
7
7
  try {
8
- const hubFileText = await openLocation(hubFileLocation).readFile('utf8');
8
+ const hubFileText = await openLocation(hubLocation).readFile('utf8');
9
9
  const { HubFile } = await import('@gmod/ucsc-hub');
10
10
  return new HubFile(hubFileText);
11
11
  }
@@ -13,19 +13,40 @@ export async function fetchHubFile(hubFileLocation) {
13
13
  throw new Error(`Not a valid hub.txt file, got error: '${error}'`);
14
14
  }
15
15
  }
16
- export async function fetchGenomesFile(genomesFileLocation) {
17
- const genomesFileText = await openLocation(genomesFileLocation).readFile('utf8');
16
+ export async function fetchGenomesFile(genomesLoc) {
17
+ const genomesFileText = await openLocation(genomesLoc).readFile('utf8');
18
18
  const { GenomesFile } = await import('@gmod/ucsc-hub');
19
19
  return new GenomesFile(genomesFileText);
20
20
  }
21
- export async function fetchTrackDbFile(trackDbFileLocation) {
22
- const text = await openLocation(trackDbFileLocation).readFile('utf8');
21
+ export async function fetchTrackDbFile(trackDbLoc) {
22
+ const text = await openLocation(trackDbLoc).readFile('utf8');
23
23
  const { TrackDbFile } = await import('@gmod/ucsc-hub');
24
24
  return new TrackDbFile(text);
25
25
  }
26
- export function generateTracks(trackDb, trackDbFileLocation, assemblyName, sequenceAdapter) {
26
+ export function makeLoc(first, base) {
27
+ return {
28
+ uri: new URL(first, base.uri).href,
29
+ locationType: 'UriLocation',
30
+ };
31
+ }
32
+ export function makeLocAlt(first, alt, base) {
33
+ return first ? makeLoc(first, base) : makeLoc(alt, base);
34
+ }
35
+ export function makeLoc2(first, alt) {
36
+ return first
37
+ ? {
38
+ uri: first,
39
+ locationType: 'LocalPath',
40
+ }
41
+ : {
42
+ uri: alt,
43
+ locationType: 'UriLocation',
44
+ };
45
+ }
46
+ export function generateTracks(trackDb, trackDbLoc, assemblyName, sequenceAdapter) {
27
47
  const tracks = [];
28
48
  trackDb.forEach((track, trackName) => {
49
+ var _a;
29
50
  const trackKeys = Array.from(track.keys());
30
51
  const parentTrackKeys = [
31
52
  'superTrack',
@@ -39,7 +60,7 @@ export function generateTracks(trackDb, trackDbFileLocation, assemblyName, seque
39
60
  const parentTracks = [];
40
61
  let currentTrackName = trackName;
41
62
  do {
42
- currentTrackName = trackDb.get(currentTrackName).get('parent');
63
+ currentTrackName = ((_a = trackDb.get(currentTrackName)) === null || _a === void 0 ? void 0 : _a.get('parent')) || '';
43
64
  if (currentTrackName) {
44
65
  ;
45
66
  [currentTrackName] = currentTrackName.split(' ');
@@ -47,63 +68,37 @@ export function generateTracks(trackDb, trackDbFileLocation, assemblyName, seque
47
68
  }
48
69
  } while (currentTrackName);
49
70
  parentTracks.reverse();
50
- const categories = parentTracks.map(parentTrack => parentTrack.get('shortLabel'));
51
- const res = makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequenceAdapter);
52
- res.trackId = `ucsc-trackhub-${objectHash(res)}`;
53
- res.assemblyNames = [assemblyName];
54
- tracks.push(res);
71
+ const categories = parentTracks
72
+ .map(p => p === null || p === void 0 ? void 0 : p.get('shortLabel'))
73
+ .filter((f) => !!f);
74
+ const res = makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter);
75
+ tracks.push({
76
+ ...res,
77
+ trackId: `ucsc-trackhub-${objectHash(res)}`,
78
+ assemblyNames: [assemblyName],
79
+ });
55
80
  });
56
81
  return tracks;
57
82
  }
58
- function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequenceAdapter) {
83
+ function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter) {
84
+ var _a;
59
85
  let trackType = track.get('type');
86
+ const name = track.get('shortLabel') || '';
87
+ const bigDataUrl = track.get('bigDataUrl') || '';
88
+ const bigDataIdx = track.get('bigDataIndex') || '';
89
+ const isUri = isUriLocation(trackDbLoc);
60
90
  if (!trackType) {
61
- trackType = trackDb.get(track.get('parent')).get('type');
91
+ trackType = (_a = trackDb.get(track.get('parent') || '')) === null || _a === void 0 ? void 0 : _a.get('type');
62
92
  }
63
- let baseTrackType = trackType.split(' ')[0];
64
- if (baseTrackType === 'bam' &&
65
- track.get('bigDataUrl').toLowerCase().endsWith('cram')) {
93
+ let baseTrackType = (trackType === null || trackType === void 0 ? void 0 : trackType.split(' ')[0]) || '';
94
+ if (baseTrackType === 'bam' && bigDataUrl.toLowerCase().endsWith('cram')) {
66
95
  baseTrackType = 'cram';
67
96
  }
68
- let bigDataLocation;
69
- if (trackDbFileLocation.uri) {
70
- bigDataLocation = {
71
- uri: new URL(track.get('bigDataUrl'), trackDbFileLocation.uri).href,
72
- locationType: 'UriLocation',
73
- };
74
- }
75
- else {
76
- bigDataLocation = {
77
- localPath: track.get('bigDataUrl'),
78
- locationType: 'LocalPathLocation',
79
- };
80
- }
81
- let bigDataIndexLocation;
97
+ const bigDataLocation = isUri
98
+ ? makeLoc(bigDataUrl, trackDbLoc)
99
+ : makeLoc2(bigDataUrl);
82
100
  switch (baseTrackType) {
83
101
  case 'bam':
84
- if (trackDbFileLocation.uri) {
85
- bigDataIndexLocation = track.get('bigDataIndex')
86
- ? {
87
- uri: new URL(track.get('bigDataIndex'), trackDbFileLocation.uri)
88
- .href,
89
- locationType: 'UriLocation',
90
- }
91
- : {
92
- uri: new URL(`${track.get('bigDataUrl')}.bai`, trackDbFileLocation.uri).href,
93
- locationType: 'UriLocation',
94
- };
95
- }
96
- else {
97
- bigDataIndexLocation = track.get('bigDataIndex')
98
- ? {
99
- localPath: track.get('bigDataIndex'),
100
- locationType: 'LocalPathLocation',
101
- }
102
- : {
103
- localPath: `${track.get('bigDataUrl')}.bai`,
104
- locationType: 'LocalPathLocation',
105
- };
106
- }
107
102
  return {
108
103
  type: 'AlignmentsTrack',
109
104
  name: track.get('shortLabel'),
@@ -113,22 +108,16 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
113
108
  type: 'BamAdapter',
114
109
  bamLocation: bigDataLocation,
115
110
  index: {
116
- location: bigDataIndexLocation,
111
+ location: isUri
112
+ ? makeLocAlt(bigDataIdx, bigDataUrl + '.bai', trackDbLoc)
113
+ : makeLoc2(bigDataIdx, bigDataUrl + '.bai'),
117
114
  },
118
115
  },
119
116
  };
120
- case 'bed':
121
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
122
- case 'bed5FloatScore':
123
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
124
- case 'bedGraph':
125
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
126
- case 'bedRnaElements':
127
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
128
117
  case 'bigBarChart':
129
118
  return {
130
119
  type: 'FeatureTrack',
131
- name: track.get('shortLabel'),
120
+ name,
132
121
  description: track.get('longLabel'),
133
122
  category: categories,
134
123
  adapter: {
@@ -142,7 +131,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
142
131
  case 'bigBed':
143
132
  return {
144
133
  type: 'FeatureTrack',
145
- name: track.get('shortLabel'),
134
+ name,
146
135
  description: track.get('longLabel'),
147
136
  category: categories,
148
137
  adapter: {
@@ -153,7 +142,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
153
142
  case 'bigGenePred':
154
143
  return {
155
144
  type: 'FeatureTrack',
156
- name: track.get('shortLabel'),
145
+ name,
157
146
  description: track.get('longLabel'),
158
147
  category: categories,
159
148
  adapter: {
@@ -164,7 +153,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
164
153
  case 'bigChain':
165
154
  return {
166
155
  type: 'FeatureTrack',
167
- name: track.get('shortLabel'),
156
+ name,
168
157
  description: track.get('longLabel'),
169
158
  category: categories,
170
159
  adapter: {
@@ -178,7 +167,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
178
167
  case 'bigInteract':
179
168
  return {
180
169
  type: 'FeatureTrack',
181
- name: track.get('shortLabel'),
170
+ name,
182
171
  description: track.get('longLabel'),
183
172
  category: categories,
184
173
  adapter: {
@@ -192,7 +181,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
192
181
  case 'bigMaf':
193
182
  return {
194
183
  type: 'FeatureTrack',
195
- name: track.get('shortLabel'),
184
+ name,
196
185
  description: track.get('longLabel'),
197
186
  category: categories,
198
187
  adapter: {
@@ -206,7 +195,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
206
195
  case 'bigPsl':
207
196
  return {
208
197
  type: 'FeatureTrack',
209
- name: track.get('shortLabel'),
198
+ name,
210
199
  description: track.get('longLabel'),
211
200
  category: categories,
212
201
  adapter: {
@@ -220,7 +209,7 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
220
209
  case 'bigWig':
221
210
  return {
222
211
  type: 'QuantitativeTrack',
223
- name: track.get('shortLabel'),
212
+ name,
224
213
  description: track.get('longLabel'),
225
214
  category: categories,
226
215
  adapter: {
@@ -228,56 +217,25 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
228
217
  bigWigLocation: bigDataLocation,
229
218
  },
230
219
  };
231
- case 'broadPeak':
232
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
233
- case 'coloredExon':
234
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
235
220
  case 'cram':
236
- if (trackDbFileLocation.uri) {
237
- bigDataIndexLocation = track.get('bigDataIndex')
238
- ? {
239
- uri: new URL(track.get('bigDataIndex'), trackDbFileLocation.uri)
240
- .href,
241
- locationType: 'UriLocation',
242
- }
243
- : {
244
- uri: new URL(`${track.get('bigDataUrl')}.crai`, trackDbFileLocation.uri).href,
245
- locationType: 'UriLocation',
246
- };
247
- }
248
- else {
249
- bigDataIndexLocation = track.get('bigDataIndex')
250
- ? {
251
- localPath: track.get('bigDataIndex'),
252
- locationType: 'LocalPathLocation',
253
- }
254
- : {
255
- localPath: `${track.get('bigDataUrl')}.crai`,
256
- locationType: 'LocalPathLocation',
257
- };
258
- }
259
221
  return {
260
222
  type: 'AlignmentsTrack',
261
- name: track.get('shortLabel'),
223
+ name,
262
224
  description: track.get('longLabel'),
263
225
  category: categories,
264
226
  adapter: {
265
227
  type: 'CramAdapter',
266
228
  cramLocation: bigDataLocation,
267
- craiLocation: bigDataIndexLocation,
229
+ craiLocation: isUri
230
+ ? makeLocAlt(bigDataIdx, bigDataUrl + '.crai', trackDbLoc)
231
+ : makeLoc2(bigDataIdx, bigDataUrl + '.crai'),
268
232
  sequenceAdapter,
269
233
  },
270
234
  };
271
- case 'gvf':
272
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
273
- case 'ld2':
274
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
275
- case 'narrowPeak':
276
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
277
235
  case 'bigNarrowPeak':
278
236
  return {
279
237
  type: 'FeatureTrack',
280
- name: track.get('shortLabel'),
238
+ name,
281
239
  description: track.get('longLabel'),
282
240
  category: categories,
283
241
  adapter: {
@@ -286,52 +244,27 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
286
244
  },
287
245
  };
288
246
  case 'peptideMapping':
289
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
247
+ return generateUnsupportedTrackConf(name, baseTrackType, categories);
290
248
  case 'vcfTabix':
291
- if (trackDbFileLocation.uri) {
292
- bigDataIndexLocation = track.get('bigDataIndex')
293
- ? {
294
- uri: new URL(track.get('bigDataIndex'), trackDbFileLocation.uri)
295
- .href,
296
- locationType: 'UriLocation',
297
- }
298
- : {
299
- uri: new URL(`${track.get('bigDataUrl')}.tbi`, trackDbFileLocation.uri).href,
300
- locationType: 'UriLocation',
301
- };
302
- }
303
- else {
304
- bigDataIndexLocation = track.get('bigDataIndex')
305
- ? {
306
- localPath: track.get('bigDataIndex'),
307
- locationType: 'LocalPathLocation',
308
- }
309
- : {
310
- localPath: `${track.get('bigDataUrl')}.tbi`,
311
- locationType: 'LocalPathLocation',
312
- };
313
- }
314
249
  return {
315
250
  type: 'VariantTrack',
316
- name: track.get('shortLabel'),
251
+ name,
317
252
  description: track.get('longLabel'),
318
253
  category: categories,
319
254
  adapter: {
320
255
  type: 'VcfTabixAdapter',
321
256
  vcfGzLocation: bigDataLocation,
322
257
  index: {
323
- location: bigDataIndexLocation,
258
+ location: isUri
259
+ ? makeLocAlt(bigDataIdx, bigDataUrl + '.tbi', trackDbLoc)
260
+ : makeLoc2(bigDataIdx, bigDataUrl + '.tbi'),
324
261
  },
325
262
  },
326
263
  };
327
- case 'wig':
328
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
329
- case 'wigMaf':
330
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
331
264
  case 'hic':
332
265
  return {
333
266
  type: 'HicTrack',
334
- name: track.get('shortLabel'),
267
+ name,
335
268
  description: track.get('longLabel'),
336
269
  category: categories,
337
270
  adapter: {
@@ -339,10 +272,21 @@ function makeTrackConfig(track, categories, trackDbFileLocation, trackDb, sequen
339
272
  hicLocation: bigDataLocation,
340
273
  },
341
274
  };
342
- case 'halSnake':
343
- return generateUnsupportedTrackConf(track.get('shortLabel'), baseTrackType, categories);
275
+ // unsupported types
276
+ // case 'gvf':
277
+ // case 'ld2':
278
+ // case 'narrowPeak':
279
+ // case 'wig':
280
+ // case 'wigMaf':
281
+ // case 'halSnake':
282
+ // case 'bed':
283
+ // case 'bed5FloatScore':
284
+ // case 'bedGraph':
285
+ // case 'bedRnaElements':
286
+ // case 'broadPeak':
287
+ // case 'coloredExon':
344
288
  default:
345
- return generateUnknownTrackConf(track.get('shortLabel'), baseTrackType, categories);
289
+ return generateUnknownTrackConf(name, baseTrackType, categories);
346
290
  }
347
291
  }
348
292
  //# sourceMappingURL=ucscTrackHub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ucscTrackHub.js","sourceRoot":"","sources":["../../src/ucsc-trackhub/ucscTrackHub.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ucscTrackHub.js","sourceRoot":"","sources":["../../src/ucsc-trackhub/ucscTrackHub.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-data-management",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "description": "JBrowse 2 linear genome view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -60,5 +60,5 @@
60
60
  "distModule": "esm/index.js",
61
61
  "srcModule": "src/index.ts",
62
62
  "module": "esm/index.js",
63
- "gitHead": "75c4cba2f50c626c62881abd5851dbf2435c2401"
63
+ "gitHead": "467d973535bb7b2664e9f66311fb0dc21c1ce5ba"
64
64
  }
@@ -43,11 +43,11 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
43
43
  const genomesFileLocation = hubUri
44
44
  ? {
45
45
  uri: new URL(genomeFile, hubUri).href,
46
- locationType: 'UriLocation',
46
+ locationType: 'UriLocation' as const,
47
47
  }
48
48
  : {
49
49
  localPath: genomeFile,
50
- locationType: 'LocalPathLocation',
50
+ locationType: 'LocalPathLocation' as const,
51
51
  }
52
52
  const genomesFile = await fetchGenomesFile(genomesFileLocation)
53
53
  const trackDbData = []
@@ -67,43 +67,32 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
67
67
  `Cannot find assembly for "${genomeName}" from the genomes file for connection "${connectionName}"`,
68
68
  )
69
69
  }
70
- const trackDb = genome.get('trackDb')
71
- if (!trackDb) {
70
+ const db = genome.get('trackDb')
71
+ if (!db) {
72
72
  throw new Error('genomesFile not found on hub')
73
73
  }
74
- const trackDbFileLocation = hubUri
74
+ const base = new URL(genomeFile, hubUri)
75
+ const trackDbLoc = hubUri
75
76
  ? {
76
- uri: new URL(trackDb, new URL(genomeFile, hubUri)).href,
77
- locationType: 'UriLocation',
77
+ uri: new URL(db, base).href,
78
+ locationType: 'UriLocation' as const,
78
79
  }
79
80
  : {
80
- localPath: trackDb,
81
- locationType: 'LocalPathLocation',
81
+ localPath: db,
82
+ locationType: 'LocalPathLocation' as const,
82
83
  }
83
- trackDbData.push([
84
- trackDbFileLocation,
85
- await fetchTrackDbFile(trackDbFileLocation),
86
- genomeName,
87
- conf,
88
- ] as const)
84
+ const trackDb = await fetchTrackDbFile(trackDbLoc)
85
+ trackDbData.push([trackDbLoc, trackDb, genomeName, conf] as const)
89
86
  }
90
87
  for (const [
91
- trackDbFileLocation,
88
+ trackDbLoc,
92
89
  trackDbFile,
93
90
  genomeName,
94
91
  conf,
95
92
  ] of trackDbData) {
96
- const sequenceAdapter = readConfObject(conf, [
97
- 'sequence',
98
- 'adapter',
99
- ])
93
+ const seqAdapter = readConfObject(conf, ['sequence', 'adapter'])
100
94
  self.addTrackConfs(
101
- generateTracks(
102
- trackDbFile,
103
- trackDbFileLocation,
104
- genomeName,
105
- sequenceAdapter,
106
- ),
95
+ generateTracks(trackDbFile, trackDbLoc, genomeName, seqAdapter),
107
96
  )
108
97
  }
109
98
  } catch (e) {