@jbrowse/plugin-alignments 2.6.3 → 2.7.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 (123) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -2
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +2 -1
  3. package/dist/AlignmentsFeatureDetail/util.d.ts +1 -3
  4. package/dist/BamAdapter/BamAdapter.d.ts +2 -9
  5. package/dist/CramAdapter/CramAdapter.d.ts +3 -11
  6. package/dist/CramAdapter/CramAdapter.js +2 -1
  7. package/dist/CramAdapter/util.js +3 -6
  8. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +3 -4
  9. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +3 -3
  10. package/dist/LinearAlignmentsDisplay/models/model.d.ts +5 -9
  11. package/dist/LinearAlignmentsDisplay/models/model.js +1 -0
  12. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +49 -27
  13. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +20 -2
  14. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +4 -5
  15. package/dist/LinearPileupDisplay/components/ColorByModifications.js +3 -4
  16. package/dist/LinearPileupDisplay/components/ColorByTag.d.ts +7 -5
  17. package/dist/LinearPileupDisplay/components/ColorByTag.js +4 -7
  18. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -4
  19. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +2 -2
  20. package/dist/LinearPileupDisplay/components/SetFeatureHeight.d.ts +4 -5
  21. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +3 -3
  22. package/dist/LinearPileupDisplay/components/SetMaxHeight.d.ts +3 -4
  23. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +3 -3
  24. package/dist/LinearPileupDisplay/components/SortByTag.d.ts +3 -4
  25. package/dist/LinearPileupDisplay/components/SortByTag.js +3 -3
  26. package/dist/LinearPileupDisplay/model.d.ts +56 -35
  27. package/dist/LinearPileupDisplay/model.js +3 -2
  28. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -2
  29. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +2 -1
  30. package/dist/LinearReadArcsDisplay/model.d.ts +9 -14
  31. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -2
  32. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +2 -1
  33. package/dist/LinearReadCloudDisplay/drawPairChains.js +1 -2
  34. package/dist/LinearReadCloudDisplay/model.d.ts +13 -15
  35. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +1 -1
  36. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +18 -423
  37. package/dist/LinearSNPCoverageDisplay/models/model.js +18 -0
  38. package/dist/MismatchParser/index.js +6 -8
  39. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +2 -2
  40. package/dist/PileupRenderer/PileupRenderer.js +0 -25
  41. package/dist/PileupRenderer/colorBy.js +1 -1
  42. package/dist/PileupRenderer/components/PileupRendering.d.ts +9 -10
  43. package/dist/PileupRenderer/components/PileupRendering.js +3 -5
  44. package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -1
  45. package/dist/PileupRenderer/layoutFeature.js +1 -2
  46. package/dist/PileupRenderer/makeImageData.d.ts +1 -3
  47. package/dist/PileupRenderer/renderMethylation.js +5 -10
  48. package/dist/PileupRenderer/renderMismatches.d.ts +2 -6
  49. package/dist/PileupRenderer/renderMismatches.js +8 -11
  50. package/dist/PileupRenderer/renderModifications.js +4 -8
  51. package/dist/PileupRenderer/renderSoftClipping.js +26 -25
  52. package/dist/PileupRenderer/sortUtil.js +2 -2
  53. package/dist/SNPCoverageAdapter/util.d.ts +9 -13
  54. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +6 -12
  55. package/dist/shared/BaseDisplayComponent.d.ts +2 -2
  56. package/dist/shared/BaseDisplayComponent.js +2 -1
  57. package/dist/shared/FilterByTag.d.ts +6 -15
  58. package/dist/shared/FilterByTag.js +4 -6
  59. package/dist/shared/fetchChains.js +1 -0
  60. package/dist/shared/index.d.ts +9 -0
  61. package/dist/util.d.ts +3 -9
  62. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -2
  63. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +2 -1
  64. package/esm/AlignmentsFeatureDetail/util.d.ts +1 -3
  65. package/esm/BamAdapter/BamAdapter.d.ts +2 -9
  66. package/esm/CramAdapter/CramAdapter.d.ts +3 -11
  67. package/esm/CramAdapter/CramAdapter.js +2 -1
  68. package/esm/CramAdapter/util.js +3 -6
  69. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +3 -4
  70. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +3 -3
  71. package/esm/LinearAlignmentsDisplay/models/model.d.ts +5 -9
  72. package/esm/LinearAlignmentsDisplay/models/model.js +1 -0
  73. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +49 -27
  74. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +20 -2
  75. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +4 -5
  76. package/esm/LinearPileupDisplay/components/ColorByModifications.js +3 -4
  77. package/esm/LinearPileupDisplay/components/ColorByTag.d.ts +7 -5
  78. package/esm/LinearPileupDisplay/components/ColorByTag.js +4 -7
  79. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -4
  80. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +2 -2
  81. package/esm/LinearPileupDisplay/components/SetFeatureHeight.d.ts +4 -5
  82. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js +3 -3
  83. package/esm/LinearPileupDisplay/components/SetMaxHeight.d.ts +3 -4
  84. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +3 -3
  85. package/esm/LinearPileupDisplay/components/SortByTag.d.ts +3 -4
  86. package/esm/LinearPileupDisplay/components/SortByTag.js +3 -3
  87. package/esm/LinearPileupDisplay/model.d.ts +56 -35
  88. package/esm/LinearPileupDisplay/model.js +3 -2
  89. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -2
  90. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +2 -1
  91. package/esm/LinearReadArcsDisplay/model.d.ts +9 -14
  92. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -2
  93. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +2 -1
  94. package/esm/LinearReadCloudDisplay/drawPairChains.js +1 -2
  95. package/esm/LinearReadCloudDisplay/model.d.ts +13 -15
  96. package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +1 -1
  97. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +18 -423
  98. package/esm/LinearSNPCoverageDisplay/models/model.js +18 -0
  99. package/esm/MismatchParser/index.js +6 -8
  100. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +2 -2
  101. package/esm/PileupRenderer/PileupRenderer.js +0 -2
  102. package/esm/PileupRenderer/colorBy.js +1 -1
  103. package/esm/PileupRenderer/components/PileupRendering.d.ts +9 -10
  104. package/esm/PileupRenderer/components/PileupRendering.js +3 -5
  105. package/esm/PileupRenderer/getAlignmentShapeColor.js +1 -1
  106. package/esm/PileupRenderer/layoutFeature.js +1 -2
  107. package/esm/PileupRenderer/makeImageData.d.ts +1 -3
  108. package/esm/PileupRenderer/renderMethylation.js +5 -10
  109. package/esm/PileupRenderer/renderMismatches.d.ts +2 -6
  110. package/esm/PileupRenderer/renderMismatches.js +8 -11
  111. package/esm/PileupRenderer/renderModifications.js +4 -8
  112. package/esm/PileupRenderer/renderSoftClipping.js +26 -25
  113. package/esm/PileupRenderer/sortUtil.js +2 -2
  114. package/esm/SNPCoverageAdapter/util.d.ts +9 -13
  115. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +6 -12
  116. package/esm/shared/BaseDisplayComponent.d.ts +2 -2
  117. package/esm/shared/BaseDisplayComponent.js +3 -2
  118. package/esm/shared/FilterByTag.d.ts +6 -15
  119. package/esm/shared/FilterByTag.js +4 -6
  120. package/esm/shared/fetchChains.js +1 -0
  121. package/esm/shared/index.d.ts +9 -0
  122. package/esm/util.d.ts +3 -9
  123. package/package.json +3 -4
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import PluginManager from '@jbrowse/core/PluginManager';
3
- import { AnyConfigurationSchemaType, AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
4
4
  /**
5
5
  * #stateModel LinearSNPCoverageDisplay
6
6
  * extends `LinearWiggleDisplay`
@@ -19,11 +19,11 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
19
19
  key: import("mobx-state-tree").ISimpleType<string>;
20
20
  region: import("mobx-state-tree").IModelType<{
21
21
  refName: import("mobx-state-tree").ISimpleType<string>;
22
- start: import("mobx-state-tree").ISimpleType<number>;
23
- end: import("mobx-state-tree").ISimpleType<number>;
24
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>; /**
22
+ start: import("mobx-state-tree").ISimpleType<number>; /**
25
23
  * #property
26
24
  */
25
+ end: import("mobx-state-tree").ISimpleType<number>;
26
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
27
27
  } & {
28
28
  assemblyName: import("mobx-state-tree").ISimpleType<string>;
29
29
  }, {
@@ -37,19 +37,16 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
37
37
  filled: boolean;
38
38
  reactElement: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
39
39
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
40
- layout: any;
40
+ layout: any; /**
41
+ * #property
42
+ */
41
43
  status: string;
42
44
  error: unknown;
43
45
  message: string | undefined;
44
46
  maxHeightReached: boolean;
45
47
  ReactComponent: ({ model, }: {
46
- /**
47
- * #property
48
- */
49
48
  model: any;
50
- }) => any; /**
51
- * #property
52
- */
49
+ }) => any;
53
50
  renderProps: any;
54
51
  } & {
55
52
  doReload(): void;
@@ -88,7 +85,9 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
88
85
  type: string;
89
86
  description: string;
90
87
  defaultValue: string;
91
- contextVariable: string[];
88
+ contextVariable: string[]; /**
89
+ * #property
90
+ */
92
91
  };
93
92
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
94
93
  } & {
@@ -98,19 +97,11 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
98
97
  minSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
99
98
  color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
100
99
  posColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
101
- negColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
102
- * #property
103
- */
104
- summaryScoreMode: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
105
- * #property
106
- */
100
+ negColor: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
101
+ summaryScoreMode: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
107
102
  rendererTypeNameState: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
108
- scale: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
109
- * #property
110
- */
111
- autoscale: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; /**
112
- * #property
113
- */
103
+ scale: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
104
+ autoscale: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
114
105
  displayCrossHatches: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
115
106
  constraints: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
116
107
  max: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
@@ -155,406 +146,10 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
155
146
  type: import("mobx-state-tree").ISimpleType<string>;
156
147
  tag: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
157
148
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
158
- }, {
159
- rendererTypeName: string;
160
- error: unknown;
161
- message: string | undefined;
162
- } & {
163
- readonly RenderingComponent: import("react").FC<{
164
- model: {
165
- id: string;
166
- type: string;
167
- rpcDriverName: string | undefined;
168
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
169
- rendererTypeName: string;
170
- error: unknown;
171
- message: string | undefined;
172
- } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
173
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
174
- type: import("mobx-state-tree").ISimpleType<string>;
175
- rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
176
- }, {
177
- rendererTypeName: string;
178
- error: unknown;
179
- message: string | undefined;
180
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
181
- onHorizontalScroll?: Function | undefined;
182
- blockState?: Record<string, any> | undefined;
183
- }>;
184
- readonly DisplayBlurb: import("react").FC<{
185
- model: {
186
- id: string;
187
- type: string;
188
- rpcDriverName: string | undefined;
189
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
190
- rendererTypeName: string;
191
- error: unknown;
192
- message: string | undefined;
193
- } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
194
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
195
- type: import("mobx-state-tree").ISimpleType<string>;
196
- rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
197
- }, {
198
- rendererTypeName: string;
199
- error: unknown;
200
- message: string | undefined;
201
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
202
- }> | null;
203
- readonly adapterConfig: any; /**
204
- * #getter
205
- */
206
- readonly parentTrack: any;
207
- renderProps(): any;
208
- readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
209
- readonly DisplayMessageComponent: import("react").FC<any> | undefined;
210
- trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
211
- readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
212
- regionCannotBeRendered(): null;
213
- } & {
214
- setMessage(arg?: string | undefined): void;
215
- setError(error?: unknown): void;
216
- setRpcDriverName(rpcDriverName: string): void;
217
- reload(): void;
218
- } & {
219
- scrollTop: number;
220
- } & {
221
- readonly height: number;
222
- } & {
223
- setScrollTop(scrollTop: number): void;
224
- setHeight(displayHeight: number): number;
225
- resizeHeight(distance: number): number;
226
- } & {
227
- featureDensityStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats> | undefined;
228
- featureDensityStats: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | undefined;
229
- currStatsBpPerPx: number;
230
- } & {
231
- readonly currentBytesRequested: number;
232
- readonly currentFeatureScreenDensity: number;
233
- readonly maxFeatureScreenDensity: any;
234
- readonly featureDensityStatsReady: boolean;
235
- readonly maxAllowableBytes: number;
236
- } & {
237
- afterAttach(): void;
238
- } & {
239
- setCurrStatsBpPerPx(n: number): void;
240
- setFeatureDensityStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | undefined): void;
241
- getFeatureDensityStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
242
- setFeatureDensityStatsP(arg: any): void;
243
- setFeatureDensityStats(featureDensityStats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | undefined): void;
244
- clearFeatureDensityStats(): void;
245
- } & {
246
- readonly regionTooLarge: boolean;
247
- readonly regionTooLargeReason: string;
248
- } & {
249
- regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
250
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
251
- } & {
252
- featureIdUnderMouse: string | undefined;
253
- contextMenuFeature: import("@jbrowse/core/util").Feature | undefined;
254
- } & {
255
- readonly blockType: "dynamicBlocks" | "staticBlocks";
256
- readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
257
- } & {
258
- readonly renderDelay: number;
259
- readonly TooltipComponent: import("react").FC<any>;
260
- readonly selectedFeatureId: string | undefined;
261
- readonly DisplayMessageComponent: import("react").FC<any> | undefined;
262
- } & {
263
- readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
264
- readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
265
- getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined;
266
- getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
267
- searchFeatureByID(id: string): [number, number, number, number] | undefined;
268
- } & {
269
- addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
270
- deleteBlock(key: string): void;
271
- selectFeature(feature: import("@jbrowse/core/util").Feature): void;
272
- clearFeatureSelection(): void;
273
- setFeatureIdUnderMouse(feature?: string | undefined): void;
274
- setContextMenuFeature(feature?: import("@jbrowse/core/util").Feature | undefined): void;
275
- } & {
276
- reload(): Promise<void>;
277
- } & {
278
- trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
279
- contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
280
- renderProps(): any;
281
- } & {
282
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
283
- afterAttach(): void;
284
- } & {
285
- message: string | undefined;
286
- stats: {
287
- scoreMin: number;
288
- scoreMax: number;
289
- } | undefined;
290
- statsFetchInProgress: AbortController | undefined;
291
- } & {
292
- updateQuantitativeStats(stats: {
293
- scoreMin: number;
294
- scoreMax: number;
295
- }): void;
296
- setColor(color?: string | undefined): void;
297
- setPosColor(color?: string | undefined): void;
298
- setNegColor(color?: string | undefined): void;
299
- setLoading(aborter: AbortController): void;
300
- selectFeature(feature: import("@jbrowse/core/util").Feature): void;
301
- setResolution(res: number): void;
302
- setFill(fill: number): void;
303
- toggleLogScale(): void;
304
- setScaleType(scale?: string | undefined): void;
305
- setSummaryScoreMode(val: string): void;
306
- setAutoscale(val: string): void;
307
- setMaxScore(val?: number | undefined): void;
308
- setRendererType(val: string): void;
309
- setMinScore(val?: number | undefined): void;
310
- toggleCrossHatches(): void;
311
- setCrossHatches(cross: boolean): void;
312
- } & {
313
- readonly adapterTypeName: any;
314
- readonly rendererTypeNameSimple: any;
315
- readonly filters: undefined;
316
- readonly scaleType: any;
317
- readonly maxScore: any;
318
- readonly minScore: any;
319
- } & {
320
- readonly adapterCapabilities: string[];
321
- readonly rendererConfig: {
322
- [x: string]: any;
323
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
324
- setSubschema(slotName: string, data: unknown): any;
325
- } & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
326
- readonly autoscaleType: any;
327
- } & {
328
- readonly domain: number[] | undefined;
329
- } & {
330
- readonly filled: boolean;
331
- readonly summaryScoreModeSetting: string;
332
- readonly scaleOpts: {
333
- domain: number[] | undefined;
334
- stats: {
335
- scoreMin: number;
336
- scoreMax: number;
337
- } | undefined;
338
- autoscaleType: any;
339
- scaleType: any;
340
- inverted: any;
341
- };
342
- readonly canHaveFill: boolean;
343
- readonly displayCrossHatchesSetting: boolean;
344
- readonly hasResolution: boolean;
345
- readonly hasGlobalStats: boolean;
346
- } & {
347
- scoreTrackMenuItems(): ({
348
- label: string;
349
- subMenu: {
350
- label: string;
351
- onClick: () => void;
352
- }[];
353
- onClick?: undefined;
354
- } | {
355
- label: string;
356
- subMenu: {
357
- label: string;
358
- type: string;
359
- checked: boolean;
360
- onClick: () => void;
361
- }[];
362
- onClick?: undefined;
363
- } | {
364
- label: string;
365
- onClick: () => void;
366
- subMenu?: undefined;
367
- })[];
368
- } & {
369
- reload(): Promise<void>;
370
- } & {
371
- readonly TooltipComponent: import("react").FC<{}>;
372
- readonly rendererTypeName: string; /**
373
- * #property
374
- */
375
- } & {
376
- readonly ticks: {
377
- range: number[];
378
- values: number[];
379
- format: (d: import("d3-scale").NumberValue) => string;
380
- position: import("d3-scale").ScaleLinear<number, number, never> | import("d3-scale").ScaleQuantize<number, never>;
381
- } | undefined;
382
- } & {
383
- renderProps(): any;
384
- readonly needsScalebar: boolean;
385
- readonly fillSetting: 0 | 1 | 2;
386
- } & {
387
- trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
388
- label: string;
389
- subMenu: ({
390
- label: string;
391
- subMenu: {
392
- label: string;
393
- onClick: () => void;
394
- }[];
395
- onClick?: undefined;
396
- } | {
397
- label: string;
398
- subMenu: {
399
- label: string;
400
- type: string;
401
- checked: boolean;
402
- onClick: () => void;
403
- }[];
404
- onClick?: undefined;
405
- } | {
406
- label: string;
407
- onClick: () => void;
408
- subMenu?: undefined;
409
- })[];
410
- type?: undefined;
411
- checked?: undefined;
412
- onClick?: undefined;
413
- } | {
414
- label: string;
415
- subMenu: {
416
- label: string;
417
- type: string;
418
- checked: boolean; /**
419
- * #getter
420
- */
421
- onClick: () => void;
422
- }[];
423
- type?: undefined;
424
- checked?: undefined;
425
- onClick?: undefined;
426
- } | {
427
- type: string;
428
- label: string;
429
- checked: boolean;
430
- onClick: () => void;
431
- subMenu?: undefined;
432
- })[];
433
- } & {
434
- afterAttach(): void;
435
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
436
- } & {
437
- modificationTagMap: import("mobx").ObservableMap<string, string>;
438
- modificationsReady: boolean;
439
- } & {
440
- /**
441
- * #action
442
- */
443
- setConfig(configuration: AnyConfigurationModel): void;
444
149
  /**
445
- * #action
446
- */
447
- setFilterBy(filter: {
448
- flagInclude: number;
449
- flagExclude: number;
450
- readName?: string;
451
- tagFilter?: {
452
- tag: string;
453
- value: string;
454
- };
455
- }): void;
456
- /**
457
- * #action
458
- */
459
- setColorBy(colorBy?: {
460
- type: string;
461
- tag?: string;
462
- }): void;
463
- /**
464
- * #action
465
- */
466
- updateModificationColorMap(uniqueModifications: string[]): void;
467
- } & {
468
- /**
469
- * #getter
470
- */
471
- readonly rendererConfig: {
472
- [x: string]: any;
473
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
474
- setSubschema(slotName: string, data: unknown): any;
475
- } & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
476
- /**
477
- * #getter
478
- */
479
- readonly drawArcsSetting: any;
480
- /**
481
- * #getter
482
- */
483
- readonly drawInterbaseCountsSetting: any;
484
- /**
485
- * #getter
486
- */
487
- readonly drawIndicatorsSetting: any;
488
- /**
489
- * #getter
490
- */
491
- readonly autorunReady: boolean;
492
- readonly renderReady: boolean;
493
- readonly ready: boolean;
494
- /**
495
- * #method
496
- */
497
- renderProps(): any;
498
- } & {
499
- /**
500
- * #action
501
- */
502
- setModificationsReady(flag: boolean): void;
503
- /**
504
- * #action
505
- */
506
- toggleDrawIndicators(): void;
507
- /**
508
- * #action
509
- */
510
- toggleDrawInterbaseCounts(): void;
511
- /**
512
- * #action
513
- */
514
- toggleDrawArcs(): void;
515
- } & {
516
- afterAttach(): void;
517
- } & {
518
- /**
519
- * #getter
520
- */
521
- readonly TooltipComponent: (props: {
522
- model: {
523
- featureUnderMouse: import("@jbrowse/core/util").Feature;
524
- };
525
- height: number;
526
- offsetMouseCoord: [number, number];
527
- clientMouseCoord: [number, number];
528
- clientRect?: DOMRect | undefined;
529
- }) => import("react").JSX.Element | null;
530
- /**
531
- * #getter
532
- */
533
- readonly adapterConfig: {
534
- type: string;
535
- subadapter: any;
536
- };
537
- /**
538
- * #getter
539
- */
540
- readonly rendererTypeName: string | undefined;
541
- /**
542
- * #getter
543
- */
544
- readonly needsScalebar: boolean;
545
- /**
546
- * #method
547
- */
548
- contextMenuItems(): never[];
549
- /**
550
- * #method
150
+ * #property
551
151
  */
552
- trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
553
- label: string;
554
- type: string;
555
- checked: any;
556
- onClick: () => void;
557
- })[];
558
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
152
+ jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
153
+ }, never, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
559
154
  export type SNPCoverageDisplayModel = ReturnType<typeof stateModelFactory>;
560
155
  export default stateModelFactory;
@@ -3,6 +3,7 @@ import { observable } from 'mobx';
3
3
  import { getConf, readConfObject, } from '@jbrowse/core/configuration';
4
4
  import { linearWiggleDisplayModelFactory } from '@jbrowse/plugin-wiggle';
5
5
  import { getContainingView } from '@jbrowse/core/util';
6
+ import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain';
6
7
  // locals
7
8
  import Tooltip from '../components/Tooltip';
8
9
  import { FilterModel, getUniqueModificationValues } from '../../shared';
@@ -44,6 +45,10 @@ function stateModelFactory(pluginManager, configSchema) {
44
45
  type: types.string,
45
46
  tag: types.maybe(types.string),
46
47
  })),
48
+ /**
49
+ * #property
50
+ */
51
+ jexlFilters: types.optional(types.array(types.string), []),
47
52
  }))
48
53
  .volatile(() => ({
49
54
  modificationTagMap: observable.map({}),
@@ -68,6 +73,12 @@ function stateModelFactory(pluginManager, configSchema) {
68
73
  setColorBy(colorBy) {
69
74
  self.colorBy = cast(colorBy);
70
75
  },
76
+ /**
77
+ * #action
78
+ */
79
+ setJexlFilters(filters) {
80
+ self.jexlFilters = cast(filters);
81
+ },
71
82
  /**
72
83
  * #action
73
84
  */
@@ -142,6 +153,7 @@ function stateModelFactory(pluginManager, configSchema) {
142
153
  return {
143
154
  ...superProps,
144
155
  notReady: !this.ready,
156
+ filters: self.filters,
145
157
  modificationTagMap: Object.fromEntries(modificationTagMap.toJSON()),
146
158
  // must use getSnapshot because otherwise changes to e.g. just the
147
159
  // colorBy.type are not read
@@ -264,6 +276,12 @@ function stateModelFactory(pluginManager, configSchema) {
264
276
  },
265
277
  ];
266
278
  },
279
+ /**
280
+ * #getter
281
+ */
282
+ get filters() {
283
+ return new SerializableFilterChain({ filters: self.jexlFilters });
284
+ },
267
285
  };
268
286
  });
269
287
  }
@@ -146,8 +146,7 @@ export function mdToMismatches(mdstring, ops, cigarMismatches, seq, qual) {
146
146
  }
147
147
  // now actually parse the MD string
148
148
  const md = mdstring.match(mdRegex) || [];
149
- for (let i = 0; i < md.length; i++) {
150
- const token = md[i];
149
+ for (const token of md) {
151
150
  const num = +token;
152
151
  if (!Number.isNaN(num)) {
153
152
  curr.start += num;
@@ -157,6 +156,7 @@ export function mdToMismatches(mdstring, ops, cigarMismatches, seq, qual) {
157
156
  }
158
157
  else {
159
158
  // mismatch
159
+ // eslint-disable-next-line @typescript-eslint/prefer-for-of
160
160
  for (let j = 0; j < token.length; j += 1) {
161
161
  curr.length = 1;
162
162
  while (lastSkipPos < skips.length) {
@@ -264,8 +264,7 @@ export function getModificationPositions(mm, fseq, fstrand) {
264
264
  const seq = fstrand === -1 ? revcom(fseq) : fseq;
265
265
  const mods = mm.split(';').filter(mod => !!mod);
266
266
  const result = [];
267
- for (let i = 0; i < mods.length; i++) {
268
- const mod = mods[i];
267
+ for (const mod of mods) {
269
268
  const [basemod, ...skips] = mod.split(',');
270
269
  // regexes based on parse_mm.pl from hts-specs
271
270
  const matches = basemod.match(modificationRegex);
@@ -285,12 +284,11 @@ export function getModificationPositions(mm, fseq, fstrand) {
285
284
  // sequence of the read, if we have a modification type e.g. C+m;2 and a
286
285
  // sequence ACGTACGTAC we skip the two instances of C and go to the last
287
286
  // C
288
- for (let j = 0; j < types.length; j++) {
289
- const type = types[j];
287
+ for (const type of types) {
290
288
  let i = 0;
291
289
  const positions = [];
292
- for (let k = 0; k < skips.length; k++) {
293
- let delta = +skips[k];
290
+ for (const d of skips) {
291
+ let delta = +d;
294
292
  do {
295
293
  if (base === 'N' || base === seq[i]) {
296
294
  delta--;
@@ -11,7 +11,7 @@ export default class PileupGetReducedFeatures extends PileupBaseRPC {
11
11
  sessionId: string;
12
12
  tag: string;
13
13
  }, rpcDriver: string): Promise<{
14
- chains: {
14
+ chains: ({
15
15
  id: string;
16
16
  refName: string;
17
17
  name: any;
@@ -25,7 +25,7 @@ export default class PileupGetReducedFeatures extends PileupBaseRPC {
25
25
  next_pos: any;
26
26
  clipPos: any;
27
27
  SA: any;
28
- }[][];
28
+ }[] | undefined)[];
29
29
  stats: {
30
30
  upper: number;
31
31
  lower: number;
@@ -53,7 +53,6 @@ export default class PileupRenderer extends BoxRendererType {
53
53
  : undefined;
54
54
  const width = (region.end - region.start) / bpPerPx;
55
55
  const height = Math.max(layout.getTotalHeight(), 1);
56
- const Color = await import('color').then(f => f.default);
57
56
  const res = await renderToAbstractCanvas(width, height, renderProps, ctx => makeImageData({
58
57
  ctx,
59
58
  layoutRecords: layoutRecords.filter(notEmpty),
@@ -63,7 +62,6 @@ export default class PileupRenderer extends BoxRendererType {
63
62
  layout,
64
63
  features,
65
64
  regionSequence,
66
- Color,
67
65
  },
68
66
  }));
69
67
  const results = await super.render({
@@ -8,7 +8,7 @@ export function colorByInsertSize(feature) {
8
8
  : `hsl(${Math.abs(feature.get('template_length')) / 10},50%,50%)`;
9
9
  }
10
10
  export function colorByMappingQuality(feature) {
11
- return `hsl(${feature.get('mq')},50%,50%)`;
11
+ return `hsl(${feature.get('score')},50%,50%)`;
12
12
  }
13
13
  function getOrientation(feature, config) {
14
14
  const orientationType = readConfObject(config, 'orientationType');
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Region } from '@jbrowse/core/util/types';
3
3
  import type { BaseLinearDisplayModel } from '@jbrowse/plugin-linear-genome-view';
4
- declare function PileupRendering(props: {
4
+ declare const PileupRendering: (props: {
5
5
  blockKey: string;
6
6
  displayModel: BaseLinearDisplayModel;
7
7
  width: number;
@@ -12,17 +12,16 @@ declare function PileupRendering(props: {
12
12
  type: string;
13
13
  pos: number;
14
14
  refName: string;
15
- };
15
+ } | undefined;
16
16
  colorBy?: {
17
17
  type: string;
18
- tag?: string;
19
- };
18
+ tag?: string | undefined;
19
+ } | undefined;
20
20
  filterBy?: {
21
21
  tagFilter?: {
22
22
  tag: string;
23
- };
24
- };
25
- onMouseMove?: (event: React.MouseEvent, featureId?: string) => void;
26
- }): React.JSX.Element;
27
- declare const _default: typeof PileupRendering;
28
- export default _default;
23
+ } | undefined;
24
+ } | undefined;
25
+ onMouseMove?: ((event: React.MouseEvent, featureId?: string) => void) | undefined;
26
+ }) => React.JSX.Element;
27
+ export default PileupRendering;