@jbrowse/plugin-hic 3.7.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/HicAdapter/HicAdapter.d.ts +9 -0
- package/esm/HicAdapter/HicAdapter.js +33 -2
- package/esm/HicAdapter/HicFilehandle.js +1 -0
- package/esm/HicAdapter/configSchema.d.ts +2 -2
- package/esm/HicAdapter/index.js +2 -2
- package/esm/HicRenderer/HicRenderer.d.ts +7 -36
- package/esm/HicRenderer/HicRenderer.js +19 -26
- package/esm/HicRenderer/components/HicColorLegend.d.ts +6 -0
- package/esm/HicRenderer/components/HicColorLegend.js +52 -0
- package/esm/HicRenderer/components/HicRendering.d.ts +1 -8
- package/esm/HicRenderer/components/HicRendering.js +3 -8
- package/esm/HicRenderer/configSchema.d.ts +2 -2
- package/esm/HicRenderer/index.js +4 -4
- package/esm/HicRenderer/makeImageData.d.ts +9 -2
- package/esm/HicRenderer/makeImageData.js +83 -58
- package/esm/HicRenderer/types.d.ts +7 -0
- package/esm/HicRenderer/types.js +1 -0
- package/esm/HicTrack/configSchema.d.ts +16 -11
- package/esm/HicTrack/index.js +1 -1
- package/esm/LinearHicDisplay/afterAttach.d.ts +2 -0
- package/esm/LinearHicDisplay/afterAttach.js +111 -0
- package/esm/LinearHicDisplay/components/BaseDisplayComponent.d.ts +2 -0
- package/esm/LinearHicDisplay/components/BaseDisplayComponent.js +1 -0
- package/esm/LinearHicDisplay/components/HicSVGColorLegend.d.ts +7 -0
- package/esm/LinearHicDisplay/components/HicSVGColorLegend.js +60 -0
- package/esm/LinearHicDisplay/components/ReactComponent.d.ts +5 -0
- package/esm/LinearHicDisplay/components/ReactComponent.js +83 -0
- package/esm/LinearHicDisplay/configSchema.d.ts +9 -4
- package/esm/LinearHicDisplay/configSchema.js +5 -0
- package/esm/LinearHicDisplay/index.js +4 -4
- package/esm/LinearHicDisplay/model.d.ts +180 -235
- package/esm/LinearHicDisplay/model.js +71 -34
- package/esm/LinearHicDisplay/renderSvg.d.ts +3 -0
- package/esm/LinearHicDisplay/renderSvg.js +32 -0
- package/esm/index.js +6 -9
- package/package.json +27 -32
- package/dist/GuessAdapter/index.d.ts +0 -2
- package/dist/GuessAdapter/index.js +0 -23
- package/dist/HicAdapter/HicAdapter.d.ts +0 -27
- package/dist/HicAdapter/HicAdapter.js +0 -63
- package/dist/HicAdapter/HicFilehandle.d.ts +0 -10
- package/dist/HicAdapter/HicFilehandle.js +0 -16
- package/dist/HicAdapter/configSchema.d.ts +0 -15
- package/dist/HicAdapter/configSchema.js +0 -32
- package/dist/HicAdapter/index.d.ts +0 -2
- package/dist/HicAdapter/index.js +0 -49
- package/dist/HicRenderer/HicRenderer.d.ts +0 -54
- package/dist/HicRenderer/HicRenderer.js +0 -87
- package/dist/HicRenderer/components/HicRendering.d.ts +0 -9
- package/dist/HicRenderer/components/HicRendering.js +0 -11
- package/dist/HicRenderer/configSchema.d.ts +0 -19
- package/dist/HicRenderer/configSchema.js +0 -23
- package/dist/HicRenderer/index.d.ts +0 -2
- package/dist/HicRenderer/index.js +0 -17
- package/dist/HicRenderer/makeImageData.d.ts +0 -11
- package/dist/HicRenderer/makeImageData.js +0 -81
- package/dist/HicRenderer/viridis.d.ts +0 -2
- package/dist/HicRenderer/viridis.js +0 -18
- package/dist/HicTrack/configSchema.d.ts +0 -80
- package/dist/HicTrack/configSchema.js +0 -9
- package/dist/HicTrack/index.d.ts +0 -2
- package/dist/HicTrack/index.js +0 -20
- package/dist/LinearHicDisplay/configSchema.d.ts +0 -35
- package/dist/LinearHicDisplay/configSchema.js +0 -14
- package/dist/LinearHicDisplay/index.d.ts +0 -2
- package/dist/LinearHicDisplay/index.js +0 -24
- package/dist/LinearHicDisplay/model.d.ts +0 -359
- package/dist/LinearHicDisplay/model.js +0 -205
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -33
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = stateModelFactory;
|
|
4
|
-
const configuration_1 = require("@jbrowse/core/configuration");
|
|
5
|
-
const util_1 = require("@jbrowse/core/util");
|
|
6
|
-
const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
|
|
7
|
-
const mobx_1 = require("mobx");
|
|
8
|
-
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
9
|
-
function x() { }
|
|
10
|
-
function stateModelFactory(configSchema) {
|
|
11
|
-
return mobx_state_tree_1.types
|
|
12
|
-
.compose('LinearHicDisplay', plugin_linear_genome_view_1.BaseLinearDisplay, mobx_state_tree_1.types.model({
|
|
13
|
-
type: mobx_state_tree_1.types.literal('LinearHicDisplay'),
|
|
14
|
-
configuration: (0, configuration_1.ConfigurationReference)(configSchema),
|
|
15
|
-
resolution: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, 1),
|
|
16
|
-
useLogScale: false,
|
|
17
|
-
colorScheme: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
|
|
18
|
-
activeNormalization: 'KR',
|
|
19
|
-
mode: 'triangular',
|
|
20
|
-
}))
|
|
21
|
-
.volatile(() => ({
|
|
22
|
-
availableNormalizations: undefined,
|
|
23
|
-
}))
|
|
24
|
-
.views(self => {
|
|
25
|
-
const { renderProps: superRenderProps } = self;
|
|
26
|
-
return {
|
|
27
|
-
get blockType() {
|
|
28
|
-
return 'dynamicBlocks';
|
|
29
|
-
},
|
|
30
|
-
get rendererTypeName() {
|
|
31
|
-
return 'HicRenderer';
|
|
32
|
-
},
|
|
33
|
-
renderProps() {
|
|
34
|
-
const config = self.rendererType.configSchema.create({
|
|
35
|
-
...(0, configuration_1.getConf)(self, 'renderer'),
|
|
36
|
-
...(self.colorScheme
|
|
37
|
-
? { color: 'jexl:interpolate(count,scale)' }
|
|
38
|
-
: {}),
|
|
39
|
-
}, (0, mobx_state_tree_1.getEnv)(self));
|
|
40
|
-
return {
|
|
41
|
-
...superRenderProps(),
|
|
42
|
-
config,
|
|
43
|
-
displayHeight: self.mode === 'adjust' ? self.height : undefined,
|
|
44
|
-
normalization: self.activeNormalization,
|
|
45
|
-
rpcDriverName: self.rpcDriverName,
|
|
46
|
-
displayModel: self,
|
|
47
|
-
resolution: self.resolution,
|
|
48
|
-
useLogScale: self.useLogScale,
|
|
49
|
-
colorScheme: self.colorScheme,
|
|
50
|
-
};
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
})
|
|
54
|
-
.actions(self => ({
|
|
55
|
-
setResolution(n) {
|
|
56
|
-
self.resolution = n;
|
|
57
|
-
},
|
|
58
|
-
setUseLogScale(f) {
|
|
59
|
-
self.useLogScale = f;
|
|
60
|
-
},
|
|
61
|
-
setColorScheme(f) {
|
|
62
|
-
self.colorScheme = f;
|
|
63
|
-
},
|
|
64
|
-
setActiveNormalization(f) {
|
|
65
|
-
self.activeNormalization = f;
|
|
66
|
-
},
|
|
67
|
-
setAvailableNormalizations(f) {
|
|
68
|
-
self.availableNormalizations = f;
|
|
69
|
-
},
|
|
70
|
-
setMode(arg) {
|
|
71
|
-
self.mode = arg;
|
|
72
|
-
},
|
|
73
|
-
}))
|
|
74
|
-
.views(self => {
|
|
75
|
-
const { trackMenuItems: superTrackMenuItems } = self;
|
|
76
|
-
return {
|
|
77
|
-
trackMenuItems() {
|
|
78
|
-
return [
|
|
79
|
-
...superTrackMenuItems(),
|
|
80
|
-
{
|
|
81
|
-
label: 'Use log scale',
|
|
82
|
-
type: 'checkbox',
|
|
83
|
-
checked: self.useLogScale,
|
|
84
|
-
onClick: () => {
|
|
85
|
-
self.setUseLogScale(!self.useLogScale);
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
label: 'Rendering mode',
|
|
90
|
-
type: 'subMenu',
|
|
91
|
-
subMenu: [
|
|
92
|
-
{
|
|
93
|
-
label: 'Triangular',
|
|
94
|
-
type: 'radio',
|
|
95
|
-
checked: self.mode === 'triangular',
|
|
96
|
-
onClick: () => {
|
|
97
|
-
self.setMode('triangular');
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
label: 'Adjust to height of display',
|
|
102
|
-
type: 'radio',
|
|
103
|
-
checked: self.mode === 'adjust',
|
|
104
|
-
onClick: () => {
|
|
105
|
-
self.setMode('adjust');
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
label: 'Color scheme',
|
|
112
|
-
type: 'subMenu',
|
|
113
|
-
subMenu: [
|
|
114
|
-
{
|
|
115
|
-
label: 'Fall',
|
|
116
|
-
type: 'radio',
|
|
117
|
-
checked: self.colorScheme === 'fall',
|
|
118
|
-
onClick: () => {
|
|
119
|
-
self.setColorScheme('fall');
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
label: 'Viridis',
|
|
124
|
-
type: 'radio',
|
|
125
|
-
checked: self.colorScheme === 'viridis',
|
|
126
|
-
onClick: () => {
|
|
127
|
-
self.setColorScheme('viridis');
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
label: 'Juicebox',
|
|
132
|
-
type: 'radio',
|
|
133
|
-
checked: self.colorScheme === 'juicebox',
|
|
134
|
-
onClick: () => {
|
|
135
|
-
self.setColorScheme('juicebox');
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
label: 'Default',
|
|
140
|
-
type: 'radio',
|
|
141
|
-
checked: self.colorScheme === undefined,
|
|
142
|
-
onClick: () => {
|
|
143
|
-
self.setColorScheme(undefined);
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
],
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
label: 'Resolution',
|
|
150
|
-
subMenu: [
|
|
151
|
-
{
|
|
152
|
-
label: 'Finer resolution',
|
|
153
|
-
onClick: () => {
|
|
154
|
-
self.setResolution(self.resolution * 2);
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
label: 'Coarser resolution',
|
|
159
|
-
onClick: () => {
|
|
160
|
-
self.setResolution(self.resolution / 2);
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
],
|
|
164
|
-
},
|
|
165
|
-
...(self.availableNormalizations
|
|
166
|
-
? [
|
|
167
|
-
{
|
|
168
|
-
label: 'Normalization scheme',
|
|
169
|
-
subMenu: self.availableNormalizations.map(norm => ({
|
|
170
|
-
label: norm,
|
|
171
|
-
type: 'radio',
|
|
172
|
-
checked: norm === self.activeNormalization,
|
|
173
|
-
onClick: () => {
|
|
174
|
-
self.setActiveNormalization(norm);
|
|
175
|
-
},
|
|
176
|
-
})),
|
|
177
|
-
},
|
|
178
|
-
]
|
|
179
|
-
: []),
|
|
180
|
-
];
|
|
181
|
-
},
|
|
182
|
-
};
|
|
183
|
-
})
|
|
184
|
-
.actions(self => ({
|
|
185
|
-
afterAttach() {
|
|
186
|
-
(0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
|
|
187
|
-
try {
|
|
188
|
-
const { rpcManager } = (0, util_1.getSession)(self);
|
|
189
|
-
const track = (0, util_1.getContainingTrack)(self);
|
|
190
|
-
const adapterConfig = (0, configuration_1.getConf)(track, 'adapter');
|
|
191
|
-
const { norms } = (await rpcManager.call((0, configuration_1.getConf)(track, 'trackId'), 'CoreGetInfo', {
|
|
192
|
-
adapterConfig,
|
|
193
|
-
}));
|
|
194
|
-
if (norms) {
|
|
195
|
-
self.setAvailableNormalizations(norms);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
catch (e) {
|
|
199
|
-
console.error(e);
|
|
200
|
-
(0, util_1.getSession)(self).notifyError(`${e}`, e);
|
|
201
|
-
}
|
|
202
|
-
}));
|
|
203
|
-
},
|
|
204
|
-
}));
|
|
205
|
-
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import Plugin from '@jbrowse/core/Plugin';
|
|
2
|
-
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
-
export default class HicPlugin extends Plugin {
|
|
4
|
-
name: string;
|
|
5
|
-
install(pluginManager: PluginManager): void;
|
|
6
|
-
configure(pluginManager: PluginManager): void;
|
|
7
|
-
}
|
package/dist/index.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
|
|
7
|
-
const colord_1 = require("@jbrowse/core/util/colord");
|
|
8
|
-
const GuessAdapter_1 = __importDefault(require("./GuessAdapter"));
|
|
9
|
-
const HicAdapter_1 = __importDefault(require("./HicAdapter"));
|
|
10
|
-
const HicRenderer_1 = __importDefault(require("./HicRenderer"));
|
|
11
|
-
const HicTrack_1 = __importDefault(require("./HicTrack"));
|
|
12
|
-
const LinearHicDisplay_1 = __importDefault(require("./LinearHicDisplay"));
|
|
13
|
-
class HicPlugin extends Plugin_1.default {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.name = 'HicPlugin';
|
|
17
|
-
}
|
|
18
|
-
install(pluginManager) {
|
|
19
|
-
(0, HicAdapter_1.default)(pluginManager);
|
|
20
|
-
(0, HicRenderer_1.default)(pluginManager);
|
|
21
|
-
(0, HicTrack_1.default)(pluginManager);
|
|
22
|
-
(0, LinearHicDisplay_1.default)(pluginManager);
|
|
23
|
-
(0, GuessAdapter_1.default)(pluginManager);
|
|
24
|
-
}
|
|
25
|
-
configure(pluginManager) {
|
|
26
|
-
const { jexl } = pluginManager;
|
|
27
|
-
jexl.addFunction('alpha', (color, n) => color.alpha(n));
|
|
28
|
-
jexl.addFunction('hsl', (color) => (0, colord_1.colord)(color.toHsl()));
|
|
29
|
-
jexl.addFunction('colorString', (color) => color.toHex());
|
|
30
|
-
jexl.addFunction('interpolate', (count, scale) => scale(count));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.default = HicPlugin;
|