@jbrowse/plugin-gccontent 2.17.0 → 2.18.0
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/dist/GCContentAdapter/GCContentAdapter.d.ts +5 -9
- package/dist/GCContentAdapter/GCContentAdapter.js +47 -42
- package/dist/GCContentAdapter/configSchema.d.ts +1 -10
- package/dist/GCContentAdapter/configSchema.js +1 -14
- package/dist/GCContentAdapter/index.d.ts +1 -1
- package/dist/GCContentTrack/configSchema.d.ts +1 -1
- package/dist/GCContentTrack/configSchema.js +1 -8
- package/dist/GCContentTrack/index.d.ts +1 -1
- package/dist/LinearGCContentDisplay/components/EditGCContentParams.js +3 -3
- package/dist/LinearGCContentDisplay/config1.d.ts +1 -6
- package/dist/LinearGCContentDisplay/config1.js +0 -8
- package/dist/LinearGCContentDisplay/config2.d.ts +1 -6
- package/dist/LinearGCContentDisplay/config2.js +0 -8
- package/dist/LinearGCContentDisplay/index.d.ts +1 -1
- package/dist/LinearGCContentDisplay/shared.d.ts +10 -43
- package/dist/LinearGCContentDisplay/shared.js +4 -21
- package/dist/LinearGCContentDisplay/stateModel1.d.ts +10 -29
- package/dist/LinearGCContentDisplay/stateModel1.js +0 -6
- package/dist/LinearGCContentDisplay/stateModel2.d.ts +10 -34
- package/dist/LinearGCContentDisplay/stateModel2.js +0 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.js +0 -1
- package/esm/GCContentAdapter/GCContentAdapter.d.ts +5 -9
- package/esm/GCContentAdapter/GCContentAdapter.js +47 -42
- package/esm/GCContentAdapter/configSchema.d.ts +1 -10
- package/esm/GCContentAdapter/configSchema.js +1 -14
- package/esm/GCContentAdapter/index.d.ts +1 -1
- package/esm/GCContentTrack/configSchema.d.ts +1 -1
- package/esm/GCContentTrack/configSchema.js +1 -8
- package/esm/GCContentTrack/index.d.ts +1 -1
- package/esm/LinearGCContentDisplay/components/EditGCContentParams.js +3 -3
- package/esm/LinearGCContentDisplay/config1.d.ts +1 -6
- package/esm/LinearGCContentDisplay/config1.js +0 -8
- package/esm/LinearGCContentDisplay/config2.d.ts +1 -6
- package/esm/LinearGCContentDisplay/config2.js +0 -8
- package/esm/LinearGCContentDisplay/index.d.ts +1 -1
- package/esm/LinearGCContentDisplay/shared.d.ts +10 -43
- package/esm/LinearGCContentDisplay/shared.js +5 -22
- package/esm/LinearGCContentDisplay/stateModel1.d.ts +10 -29
- package/esm/LinearGCContentDisplay/stateModel1.js +0 -6
- package/esm/LinearGCContentDisplay/stateModel2.d.ts +10 -34
- package/esm/LinearGCContentDisplay/stateModel2.js +0 -11
- package/esm/index.d.ts +1 -1
- package/esm/index.js +0 -1
- package/package.json +2 -2
|
@@ -1,15 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
/**
|
|
4
|
-
* #stateModel LinearGCContentTrackDisplay
|
|
5
|
-
* #category display
|
|
6
|
-
*
|
|
7
|
-
* used on GCContentTrack, separately from the display type on the
|
|
8
|
-
* ReferenceSequenceTrack
|
|
9
|
-
*
|
|
10
|
-
* extends
|
|
11
|
-
* - [SharedGCContentModel](../sharedgccontentmodel)
|
|
12
|
-
*/
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
13
3
|
export default function stateModelF(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
|
|
14
4
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
15
5
|
type: import("mobx-state-tree").ISimpleType<string>;
|
|
@@ -22,21 +12,12 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
|
|
|
22
12
|
} & {
|
|
23
13
|
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
24
14
|
key: import("mobx-state-tree").ISimpleType<string>;
|
|
25
|
-
region: import("mobx-state-tree").
|
|
26
|
-
refName: import("mobx-state-tree").ISimpleType<string>;
|
|
27
|
-
start: import("mobx-state-tree").ISimpleType<number>;
|
|
28
|
-
end: import("mobx-state-tree").ISimpleType<number>;
|
|
29
|
-
reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
30
|
-
} & {
|
|
31
|
-
assemblyName: import("mobx-state-tree").ISimpleType<string>;
|
|
32
|
-
}, {
|
|
33
|
-
setRefName(newRefName: string): void;
|
|
34
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
15
|
+
region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
|
|
35
16
|
reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
36
17
|
isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
37
18
|
isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
38
19
|
}, {
|
|
39
|
-
|
|
20
|
+
stopToken: string | undefined;
|
|
40
21
|
filled: boolean;
|
|
41
22
|
reactElement: React.ReactElement | undefined;
|
|
42
23
|
features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
|
|
@@ -60,15 +41,9 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
|
|
|
60
41
|
doReload(): void;
|
|
61
42
|
afterAttach(): void;
|
|
62
43
|
setStatus(message: string): void;
|
|
63
|
-
setLoading(
|
|
44
|
+
setLoading(newStopToken: string): void;
|
|
64
45
|
setMessage(messageText: string): void;
|
|
65
|
-
setRendered(props:
|
|
66
|
-
reactElement: React.ReactElement;
|
|
67
|
-
features: Map<string, import("@jbrowse/core/util").Feature>;
|
|
68
|
-
layout: any;
|
|
69
|
-
maxHeightReached: boolean;
|
|
70
|
-
renderProps: any;
|
|
71
|
-
} | undefined): void;
|
|
46
|
+
setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
|
|
72
47
|
setError(error: unknown): void;
|
|
73
48
|
reload(): void;
|
|
74
49
|
beforeDestroy(): void;
|
|
@@ -215,6 +190,7 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
|
|
|
215
190
|
readonly regionTooLarge: boolean;
|
|
216
191
|
readonly regionTooLargeReason: string;
|
|
217
192
|
} & {
|
|
193
|
+
readonly statsReadyAndRegionNotTooLarge: boolean;
|
|
218
194
|
regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
|
|
219
195
|
regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
|
|
220
196
|
} & {
|
|
@@ -258,7 +234,7 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
|
|
|
258
234
|
scoreMin: number;
|
|
259
235
|
scoreMax: number;
|
|
260
236
|
} | undefined;
|
|
261
|
-
statsFetchInProgress: undefined |
|
|
237
|
+
statsFetchInProgress: undefined | string;
|
|
262
238
|
} & {
|
|
263
239
|
updateQuantitativeStats(stats: {
|
|
264
240
|
currStatsBpPerPx: number;
|
|
@@ -268,7 +244,7 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
|
|
|
268
244
|
setColor(color?: string): void;
|
|
269
245
|
setPosColor(color?: string): void;
|
|
270
246
|
setNegColor(color?: string): void;
|
|
271
|
-
setStatsLoading(
|
|
247
|
+
setStatsLoading(arg?: string): void;
|
|
272
248
|
selectFeature(feature: import("@jbrowse/core/util").Feature): void;
|
|
273
249
|
setResolution(res: number): void;
|
|
274
250
|
setFill(fill: number): void;
|
|
@@ -421,5 +397,5 @@ export default function stateModelF(pluginManager: PluginManager, configSchema:
|
|
|
421
397
|
readonly windowDeltaSetting: any;
|
|
422
398
|
} & {
|
|
423
399
|
trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
|
|
424
|
-
|
|
400
|
+
adapterProps(): any;
|
|
425
401
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
@@ -5,18 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = stateModelF;
|
|
7
7
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
8
|
-
// locals
|
|
9
8
|
const shared_1 = __importDefault(require("./shared"));
|
|
10
|
-
/**
|
|
11
|
-
* #stateModel LinearGCContentTrackDisplay
|
|
12
|
-
* #category display
|
|
13
|
-
*
|
|
14
|
-
* used on GCContentTrack, separately from the display type on the
|
|
15
|
-
* ReferenceSequenceTrack
|
|
16
|
-
*
|
|
17
|
-
* extends
|
|
18
|
-
* - [SharedGCContentModel](../sharedgccontentmodel)
|
|
19
|
-
*/
|
|
20
9
|
function stateModelF(pluginManager, configSchema) {
|
|
21
10
|
return mobx_state_tree_1.types.compose('LinearGCContentTrackDisplay', (0, shared_1.default)(pluginManager, configSchema), mobx_state_tree_1.types.model({
|
|
22
11
|
type: mobx_state_tree_1.types.literal('LinearGCContentTrackDisplay'),
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Plugin from '@jbrowse/core/Plugin';
|
|
2
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
3
|
export default class GCContentPlugin extends Plugin {
|
|
4
4
|
name: string;
|
|
5
5
|
install(pluginManager: PluginManager): void;
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
|
|
7
|
-
// locals
|
|
8
7
|
const GCContentAdapter_1 = __importDefault(require("./GCContentAdapter"));
|
|
9
8
|
const GCContentTrack_1 = __importDefault(require("./GCContentTrack"));
|
|
10
9
|
const LinearGCContentDisplay_1 = __importDefault(require("./LinearGCContentDisplay"));
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter
|
|
2
|
-
import {
|
|
1
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
3
|
+
import type { Feature, Region } from '@jbrowse/core/util';
|
|
3
4
|
export default class GCContentAdapter extends BaseFeatureDataAdapter {
|
|
4
5
|
private gcMode;
|
|
5
6
|
static capabilities: string[];
|
|
6
7
|
configure(): Promise<BaseFeatureDataAdapter>;
|
|
7
|
-
getRefNames(): Promise<string[]>;
|
|
8
|
-
getFeatures(query: Region, opts
|
|
9
|
-
/**
|
|
10
|
-
* called to provide a hint that data tied to a certain region
|
|
11
|
-
* will not be needed for the foreseeable future and can be purged
|
|
12
|
-
* from caches, etc
|
|
13
|
-
*/
|
|
8
|
+
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
9
|
+
getFeatures(query: Region, opts?: BaseOptions): import("rxjs").Observable<Feature>;
|
|
14
10
|
freeResources(): void;
|
|
15
11
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter
|
|
2
|
-
import {
|
|
1
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import { SimpleFeature, updateStatus } from '@jbrowse/core/util';
|
|
3
3
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { checkStopToken } from '@jbrowse/core/util/stopToken';
|
|
5
|
+
import { firstValueFrom } from 'rxjs';
|
|
5
6
|
import { toArray } from 'rxjs/operators';
|
|
6
7
|
class GCContentAdapter extends BaseFeatureDataAdapter {
|
|
7
8
|
constructor() {
|
|
@@ -16,17 +17,18 @@ class GCContentAdapter extends BaseFeatureDataAdapter {
|
|
|
16
17
|
}
|
|
17
18
|
return adapter.dataAdapter;
|
|
18
19
|
}
|
|
19
|
-
async getRefNames() {
|
|
20
|
+
async getRefNames(opts) {
|
|
20
21
|
const adapter = await this.configure();
|
|
21
|
-
return adapter.getRefNames();
|
|
22
|
+
return adapter.getRefNames(opts);
|
|
22
23
|
}
|
|
23
24
|
getFeatures(query, opts) {
|
|
25
|
+
const { statusCallback = () => { }, stopToken } = opts || {};
|
|
24
26
|
return ObservableCreate(async (observer) => {
|
|
25
27
|
var _a;
|
|
26
28
|
const sequenceAdapter = await this.configure();
|
|
27
29
|
const windowSize = this.getConf('windowSize');
|
|
28
30
|
const windowDelta = this.getConf('windowDelta');
|
|
29
|
-
const hw = windowSize === 1 ? 1 : windowSize / 2;
|
|
31
|
+
const hw = windowSize === 1 ? 1 : windowSize / 2;
|
|
30
32
|
const f = windowSize === 1;
|
|
31
33
|
let { start: queryStart, end: queryEnd } = query;
|
|
32
34
|
queryStart = Math.max(0, queryStart - hw);
|
|
@@ -35,52 +37,55 @@ class GCContentAdapter extends BaseFeatureDataAdapter {
|
|
|
35
37
|
observer.complete();
|
|
36
38
|
return;
|
|
37
39
|
}
|
|
38
|
-
const
|
|
40
|
+
const feats = await firstValueFrom(sequenceAdapter
|
|
41
|
+
.getFeatures({
|
|
39
42
|
...query,
|
|
40
43
|
start: queryStart,
|
|
41
44
|
end: queryEnd,
|
|
42
|
-
}, opts)
|
|
43
|
-
|
|
45
|
+
}, opts)
|
|
46
|
+
.pipe(toArray()));
|
|
44
47
|
const residues = ((_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq')) || '';
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
let
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (letter === 'c' || letter === 'C') {
|
|
52
|
-
nc++;
|
|
48
|
+
let start = performance.now();
|
|
49
|
+
await updateStatus('Calculating GC', statusCallback, () => {
|
|
50
|
+
for (let i = hw; i < residues.length - hw; i += windowDelta) {
|
|
51
|
+
if (performance.now() - start > 400) {
|
|
52
|
+
checkStopToken(stopToken);
|
|
53
|
+
start = performance.now();
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
const r = f ? residues[i] : residues.slice(i - hw, i + hw);
|
|
56
|
+
let nc = 0;
|
|
57
|
+
let ng = 0;
|
|
58
|
+
let len = 0;
|
|
59
|
+
for (const letter of r) {
|
|
60
|
+
if (letter === 'c' || letter === 'C') {
|
|
61
|
+
nc++;
|
|
62
|
+
}
|
|
63
|
+
else if (letter === 'g' || letter === 'G') {
|
|
64
|
+
ng++;
|
|
65
|
+
}
|
|
66
|
+
if (letter !== 'N') {
|
|
67
|
+
len++;
|
|
68
|
+
}
|
|
59
69
|
}
|
|
70
|
+
const pos = queryStart;
|
|
71
|
+
const score = this.gcMode === 'content'
|
|
72
|
+
? (ng + nc) / (len || 1)
|
|
73
|
+
: this.gcMode === 'skew'
|
|
74
|
+
? (ng - nc) / (ng + nc || 1)
|
|
75
|
+
: 0;
|
|
76
|
+
observer.next(new SimpleFeature({
|
|
77
|
+
uniqueId: `${this.id}_${pos + i}`,
|
|
78
|
+
refName: query.refName,
|
|
79
|
+
start: pos + i,
|
|
80
|
+
end: pos + i + windowDelta,
|
|
81
|
+
score,
|
|
82
|
+
}));
|
|
60
83
|
}
|
|
61
|
-
|
|
62
|
-
const score = this.gcMode === 'content'
|
|
63
|
-
? (ng + nc) / (len || 1)
|
|
64
|
-
: this.gcMode === 'skew'
|
|
65
|
-
? (ng - nc) / (ng + nc || 1)
|
|
66
|
-
: 0;
|
|
67
|
-
observer.next(new SimpleFeature({
|
|
68
|
-
uniqueId: `${this.id}_${pos + i}`,
|
|
69
|
-
refName: query.refName,
|
|
70
|
-
start: pos + i,
|
|
71
|
-
end: pos + i + windowDelta,
|
|
72
|
-
score,
|
|
73
|
-
}));
|
|
74
|
-
}
|
|
84
|
+
});
|
|
75
85
|
observer.complete();
|
|
76
86
|
});
|
|
77
87
|
}
|
|
78
|
-
|
|
79
|
-
* called to provide a hint that data tied to a certain region
|
|
80
|
-
* will not be needed for the foreseeable future and can be purged
|
|
81
|
-
* from caches, etc
|
|
82
|
-
*/
|
|
83
|
-
freeResources( /* { region } */) { }
|
|
88
|
+
freeResources() { }
|
|
84
89
|
}
|
|
85
90
|
GCContentAdapter.capabilities = ['hasLocalStats'];
|
|
86
91
|
export default GCContentAdapter;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
declare const GCContentAdapterF: (_pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
3
|
-
/**
|
|
4
|
-
* #slot
|
|
5
|
-
*/
|
|
6
3
|
sequenceAdapter: {
|
|
7
4
|
type: string;
|
|
8
5
|
defaultValue: null;
|
|
9
6
|
};
|
|
10
|
-
/**
|
|
11
|
-
* #slot
|
|
12
|
-
*/
|
|
13
7
|
windowSize: {
|
|
14
8
|
type: string;
|
|
15
9
|
defaultValue: number;
|
|
16
10
|
};
|
|
17
|
-
/**
|
|
18
|
-
* #slot
|
|
19
|
-
*/
|
|
20
11
|
windowDelta: {
|
|
21
12
|
type: string;
|
|
22
13
|
defaultValue: number;
|
|
@@ -1,28 +1,15 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
|
|
3
|
-
* #config GCContentAdapter
|
|
4
|
-
* #category adapter
|
|
5
|
-
*/
|
|
6
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
function x() { }
|
|
7
3
|
const GCContentAdapterF = (_pluginManager) => {
|
|
8
4
|
return ConfigurationSchema('GCContentAdapter', {
|
|
9
|
-
/**
|
|
10
|
-
* #slot
|
|
11
|
-
*/
|
|
12
5
|
sequenceAdapter: {
|
|
13
6
|
type: 'frozen',
|
|
14
7
|
defaultValue: null,
|
|
15
8
|
},
|
|
16
|
-
/**
|
|
17
|
-
* #slot
|
|
18
|
-
*/
|
|
19
9
|
windowSize: {
|
|
20
10
|
type: 'number',
|
|
21
11
|
defaultValue: 100,
|
|
22
12
|
},
|
|
23
|
-
/**
|
|
24
|
-
* #slot
|
|
25
|
-
*/
|
|
26
13
|
windowDelta: {
|
|
27
14
|
type: 'number',
|
|
28
15
|
defaultValue: 100,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function GCContentAdapterF(pluginManager: PluginManager): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
3
3
|
name: {
|
|
4
4
|
description: string;
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
2
|
import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes';
|
|
3
|
-
|
|
4
|
-
* #config GCContentTrack
|
|
5
|
-
* used for having a gc content track outside of the "reference sequence display"
|
|
6
|
-
*/
|
|
7
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
3
|
+
function x() { }
|
|
8
4
|
const configSchema = (pluginManager) => ConfigurationSchema('GCContentTrack', {}, {
|
|
9
|
-
/**
|
|
10
|
-
* #baseConfiguration
|
|
11
|
-
*/
|
|
12
5
|
baseConfiguration: createBaseTrackConfig(pluginManager),
|
|
13
6
|
});
|
|
14
7
|
export default configSchema;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function GCContentTrackF(pm: PluginManager): void;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import { observer } from 'mobx-react';
|
|
3
|
-
import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
|
|
4
2
|
import { Dialog, ErrorMessage } from '@jbrowse/core/ui';
|
|
3
|
+
import { Button, DialogActions, DialogContent, TextField, Typography, } from '@mui/material';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
5
5
|
const EditGCContentParamsDialog = observer(function ({ model, handleClose, }) {
|
|
6
6
|
const [windowSize, setWindowSize] = useState(`${model.windowSizeSetting}`);
|
|
7
7
|
const [windowDelta, setWindowDelta] = useState(`${model.windowDeltaSetting}`);
|
|
8
8
|
return (React.createElement(Dialog, { open: true, onClose: handleClose, title: "Edit GC content params" },
|
|
9
9
|
React.createElement(DialogContent, null,
|
|
10
10
|
React.createElement(Typography, null, "GC content is calculated in a particular sliding window of size N, and then the sliding window moves (steps) some number of bases M forward. Note that small step sizes can result in high CPU over large areas, and it is not recommended to make the step size larger than the window size as then the sliding window will miss contents."),
|
|
11
|
-
windowDelta > windowSize ? (React.createElement(ErrorMessage, { error: "It is not recommended to make the step size larger than the window size" })) : null,
|
|
11
|
+
+windowDelta > +windowSize ? (React.createElement(ErrorMessage, { error: "It is not recommended to make the step size larger than the window size" })) : null,
|
|
12
12
|
React.createElement(TextField, { label: "Size of sliding window (bp)", value: windowSize, onChange: event => {
|
|
13
13
|
setWindowSize(event.target.value);
|
|
14
14
|
} }),
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
/**
|
|
3
|
-
* #config LinearGCContentDisplay
|
|
4
|
-
* #category display
|
|
5
|
-
* extends LinearWiggleDisplay
|
|
6
|
-
*/
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
7
2
|
export default function LinearGCContentDisplay(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
8
3
|
windowSize: {
|
|
9
4
|
type: string;
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
/**
|
|
3
|
-
* #config LinearGCContentDisplay
|
|
4
|
-
* #category display
|
|
5
|
-
* extends LinearWiggleDisplay
|
|
6
|
-
*/
|
|
7
2
|
export default function LinearGCContentDisplay(pluginManager) {
|
|
8
3
|
return ConfigurationSchema('LinearGCContentDisplay', {
|
|
9
4
|
windowSize: {
|
|
@@ -15,9 +10,6 @@ export default function LinearGCContentDisplay(pluginManager) {
|
|
|
15
10
|
defaultValue: 100,
|
|
16
11
|
},
|
|
17
12
|
}, {
|
|
18
|
-
/**
|
|
19
|
-
* #baseConfiguration
|
|
20
|
-
*/
|
|
21
13
|
baseConfiguration: pluginManager.getDisplayType('LinearWiggleDisplay')
|
|
22
14
|
.configSchema,
|
|
23
15
|
explicitlyTyped: true,
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
/**
|
|
3
|
-
* #config LinearGCContentTrackDisplay
|
|
4
|
-
* #category display
|
|
5
|
-
* extends LinearWiggleDisplay, used specifically for GCContentTrack
|
|
6
|
-
*/
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
7
2
|
export default function LinearGCContentTrackDisplayF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
8
3
|
windowSize: {
|
|
9
4
|
type: string;
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
/**
|
|
3
|
-
* #config LinearGCContentTrackDisplay
|
|
4
|
-
* #category display
|
|
5
|
-
* extends LinearWiggleDisplay, used specifically for GCContentTrack
|
|
6
|
-
*/
|
|
7
2
|
export default function LinearGCContentTrackDisplayF(pluginManager) {
|
|
8
3
|
return ConfigurationSchema('LinearGCContentTrackDisplay', {
|
|
9
4
|
windowSize: {
|
|
@@ -15,9 +10,6 @@ export default function LinearGCContentTrackDisplayF(pluginManager) {
|
|
|
15
10
|
defaultValue: 100,
|
|
16
11
|
},
|
|
17
12
|
}, {
|
|
18
|
-
/**
|
|
19
|
-
* #baseConfiguration
|
|
20
|
-
*/
|
|
21
13
|
baseConfiguration: pluginManager.getDisplayType('LinearWiggleDisplay')
|
|
22
14
|
.configSchema,
|
|
23
15
|
explicitlyTyped: true,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function LinearGCContentDisplayF(pluginManager: PluginManager): void;
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
/**
|
|
4
|
-
* #stateModel SharedGCContentModel
|
|
5
|
-
* #category display
|
|
6
|
-
* extends
|
|
7
|
-
* - [LinearWiggleDisplay](../linearwiggledisplay)
|
|
8
|
-
*/
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
9
3
|
export default function SharedModelF(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
|
|
10
4
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
11
5
|
type: import("mobx-state-tree").ISimpleType<string>;
|
|
@@ -18,23 +12,12 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
18
12
|
} & {
|
|
19
13
|
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
20
14
|
key: import("mobx-state-tree").ISimpleType<string>;
|
|
21
|
-
region: import("mobx-state-tree").
|
|
22
|
-
refName: import("mobx-state-tree").ISimpleType<string>;
|
|
23
|
-
start: import("mobx-state-tree").ISimpleType<number>;
|
|
24
|
-
end: import("mobx-state-tree").ISimpleType<number>;
|
|
25
|
-
reversed: import("mobx-state-tree" /**
|
|
26
|
-
* #property
|
|
27
|
-
*/).IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
28
|
-
} & {
|
|
29
|
-
assemblyName: import("mobx-state-tree").ISimpleType<string>;
|
|
30
|
-
}, {
|
|
31
|
-
setRefName(newRefName: string): void;
|
|
32
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
15
|
+
region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
|
|
33
16
|
reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
34
17
|
isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
35
18
|
isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
36
19
|
}, {
|
|
37
|
-
|
|
20
|
+
stopToken: string | undefined;
|
|
38
21
|
filled: boolean;
|
|
39
22
|
reactElement: React.ReactElement | undefined;
|
|
40
23
|
features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
|
|
@@ -58,15 +41,9 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
58
41
|
doReload(): void;
|
|
59
42
|
afterAttach(): void;
|
|
60
43
|
setStatus(message: string): void;
|
|
61
|
-
setLoading(
|
|
44
|
+
setLoading(newStopToken: string): void;
|
|
62
45
|
setMessage(messageText: string): void;
|
|
63
|
-
setRendered(props:
|
|
64
|
-
reactElement: React.ReactElement;
|
|
65
|
-
features: Map<string, import("@jbrowse/core/util").Feature>;
|
|
66
|
-
layout: any;
|
|
67
|
-
maxHeightReached: boolean;
|
|
68
|
-
renderProps: any;
|
|
69
|
-
} | undefined): void;
|
|
46
|
+
setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
|
|
70
47
|
setError(error: unknown): void;
|
|
71
48
|
reload(): void;
|
|
72
49
|
beforeDestroy(): void;
|
|
@@ -120,13 +97,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
120
97
|
} & {
|
|
121
98
|
type: import("mobx-state-tree").ISimpleType<"LinearWiggleDisplay">;
|
|
122
99
|
} & {
|
|
123
|
-
/**
|
|
124
|
-
* #property
|
|
125
|
-
*/
|
|
126
100
|
windowSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
127
|
-
/**
|
|
128
|
-
* #property
|
|
129
|
-
*/
|
|
130
101
|
windowDelta: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
131
102
|
}, {
|
|
132
103
|
rendererTypeName: string;
|
|
@@ -217,6 +188,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
217
188
|
readonly regionTooLarge: boolean;
|
|
218
189
|
readonly regionTooLargeReason: string;
|
|
219
190
|
} & {
|
|
191
|
+
readonly statsReadyAndRegionNotTooLarge: boolean;
|
|
220
192
|
regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
|
|
221
193
|
regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
|
|
222
194
|
} & {
|
|
@@ -260,7 +232,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
260
232
|
scoreMin: number;
|
|
261
233
|
scoreMax: number;
|
|
262
234
|
} | undefined;
|
|
263
|
-
statsFetchInProgress: undefined |
|
|
235
|
+
statsFetchInProgress: undefined | string;
|
|
264
236
|
} & {
|
|
265
237
|
updateQuantitativeStats(stats: {
|
|
266
238
|
currStatsBpPerPx: number;
|
|
@@ -270,7 +242,7 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
270
242
|
setColor(color?: string): void;
|
|
271
243
|
setPosColor(color?: string): void;
|
|
272
244
|
setNegColor(color?: string): void;
|
|
273
|
-
setStatsLoading(
|
|
245
|
+
setStatsLoading(arg?: string): void;
|
|
274
246
|
selectFeature(feature: import("@jbrowse/core/util").Feature): void;
|
|
275
247
|
setResolution(res: number): void;
|
|
276
248
|
setFill(fill: number): void;
|
|
@@ -423,10 +395,5 @@ export default function SharedModelF(pluginManager: PluginManager, configSchema:
|
|
|
423
395
|
readonly windowDeltaSetting: any;
|
|
424
396
|
} & {
|
|
425
397
|
trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
|
|
426
|
-
|
|
427
|
-
* #method
|
|
428
|
-
* retrieves the sequence adapter from parent track, and puts it as a
|
|
429
|
-
* subadapter on a GCContentAdapter
|
|
430
|
-
*/
|
|
431
|
-
renderProps(): any;
|
|
398
|
+
adapterProps(): any;
|
|
432
399
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { lazy } from 'react';
|
|
2
|
+
import { getConf } from '@jbrowse/core/configuration';
|
|
2
3
|
import { getSession } from '@jbrowse/core/util';
|
|
3
4
|
import { linearWiggleDisplayModelFactory } from '@jbrowse/plugin-wiggle';
|
|
4
5
|
import { types } from 'mobx-state-tree';
|
|
5
|
-
import { lazy } from 'react';
|
|
6
6
|
const EditGCContentParamsDialog = lazy(() => import('./components/EditGCContentParams'));
|
|
7
|
-
/**
|
|
8
|
-
* #stateModel SharedGCContentModel
|
|
9
|
-
* #category display
|
|
10
|
-
* extends
|
|
11
|
-
* - [LinearWiggleDisplay](../linearwiggledisplay)
|
|
12
|
-
*/
|
|
13
7
|
export default function SharedModelF(pluginManager, configSchema) {
|
|
14
8
|
return types
|
|
15
9
|
.compose('SharedGCContentModel', linearWiggleDisplayModelFactory(pluginManager, configSchema), types.model({
|
|
16
|
-
/**
|
|
17
|
-
* #property
|
|
18
|
-
*/
|
|
19
10
|
windowSize: types.maybe(types.number),
|
|
20
|
-
/**
|
|
21
|
-
* #property
|
|
22
|
-
*/
|
|
23
11
|
windowDelta: types.maybe(types.number),
|
|
24
12
|
}))
|
|
25
13
|
.actions(self => ({
|
|
@@ -39,7 +27,7 @@ export default function SharedModelF(pluginManager, configSchema) {
|
|
|
39
27
|
},
|
|
40
28
|
}))
|
|
41
29
|
.views(self => {
|
|
42
|
-
const { trackMenuItems: superTrackMenuItems,
|
|
30
|
+
const { trackMenuItems: superTrackMenuItems, adapterProps: superAdapterProps, } = self;
|
|
43
31
|
return {
|
|
44
32
|
trackMenuItems() {
|
|
45
33
|
return [
|
|
@@ -55,15 +43,10 @@ export default function SharedModelF(pluginManager, configSchema) {
|
|
|
55
43
|
},
|
|
56
44
|
];
|
|
57
45
|
},
|
|
58
|
-
|
|
59
|
-
* #method
|
|
60
|
-
* retrieves the sequence adapter from parent track, and puts it as a
|
|
61
|
-
* subadapter on a GCContentAdapter
|
|
62
|
-
*/
|
|
63
|
-
renderProps() {
|
|
46
|
+
adapterProps() {
|
|
64
47
|
const sequenceAdapter = getConf(self.parentTrack, 'adapter');
|
|
65
48
|
return {
|
|
66
|
-
...
|
|
49
|
+
...superAdapterProps(),
|
|
67
50
|
adapterConfig: {
|
|
68
51
|
type: 'GCContentAdapter',
|
|
69
52
|
sequenceAdapter,
|