@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.
Files changed (70) hide show
  1. package/esm/HicAdapter/HicAdapter.d.ts +9 -0
  2. package/esm/HicAdapter/HicAdapter.js +33 -2
  3. package/esm/HicAdapter/HicFilehandle.js +1 -0
  4. package/esm/HicAdapter/configSchema.d.ts +2 -2
  5. package/esm/HicAdapter/index.js +2 -2
  6. package/esm/HicRenderer/HicRenderer.d.ts +7 -36
  7. package/esm/HicRenderer/HicRenderer.js +19 -26
  8. package/esm/HicRenderer/components/HicColorLegend.d.ts +6 -0
  9. package/esm/HicRenderer/components/HicColorLegend.js +52 -0
  10. package/esm/HicRenderer/components/HicRendering.d.ts +1 -8
  11. package/esm/HicRenderer/components/HicRendering.js +3 -8
  12. package/esm/HicRenderer/configSchema.d.ts +2 -2
  13. package/esm/HicRenderer/index.js +4 -4
  14. package/esm/HicRenderer/makeImageData.d.ts +9 -2
  15. package/esm/HicRenderer/makeImageData.js +83 -58
  16. package/esm/HicRenderer/types.d.ts +7 -0
  17. package/esm/HicRenderer/types.js +1 -0
  18. package/esm/HicTrack/configSchema.d.ts +16 -11
  19. package/esm/HicTrack/index.js +1 -1
  20. package/esm/LinearHicDisplay/afterAttach.d.ts +2 -0
  21. package/esm/LinearHicDisplay/afterAttach.js +111 -0
  22. package/esm/LinearHicDisplay/components/BaseDisplayComponent.d.ts +2 -0
  23. package/esm/LinearHicDisplay/components/BaseDisplayComponent.js +1 -0
  24. package/esm/LinearHicDisplay/components/HicSVGColorLegend.d.ts +7 -0
  25. package/esm/LinearHicDisplay/components/HicSVGColorLegend.js +60 -0
  26. package/esm/LinearHicDisplay/components/ReactComponent.d.ts +5 -0
  27. package/esm/LinearHicDisplay/components/ReactComponent.js +83 -0
  28. package/esm/LinearHicDisplay/configSchema.d.ts +9 -4
  29. package/esm/LinearHicDisplay/configSchema.js +5 -0
  30. package/esm/LinearHicDisplay/index.js +4 -4
  31. package/esm/LinearHicDisplay/model.d.ts +180 -235
  32. package/esm/LinearHicDisplay/model.js +71 -34
  33. package/esm/LinearHicDisplay/renderSvg.d.ts +3 -0
  34. package/esm/LinearHicDisplay/renderSvg.js +32 -0
  35. package/esm/index.js +6 -9
  36. package/package.json +27 -32
  37. package/dist/GuessAdapter/index.d.ts +0 -2
  38. package/dist/GuessAdapter/index.js +0 -23
  39. package/dist/HicAdapter/HicAdapter.d.ts +0 -27
  40. package/dist/HicAdapter/HicAdapter.js +0 -63
  41. package/dist/HicAdapter/HicFilehandle.d.ts +0 -10
  42. package/dist/HicAdapter/HicFilehandle.js +0 -16
  43. package/dist/HicAdapter/configSchema.d.ts +0 -15
  44. package/dist/HicAdapter/configSchema.js +0 -32
  45. package/dist/HicAdapter/index.d.ts +0 -2
  46. package/dist/HicAdapter/index.js +0 -49
  47. package/dist/HicRenderer/HicRenderer.d.ts +0 -54
  48. package/dist/HicRenderer/HicRenderer.js +0 -87
  49. package/dist/HicRenderer/components/HicRendering.d.ts +0 -9
  50. package/dist/HicRenderer/components/HicRendering.js +0 -11
  51. package/dist/HicRenderer/configSchema.d.ts +0 -19
  52. package/dist/HicRenderer/configSchema.js +0 -23
  53. package/dist/HicRenderer/index.d.ts +0 -2
  54. package/dist/HicRenderer/index.js +0 -17
  55. package/dist/HicRenderer/makeImageData.d.ts +0 -11
  56. package/dist/HicRenderer/makeImageData.js +0 -81
  57. package/dist/HicRenderer/viridis.d.ts +0 -2
  58. package/dist/HicRenderer/viridis.js +0 -18
  59. package/dist/HicTrack/configSchema.d.ts +0 -80
  60. package/dist/HicTrack/configSchema.js +0 -9
  61. package/dist/HicTrack/index.d.ts +0 -2
  62. package/dist/HicTrack/index.js +0 -20
  63. package/dist/LinearHicDisplay/configSchema.d.ts +0 -35
  64. package/dist/LinearHicDisplay/configSchema.js +0 -14
  65. package/dist/LinearHicDisplay/index.d.ts +0 -2
  66. package/dist/LinearHicDisplay/index.js +0 -24
  67. package/dist/LinearHicDisplay/model.d.ts +0 -359
  68. package/dist/LinearHicDisplay/model.js +0 -205
  69. package/dist/index.d.ts +0 -7
  70. 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;