@jbrowse/plugin-bed 5.0.0-beta.7 → 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.
@@ -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
- * #slot
28
- */
26
+ type: {
27
+ type: "string";
28
+ } & {
29
+ defaultValue: string;
30
+ };
29
31
  readonly bedLocation: {
30
- readonly type: "fileLocation";
31
- readonly description: "path to bed file, also allows gzipped bed";
32
- readonly defaultValue: {
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
- readonly type: "stringArray";
42
- readonly description: "List of column names. A column named like a standard BED column is parsed as that column's type (chromStart numeric, blockSizes a numeric list); any other column is text";
43
- readonly defaultValue: readonly [];
37
+ type: "stringArray";
38
+ } & {
39
+ defaultValue: unknown;
44
40
  };
45
- /**
46
- * #slot
47
- */
48
41
  readonly scoreColumn: {
49
- readonly type: "string";
50
- readonly description: "The column to use as a \"score\" attribute";
51
- readonly defaultValue: "";
42
+ type: "string";
43
+ } & {
44
+ defaultValue: string;
52
45
  };
53
- /**
54
- * #slot
55
- */
56
46
  readonly autoSql: {
57
- readonly type: "string";
58
- readonly description: "The autoSql definition for the data fields in the file";
59
- readonly defaultValue: "";
47
+ type: "string";
48
+ } & {
49
+ defaultValue: string;
60
50
  };
61
- /**
62
- * #slot
63
- */
64
51
  readonly colRef: {
65
- readonly type: "number";
66
- readonly description: "The column to use as a \"refName\" attribute";
67
- readonly defaultValue: 0;
52
+ type: "number";
53
+ } & {
54
+ defaultValue: number;
68
55
  };
69
- /**
70
- * #slot
71
- */
72
56
  readonly colStart: {
73
- readonly type: "number";
74
- readonly description: "The column to use as a \"start\" attribute";
75
- readonly defaultValue: 1;
57
+ type: "number";
58
+ } & {
59
+ defaultValue: number;
76
60
  };
77
- /**
78
- * #slot
79
- */
80
61
  readonly colEnd: {
81
- readonly type: "number";
82
- readonly description: "The column to use as a \"end\" attribute";
83
- readonly defaultValue: 2;
62
+ type: "number";
63
+ } & {
64
+ defaultValue: number;
84
65
  };
85
- /**
86
- * #slot
87
- */
88
66
  readonly disableGeneHeuristic: {
89
- readonly type: "boolean";
90
- readonly description: "Disable the heuristic that auto-detects BED12 features as gene/transcript structures. Useful for files that have BED12-like structure but are not genes (e.g. tandem duplications)";
91
- readonly defaultValue: false;
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
- * #slot
21
- * location of the plain-text bedGraph (`chrom start end value`, one line
22
- * per interval). May be gzipped.
23
- */
19
+ type: {
20
+ type: "string";
21
+ } & {
22
+ defaultValue: string;
23
+ };
24
24
  readonly bedGraphLocation: {
25
- readonly type: "fileLocation";
26
- readonly defaultValue: {
27
- readonly uri: "/path/to/my.bedgraph";
28
- readonly locationType: "UriLocation";
29
- };
25
+ type: "fileLocation";
26
+ } & {
27
+ defaultValue: unknown;
30
28
  };
31
- /**
32
- * #slot
33
- */
34
29
  readonly columnNames: {
35
- readonly type: "stringArray";
36
- readonly description: "List of column names";
37
- readonly defaultValue: readonly [];
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 withStopTokenSignal(opts.stopToken, signal => downloadStatus('Downloading features', opts.statusCallback, onProgress =>
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
- signal,
105
- })));
103
+ }));
106
104
  observer.complete();
107
- }, opts.stopToken);
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
- * #slot
21
- * location of the bgzip-compressed bedGraph (`chrom start end value`,
22
- * sorted by position). Must be bgzip rather than plain gzip, which tabix
23
- * cannot index.
24
- */
19
+ type: {
20
+ type: "string";
21
+ } & {
22
+ defaultValue: string;
23
+ };
25
24
  readonly bedGraphGzLocation: {
26
- readonly type: "fileLocation";
27
- readonly defaultValue: {
28
- readonly uri: "/path/to/my.bedgraph";
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
- readonly model: import("@jbrowse/mobx-state-tree").ISimpleType<"CSI" | "TBI">;
35
- readonly type: 'stringEnum';
36
- readonly defaultValue: 'TBI';
37
- readonly description: '`TBI` is the usual `tabix` output. `CSI` is required for a reference longer than 512 Mb, which TBI cannot address.';
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
- readonly type: 'fileLocation';
41
- readonly defaultValue: {
42
- readonly uri: '/path/to/my.gz.tbi';
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
- readonly type: "stringArray";
53
- readonly description: "List of column names";
54
- readonly defaultValue: readonly [];
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 { stopToken, statusCallback } = opts ?? {};
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
- const stopTokenCheck = createStopTokenChecker(stopToken);
85
- checkStopToken(stopToken);
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
- checkStopTokenThrottled(stopTokenCheck);
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
- }, stopToken);
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
- readonly type: 'frozen';
21
- readonly defaultValue: null;
22
- readonly description: 'optional quantitative sub-adapter (e.g. a BigWigAdapter over a features-per-bin bigWig) drawn as a density band where the region is too large to fetch features; null disables it';
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
- readonly type: "fileLocation";
31
- readonly defaultValue: {
32
- readonly uri: "/path/to/my.bed.gz";
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
- readonly model: import("@jbrowse/mobx-state-tree").ISimpleType<"CSI" | "TBI">;
39
- readonly type: 'stringEnum';
40
- readonly defaultValue: 'TBI';
41
- readonly description: '`TBI` is the usual `tabix` output. `CSI` is required for a reference longer than 512 Mb, which TBI cannot address.';
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
- readonly type: 'fileLocation';
45
- readonly defaultValue: {
46
- readonly uri: '/path/to/my.gz.tbi';
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
- readonly type: "stringArray";
57
- readonly description: "List of column names. A column named like a standard BED column is parsed as that column's type (chromStart numeric, blockSizes a numeric list); any other column is text";
58
- readonly defaultValue: readonly [];
47
+ type: "stringArray";
48
+ } & {
49
+ defaultValue: unknown;
59
50
  };
60
- /**
61
- * #slot
62
- */
63
51
  readonly scoreColumn: {
64
- readonly type: "string";
65
- readonly description: "The column to use as a \"score\" attribute";
66
- readonly defaultValue: "";
52
+ type: "string";
53
+ } & {
54
+ defaultValue: string;
67
55
  };
68
- /**
69
- * #slot
70
- */
71
56
  readonly autoSql: {
72
- readonly type: "string";
73
- readonly description: "The autoSql definition for the data fields in the file";
74
- readonly defaultValue: "";
57
+ type: "string";
58
+ } & {
59
+ defaultValue: string;
75
60
  };
76
- /**
77
- * #slot
78
- */
79
61
  readonly disableGeneHeuristic: {
80
- readonly type: "boolean";
81
- readonly description: "Disable the heuristic that auto-detects BED12 features as gene/transcript structures. Useful for files that have BED12-like structure but are not genes (e.g. tandem duplications)";
82
- readonly defaultValue: false;
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
- * #slot
20
- */
18
+ type: {
19
+ type: "string";
20
+ } & {
21
+ defaultValue: string;
22
+ };
21
23
  readonly bedpeLocation: {
22
- readonly type: "fileLocation";
23
- readonly description: "can be plaintext or gzipped, not indexed so loaded into memory on startup";
24
- readonly defaultValue: {
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
- readonly type: "stringArray";
34
- readonly description: "List of column names";
35
- readonly defaultValue: readonly [];
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 withStopTokenSignal(opts.stopToken, signal => downloadStatus('Downloading features', statusCallback, onProgress => bigbed.getFeatures(query.refName, query.start, query.end, {
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.stopToken);
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
- readonly type: 'frozen';
19
- readonly defaultValue: null;
20
- readonly description: 'optional quantitative sub-adapter (e.g. a BigWigAdapter over a features-per-bin bigWig) drawn as a density band where the region is too large to fetch features; null disables it';
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
- readonly type: "fileLocation";
29
- readonly defaultValue: {
30
- readonly uri: "/path/to/my.bb";
31
- readonly locationType: "UriLocation";
32
- };
26
+ type: "fileLocation";
27
+ } & {
28
+ defaultValue: unknown;
33
29
  };
34
- /**
35
- * #slot
36
- */
37
30
  readonly scoreColumn: {
38
- readonly type: "string";
39
- readonly description: "The column to use as a \"score\" attribute";
40
- readonly defaultValue: "";
31
+ type: "string";
32
+ } & {
33
+ defaultValue: string;
41
34
  };
42
- /**
43
- * #slot
44
- */
45
35
  readonly aggregateField: {
46
- readonly type: "string";
47
- readonly description: "An attribute to aggregate features with";
48
- readonly defaultValue: "geneName2";
36
+ type: "string";
37
+ } & {
38
+ defaultValue: string;
49
39
  };
50
- /**
51
- * #slot
52
- */
53
40
  readonly disableGeneHeuristic: {
54
- readonly type: "boolean";
55
- readonly description: "Disable the heuristic that auto-detects BED12 features as gene/transcript structures. Useful for files that have BED12-like structure but are not genes (e.g. tandem duplications)";
56
- readonly defaultValue: false;
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
- * #slot
20
- */
18
+ type: {
19
+ type: "string";
20
+ } & {
21
+ defaultValue: string;
22
+ };
21
23
  readonly starFusionLocation: {
22
- readonly type: "fileLocation";
23
- readonly description: "STAR-Fusion TSV output file (plain text or gzipped)";
24
- readonly defaultValue: {
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;
@@ -9,7 +9,7 @@ export function intervalTreeFeatures(query, opts, loadTree) {
9
9
  observer.next(f);
10
10
  }
11
11
  observer.complete();
12
- }, opts.stopToken);
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' && cdsEndStat === '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.7",
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.2",
27
- "@jbrowse/mobx-state-tree": "^6.5.1",
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.7"
30
+ "@jbrowse/core": "^5.0.0-beta.9"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public"