@jbrowse/plugin-bed 5.0.0-beta.8 → 5.0.0-beta.9
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/BedAdapter/configSchema.d.ts +30 -52
- package/esm/BedGraphAdapter/configSchema.d.ts +12 -17
- package/esm/BedGraphTabixAdapter/BedGraphTabixAdapter.js +3 -5
- package/esm/BedGraphTabixAdapter/configSchema.d.ts +21 -29
- package/esm/BedTabixAdapter/BedTabixAdapter.js +7 -8
- package/esm/BedTabixAdapter/configSchema.d.ts +31 -49
- package/esm/BedpeAdapter/configSchema.d.ts +12 -16
- package/esm/BigBedAdapter/BigBedAdapter.js +4 -5
- package/esm/BigBedAdapter/configSchema.d.ts +19 -32
- package/esm/StarFusionAdapter/configSchema.d.ts +9 -10
- package/esm/adapterUtil.js +1 -1
- package/esm/generateUcscTranscript.js +10 -1
- package/package.json +4 -4
|
@@ -23,73 +23,51 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
declare const BedAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
type: {
|
|
27
|
+
type: "string";
|
|
28
|
+
} & {
|
|
29
|
+
defaultValue: string;
|
|
30
|
+
};
|
|
29
31
|
readonly bedLocation: {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
readonly uri: "/path/to/my.bed.gz";
|
|
34
|
-
readonly locationType: "UriLocation";
|
|
35
|
-
};
|
|
32
|
+
type: "fileLocation";
|
|
33
|
+
} & {
|
|
34
|
+
defaultValue: unknown;
|
|
36
35
|
};
|
|
37
|
-
/**
|
|
38
|
-
* #slot
|
|
39
|
-
*/
|
|
40
36
|
readonly columnNames: {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
type: "stringArray";
|
|
38
|
+
} & {
|
|
39
|
+
defaultValue: unknown;
|
|
44
40
|
};
|
|
45
|
-
/**
|
|
46
|
-
* #slot
|
|
47
|
-
*/
|
|
48
41
|
readonly scoreColumn: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
42
|
+
type: "string";
|
|
43
|
+
} & {
|
|
44
|
+
defaultValue: string;
|
|
52
45
|
};
|
|
53
|
-
/**
|
|
54
|
-
* #slot
|
|
55
|
-
*/
|
|
56
46
|
readonly autoSql: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
type: "string";
|
|
48
|
+
} & {
|
|
49
|
+
defaultValue: string;
|
|
60
50
|
};
|
|
61
|
-
/**
|
|
62
|
-
* #slot
|
|
63
|
-
*/
|
|
64
51
|
readonly colRef: {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
type: "number";
|
|
53
|
+
} & {
|
|
54
|
+
defaultValue: number;
|
|
68
55
|
};
|
|
69
|
-
/**
|
|
70
|
-
* #slot
|
|
71
|
-
*/
|
|
72
56
|
readonly colStart: {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
57
|
+
type: "number";
|
|
58
|
+
} & {
|
|
59
|
+
defaultValue: number;
|
|
76
60
|
};
|
|
77
|
-
/**
|
|
78
|
-
* #slot
|
|
79
|
-
*/
|
|
80
61
|
readonly colEnd: {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
62
|
+
type: "number";
|
|
63
|
+
} & {
|
|
64
|
+
defaultValue: number;
|
|
84
65
|
};
|
|
85
|
-
/**
|
|
86
|
-
* #slot
|
|
87
|
-
*/
|
|
88
66
|
readonly disableGeneHeuristic: {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
67
|
+
type: "boolean";
|
|
68
|
+
} & {
|
|
69
|
+
defaultValue: boolean;
|
|
92
70
|
};
|
|
93
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
71
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
94
72
|
export type BedAdapterConfig = Instance<typeof BedAdapter>;
|
|
95
73
|
export default BedAdapter;
|
|
@@ -16,26 +16,21 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
declare const BedGraphAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
type: {
|
|
20
|
+
type: "string";
|
|
21
|
+
} & {
|
|
22
|
+
defaultValue: string;
|
|
23
|
+
};
|
|
24
24
|
readonly bedGraphLocation: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
readonly locationType: "UriLocation";
|
|
29
|
-
};
|
|
25
|
+
type: "fileLocation";
|
|
26
|
+
} & {
|
|
27
|
+
defaultValue: unknown;
|
|
30
28
|
};
|
|
31
|
-
/**
|
|
32
|
-
* #slot
|
|
33
|
-
*/
|
|
34
29
|
readonly columnNames: {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
type: "stringArray";
|
|
31
|
+
} & {
|
|
32
|
+
defaultValue: unknown;
|
|
38
33
|
};
|
|
39
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
34
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
40
35
|
export type BedGraphAdapterConfig = Instance<typeof BedGraphAdapter>;
|
|
41
36
|
export default BedGraphAdapter;
|
|
@@ -5,7 +5,6 @@ import { sharedBgzfWorkerPool } from '@jbrowse/core/util/bgzfWorkerPool';
|
|
|
5
5
|
import { decompressedBytesBudget } from '@jbrowse/core/util/cacheBudgets';
|
|
6
6
|
import { openLocation, openTabixIndexFilehandle } from '@jbrowse/core/util/io';
|
|
7
7
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
8
|
-
import { withStopTokenSignal } from '@jbrowse/core/util/stopToken';
|
|
9
8
|
import { readTabixHeaderLines } from '@jbrowse/core/util/tabix';
|
|
10
9
|
import { makeBedGraphFeature } from '../bedGraphUtil.js';
|
|
11
10
|
import { parseNamesFromHeader } from '../util.js';
|
|
@@ -61,7 +60,7 @@ export default class BedGraphTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
61
60
|
const colEnd = columnNumbers.end - 1;
|
|
62
61
|
const same = colStart === colEnd;
|
|
63
62
|
const names = (await this.getNames())?.slice(same ? 2 : 3) ?? [];
|
|
64
|
-
await
|
|
63
|
+
await downloadStatus('Downloading features', opts.statusCallback, onProgress =>
|
|
65
64
|
// `same` is a single-coordinate file — a GWAS-style txt with only a
|
|
66
65
|
// start column, indexed `-b N -e N`. The widening is not slop: the
|
|
67
66
|
// column value is used below as an interbase start (point p is
|
|
@@ -101,9 +100,8 @@ export default class BedGraphTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
101
100
|
},
|
|
102
101
|
...opts,
|
|
103
102
|
onProgress,
|
|
104
|
-
|
|
105
|
-
})));
|
|
103
|
+
}));
|
|
106
104
|
observer.complete();
|
|
107
|
-
}, opts.
|
|
105
|
+
}, opts.signal);
|
|
108
106
|
}
|
|
109
107
|
}
|
|
@@ -16,43 +16,35 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
declare const BedGraphTabixAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
*/
|
|
19
|
+
type: {
|
|
20
|
+
type: "string";
|
|
21
|
+
} & {
|
|
22
|
+
defaultValue: string;
|
|
23
|
+
};
|
|
25
24
|
readonly bedGraphGzLocation: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
readonly locationType: "UriLocation";
|
|
30
|
-
};
|
|
25
|
+
type: "fileLocation";
|
|
26
|
+
} & {
|
|
27
|
+
defaultValue: unknown;
|
|
31
28
|
};
|
|
32
29
|
readonly index: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
33
30
|
readonly indexType: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
type: "stringEnum";
|
|
32
|
+
} & {
|
|
33
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<"CSI" | "TBI">;
|
|
34
|
+
} & {
|
|
35
|
+
defaultValue: string;
|
|
38
36
|
};
|
|
39
37
|
readonly location: {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
readonly locationType: 'UriLocation';
|
|
44
|
-
};
|
|
45
|
-
readonly description: 'location of the tabix index. Only needed when it is not named `<file>.tbi`, which is what the `uri` shorthand assumes — a `.csi` beside the file is reached with `csi: true` rather than by spelling this out.';
|
|
38
|
+
type: "fileLocation";
|
|
39
|
+
} & {
|
|
40
|
+
defaultValue: unknown;
|
|
46
41
|
};
|
|
47
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
48
|
-
/**
|
|
49
|
-
* #slot
|
|
50
|
-
*/
|
|
42
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
51
43
|
readonly columnNames: {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
type: "stringArray";
|
|
45
|
+
} & {
|
|
46
|
+
defaultValue: unknown;
|
|
55
47
|
};
|
|
56
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
48
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
57
49
|
export type BedGraphTabixAdapterConfig = Instance<typeof BedGraphTabixAdapter>;
|
|
58
50
|
export default BedGraphTabixAdapter;
|
|
@@ -2,11 +2,11 @@ import { TabixIndexedFile } from '@gmod/tabix';
|
|
|
2
2
|
import { readConfObject } from '@jbrowse/core/configuration';
|
|
3
3
|
import { BaseFeatureDataAdapter, cachedSetup, } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
4
4
|
import { SimpleFeature, downloadStatus } from '@jbrowse/core/util';
|
|
5
|
+
import { checkAbortSignal } from '@jbrowse/core/util/aborting';
|
|
5
6
|
import { sharedBgzfWorkerPool } from '@jbrowse/core/util/bgzfWorkerPool';
|
|
6
7
|
import { decompressedBytesBudget } from '@jbrowse/core/util/cacheBudgets';
|
|
7
8
|
import { openLocation, openTabixIndexFilehandle } from '@jbrowse/core/util/io';
|
|
8
9
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
9
|
-
import { checkStopTokenThrottled, checkStopToken, createStopTokenChecker, withStopTokenSignal, } from '@jbrowse/core/util/stopToken';
|
|
10
10
|
import { readTabixHeaderLines } from '@jbrowse/core/util/tabix';
|
|
11
11
|
import { featureData, makeParser, parseNamesFromHeader } from '../util.js';
|
|
12
12
|
export default class BedTabixAdapter extends BaseFeatureDataAdapter {
|
|
@@ -72,7 +72,7 @@ export default class BedTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
72
72
|
return parseNamesFromHeader((await readTabixHeaderLines(this.bed)).join('\n'));
|
|
73
73
|
}
|
|
74
74
|
getFeatures(query, opts) {
|
|
75
|
-
const {
|
|
75
|
+
const { signal, statusCallback } = opts ?? {};
|
|
76
76
|
return ObservableCreate(async (observer) => {
|
|
77
77
|
// warms the index under its own status label — getLines would otherwise
|
|
78
78
|
// download it under "Downloading features"
|
|
@@ -81,9 +81,8 @@ export default class BedTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
81
81
|
const parser = await this.getParser();
|
|
82
82
|
const scoreColumn = readConfObject(this.config, 'scoreColumn');
|
|
83
83
|
const disableGeneHeuristic = readConfObject(this.config, 'disableGeneHeuristic');
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
await withStopTokenSignal(stopToken, signal => downloadStatus('Downloading features', statusCallback, onProgress =>
|
|
84
|
+
checkAbortSignal(signal);
|
|
85
|
+
await downloadStatus('Downloading features', statusCallback, onProgress =>
|
|
87
86
|
// start/end come from @gmod/tabix rather than being re-derived from
|
|
88
87
|
// the line: it located the coordinate columns to find these lines at
|
|
89
88
|
// all, and already applied the index's coordinate offset (-1 for a
|
|
@@ -92,7 +91,7 @@ export default class BedTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
92
91
|
// — getLines only calls back for lines whose ref column matches it.
|
|
93
92
|
this.bed.getLines(query.refName, query.start, query.end, {
|
|
94
93
|
lineCallback: (line, fileOffset, start, end) => {
|
|
95
|
-
|
|
94
|
+
checkAbortSignal(signal);
|
|
96
95
|
const splitLine = line.split('\t');
|
|
97
96
|
observer.next(new SimpleFeature(featureData({
|
|
98
97
|
splitLine,
|
|
@@ -108,8 +107,8 @@ export default class BedTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
108
107
|
},
|
|
109
108
|
onProgress,
|
|
110
109
|
signal,
|
|
111
|
-
}))
|
|
110
|
+
}));
|
|
112
111
|
observer.complete();
|
|
113
|
-
},
|
|
112
|
+
}, signal);
|
|
114
113
|
}
|
|
115
114
|
}
|
|
@@ -17,70 +17,52 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
17
17
|
*/
|
|
18
18
|
declare const BedTabixAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
19
19
|
readonly densityAdapter: {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
type: "maybeFrozen";
|
|
21
|
+
};
|
|
22
|
+
type: {
|
|
23
|
+
type: "string";
|
|
24
|
+
} & {
|
|
25
|
+
defaultValue: string;
|
|
23
26
|
};
|
|
24
|
-
/**
|
|
25
|
-
* #slot
|
|
26
|
-
* location of the bgzip-compressed BED, sorted by position. Must be bgzip
|
|
27
|
-
* rather than plain gzip, which tabix cannot index.
|
|
28
|
-
*/
|
|
29
27
|
readonly bedGzLocation: {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
readonly locationType: "UriLocation";
|
|
34
|
-
};
|
|
28
|
+
type: "fileLocation";
|
|
29
|
+
} & {
|
|
30
|
+
defaultValue: unknown;
|
|
35
31
|
};
|
|
36
32
|
readonly index: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
37
33
|
readonly indexType: {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
type: "stringEnum";
|
|
35
|
+
} & {
|
|
36
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<"CSI" | "TBI">;
|
|
37
|
+
} & {
|
|
38
|
+
defaultValue: string;
|
|
42
39
|
};
|
|
43
40
|
readonly location: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
readonly locationType: 'UriLocation';
|
|
48
|
-
};
|
|
49
|
-
readonly description: 'location of the tabix index. Only needed when it is not named `<file>.tbi`, which is what the `uri` shorthand assumes — a `.csi` beside the file is reached with `csi: true` rather than by spelling this out.';
|
|
41
|
+
type: "fileLocation";
|
|
42
|
+
} & {
|
|
43
|
+
defaultValue: unknown;
|
|
50
44
|
};
|
|
51
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
52
|
-
/**
|
|
53
|
-
* #slot
|
|
54
|
-
*/
|
|
45
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
55
46
|
readonly columnNames: {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
type: "stringArray";
|
|
48
|
+
} & {
|
|
49
|
+
defaultValue: unknown;
|
|
59
50
|
};
|
|
60
|
-
/**
|
|
61
|
-
* #slot
|
|
62
|
-
*/
|
|
63
51
|
readonly scoreColumn: {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
52
|
+
type: "string";
|
|
53
|
+
} & {
|
|
54
|
+
defaultValue: string;
|
|
67
55
|
};
|
|
68
|
-
/**
|
|
69
|
-
* #slot
|
|
70
|
-
*/
|
|
71
56
|
readonly autoSql: {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
57
|
+
type: "string";
|
|
58
|
+
} & {
|
|
59
|
+
defaultValue: string;
|
|
75
60
|
};
|
|
76
|
-
/**
|
|
77
|
-
* #slot
|
|
78
|
-
*/
|
|
79
61
|
readonly disableGeneHeuristic: {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
62
|
+
type: "boolean";
|
|
63
|
+
} & {
|
|
64
|
+
defaultValue: boolean;
|
|
83
65
|
};
|
|
84
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
66
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
85
67
|
export type BedTabixAdapterConfig = Instance<typeof BedTabixAdapter>;
|
|
86
68
|
export default BedTabixAdapter;
|
|
@@ -15,25 +15,21 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
17
|
declare const BedpeAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
type: {
|
|
19
|
+
type: "string";
|
|
20
|
+
} & {
|
|
21
|
+
defaultValue: string;
|
|
22
|
+
};
|
|
21
23
|
readonly bedpeLocation: {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
readonly uri: "/path/to/my.bedpe.gz";
|
|
26
|
-
readonly locationType: "UriLocation";
|
|
27
|
-
};
|
|
24
|
+
type: "fileLocation";
|
|
25
|
+
} & {
|
|
26
|
+
defaultValue: unknown;
|
|
28
27
|
};
|
|
29
|
-
/**
|
|
30
|
-
* #slot
|
|
31
|
-
*/
|
|
32
28
|
readonly columnNames: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
type: "stringArray";
|
|
30
|
+
} & {
|
|
31
|
+
defaultValue: unknown;
|
|
36
32
|
};
|
|
37
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
33
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
38
34
|
export type BedpeAdapterConfig = Instance<typeof BedpeAdapter>;
|
|
39
35
|
export default BedpeAdapter;
|
|
@@ -4,7 +4,6 @@ import { BaseFeatureDataAdapter, cachedSetup, } from '@jbrowse/core/data_adapter
|
|
|
4
4
|
import { SimpleFeature, doesIntersect2, downloadStatus, max, min, updateStatus, } from '@jbrowse/core/util';
|
|
5
5
|
import { openLocation } from '@jbrowse/core/util/io';
|
|
6
6
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
7
|
-
import { withStopTokenSignal } from '@jbrowse/core/util/stopToken';
|
|
8
7
|
import { firstValueFrom, toArray } from 'rxjs';
|
|
9
8
|
import { featureData } from '../util.js';
|
|
10
9
|
export default class BigBedAdapter extends BaseFeatureDataAdapter {
|
|
@@ -97,11 +96,11 @@ export default class BigBedAdapter extends BaseFeatureDataAdapter {
|
|
|
97
96
|
// (they come from the R-tree index) so this reports a determinate fraction
|
|
98
97
|
// rather than an indeterminate spinner. Matters most here — BigBed is a
|
|
99
98
|
// full-feature download, which is why getRegionByteSize gates it above.
|
|
100
|
-
const feats = await
|
|
99
|
+
const feats = await downloadStatus('Downloading features', statusCallback, onProgress => bigbed.getFeatures(query.refName, query.start, query.end, {
|
|
101
100
|
basesPerSpan: query.end - query.start,
|
|
102
101
|
onProgress,
|
|
103
|
-
signal,
|
|
104
|
-
}))
|
|
102
|
+
signal: opts.signal,
|
|
103
|
+
}));
|
|
105
104
|
await updateStatus('Processing features', statusCallback, async () => {
|
|
106
105
|
const parentAggregation = {};
|
|
107
106
|
const singletons = [];
|
|
@@ -214,6 +213,6 @@ export default class BigBedAdapter extends BaseFeatureDataAdapter {
|
|
|
214
213
|
catch (e) {
|
|
215
214
|
observer.error(e);
|
|
216
215
|
}
|
|
217
|
-
}, opts.
|
|
216
|
+
}, opts.signal);
|
|
218
217
|
}
|
|
219
218
|
}
|
|
@@ -15,46 +15,33 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
15
15
|
*/
|
|
16
16
|
declare const BigBedAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
17
17
|
readonly densityAdapter: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
type: "maybeFrozen";
|
|
19
|
+
};
|
|
20
|
+
type: {
|
|
21
|
+
type: "string";
|
|
22
|
+
} & {
|
|
23
|
+
defaultValue: string;
|
|
21
24
|
};
|
|
22
|
-
/**
|
|
23
|
-
* #slot
|
|
24
|
-
* location of the BigBed file. It carries its own index and summary zoom
|
|
25
|
-
* levels, so there is no separate index to configure.
|
|
26
|
-
*/
|
|
27
25
|
readonly bigBedLocation: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
readonly locationType: "UriLocation";
|
|
32
|
-
};
|
|
26
|
+
type: "fileLocation";
|
|
27
|
+
} & {
|
|
28
|
+
defaultValue: unknown;
|
|
33
29
|
};
|
|
34
|
-
/**
|
|
35
|
-
* #slot
|
|
36
|
-
*/
|
|
37
30
|
readonly scoreColumn: {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
type: "string";
|
|
32
|
+
} & {
|
|
33
|
+
defaultValue: string;
|
|
41
34
|
};
|
|
42
|
-
/**
|
|
43
|
-
* #slot
|
|
44
|
-
*/
|
|
45
35
|
readonly aggregateField: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
type: "string";
|
|
37
|
+
} & {
|
|
38
|
+
defaultValue: string;
|
|
49
39
|
};
|
|
50
|
-
/**
|
|
51
|
-
* #slot
|
|
52
|
-
*/
|
|
53
40
|
readonly disableGeneHeuristic: {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
41
|
+
type: "boolean";
|
|
42
|
+
} & {
|
|
43
|
+
defaultValue: boolean;
|
|
57
44
|
};
|
|
58
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
45
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
59
46
|
export type BigBedAdapterConfig = Instance<typeof BigBedAdapter>;
|
|
60
47
|
export default BigBedAdapter;
|
|
@@ -15,17 +15,16 @@ export declare function normalizeSnapshot(snap: Record<string, unknown>): Record
|
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
17
|
declare const StarFusionAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
type: {
|
|
19
|
+
type: "string";
|
|
20
|
+
} & {
|
|
21
|
+
defaultValue: string;
|
|
22
|
+
};
|
|
21
23
|
readonly starFusionLocation: {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
readonly uri: "/path/to/star-fusion.fusion_predictions.tsv";
|
|
26
|
-
readonly locationType: "UriLocation";
|
|
27
|
-
};
|
|
24
|
+
type: "fileLocation";
|
|
25
|
+
} & {
|
|
26
|
+
defaultValue: unknown;
|
|
28
27
|
};
|
|
29
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined
|
|
28
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, true, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>>>;
|
|
30
29
|
export type StarFusionAdapterConfig = Instance<typeof StarFusionAdapter>;
|
|
31
30
|
export default StarFusionAdapter;
|
package/esm/adapterUtil.js
CHANGED
|
@@ -9,7 +9,7 @@ export function intervalTreeFeatures(query, opts, loadTree) {
|
|
|
9
9
|
observer.next(f);
|
|
10
10
|
}
|
|
11
11
|
observer.complete();
|
|
12
|
-
}, opts.
|
|
12
|
+
}, opts.signal);
|
|
13
13
|
}
|
|
14
14
|
// Build one interval tree for a refName from paired-feature buckets, inserting
|
|
15
15
|
// the records that start on this ref (feats1, flip=false) and those whose mate
|
|
@@ -61,9 +61,18 @@ export function generateUcscTranscript(data) {
|
|
|
61
61
|
// below cannot express that: a thick point inside a block would emit a
|
|
62
62
|
// zero-length CDS carrying a phase, and one outside every block would make
|
|
63
63
|
// the whole transcript UTR.
|
|
64
|
+
//
|
|
65
|
+
// cdsStartStat and cdsEndStat `none` alone do not mean non-coding: UCSC's
|
|
66
|
+
// GENCODE bigGenePred (gencodeV44.bb through V50) writes `none` on every
|
|
67
|
+
// transcript, and reading it as non-coding stripped the CDS from all 370,886
|
|
68
|
+
// of V50's coding ones, TP53 included. exonFrames tells them apart there:
|
|
69
|
+
// every coding transcript has a block with a frame, every other one has -1
|
|
70
|
+
// throughout.
|
|
64
71
|
const { cdsEndStat, cdsStartStat } = rest;
|
|
65
72
|
if (thickStart === thickEnd ||
|
|
66
|
-
(cdsStartStat === 'none' &&
|
|
73
|
+
(cdsStartStat === 'none' &&
|
|
74
|
+
cdsEndStat === 'none' &&
|
|
75
|
+
!exonFrames?.some(frame => frame >= 0))) {
|
|
67
76
|
return {
|
|
68
77
|
...rest,
|
|
69
78
|
uniqueId,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-bed",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "JBrowse 2 bed adapters, tracks, etc.",
|
|
6
6
|
"keywords": [
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@gmod/bbi": "^11.2.3",
|
|
25
25
|
"@gmod/bed": "^2.3.0",
|
|
26
|
-
"@gmod/tabix": "^3.8.
|
|
27
|
-
"@jbrowse/mobx-state-tree": "^6.5.
|
|
26
|
+
"@gmod/tabix": "^3.8.3",
|
|
27
|
+
"@jbrowse/mobx-state-tree": "^6.5.2",
|
|
28
28
|
"mobx": "^7.0.3",
|
|
29
29
|
"rxjs": "^7.8.2",
|
|
30
|
-
"@jbrowse/core": "^5.0.0-beta.
|
|
30
|
+
"@jbrowse/core": "^5.0.0-beta.9"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|