@jbrowse/plugin-variants 2.2.2 → 2.3.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 (78) hide show
  1. package/dist/ChordVariantDisplay/index.js +1 -0
  2. package/dist/ChordVariantDisplay/index.js.map +1 -1
  3. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +4 -2
  4. package/dist/ChordVariantDisplay/models/stateModelFactory.js +1 -2
  5. package/dist/ChordVariantDisplay/models/stateModelFactory.js.map +1 -1
  6. package/dist/LinearVariantDisplay/index.js +1 -0
  7. package/dist/LinearVariantDisplay/index.js.map +1 -1
  8. package/dist/LinearVariantDisplay/model.d.ts +1 -1
  9. package/dist/StructuralVariantChordRenderer/Chord.d.ts +32 -0
  10. package/dist/StructuralVariantChordRenderer/Chord.js +88 -0
  11. package/dist/StructuralVariantChordRenderer/Chord.js.map +1 -0
  12. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +1 -17
  13. package/dist/StructuralVariantChordRenderer/ReactComponent.js +11 -93
  14. package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
  15. package/dist/StructuralVariantChordRenderer/index.d.ts +2 -2
  16. package/dist/StructuralVariantChordRenderer/index.js +2 -2
  17. package/dist/StructuralVariantChordRenderer/index.js.map +1 -1
  18. package/dist/VariantFeatureWidget/BreakendOptionDialog.js +12 -7
  19. package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
  20. package/dist/VariantTrack/index.js +1 -0
  21. package/dist/VariantTrack/index.js.map +1 -1
  22. package/dist/VcfAdapter/VcfAdapter.js +1 -0
  23. package/dist/VcfAdapter/VcfAdapter.js.map +1 -1
  24. package/dist/VcfAdapter/index.js +1 -0
  25. package/dist/VcfAdapter/index.js.map +1 -1
  26. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +8 -11
  27. package/dist/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
  28. package/dist/VcfTabixAdapter/index.js +1 -0
  29. package/dist/VcfTabixAdapter/index.js.map +1 -1
  30. package/esm/ChordVariantDisplay/index.js +1 -0
  31. package/esm/ChordVariantDisplay/index.js.map +1 -1
  32. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +4 -2
  33. package/esm/ChordVariantDisplay/models/stateModelFactory.js +1 -2
  34. package/esm/ChordVariantDisplay/models/stateModelFactory.js.map +1 -1
  35. package/esm/LinearVariantDisplay/index.js +1 -0
  36. package/esm/LinearVariantDisplay/index.js.map +1 -1
  37. package/esm/LinearVariantDisplay/model.d.ts +1 -1
  38. package/esm/StructuralVariantChordRenderer/Chord.d.ts +32 -0
  39. package/esm/StructuralVariantChordRenderer/Chord.js +83 -0
  40. package/esm/StructuralVariantChordRenderer/Chord.js.map +1 -0
  41. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +1 -17
  42. package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -92
  43. package/esm/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
  44. package/esm/StructuralVariantChordRenderer/index.d.ts +2 -2
  45. package/esm/StructuralVariantChordRenderer/index.js +2 -2
  46. package/esm/StructuralVariantChordRenderer/index.js.map +1 -1
  47. package/esm/VariantFeatureWidget/BreakendOptionDialog.js +12 -7
  48. package/esm/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
  49. package/esm/VariantTrack/index.js +1 -0
  50. package/esm/VariantTrack/index.js.map +1 -1
  51. package/esm/VcfAdapter/VcfAdapter.js +1 -0
  52. package/esm/VcfAdapter/VcfAdapter.js.map +1 -1
  53. package/esm/VcfAdapter/index.js +1 -0
  54. package/esm/VcfAdapter/index.js.map +1 -1
  55. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +8 -11
  56. package/esm/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
  57. package/esm/VcfTabixAdapter/index.js +1 -0
  58. package/esm/VcfTabixAdapter/index.js.map +1 -1
  59. package/package.json +3 -4
  60. package/src/ChordVariantDisplay/index.ts +1 -0
  61. package/src/ChordVariantDisplay/models/stateModelFactory.ts +1 -3
  62. package/src/LinearVariantDisplay/index.ts +1 -0
  63. package/src/StructuralVariantChordRenderer/Chord.tsx +141 -0
  64. package/src/StructuralVariantChordRenderer/ReactComponent.tsx +10 -149
  65. package/src/StructuralVariantChordRenderer/index.ts +2 -3
  66. package/src/VariantFeatureWidget/BreakendOptionDialog.tsx +15 -8
  67. package/src/VariantTrack/index.ts +1 -0
  68. package/src/VcfAdapter/VcfAdapter.ts +2 -0
  69. package/src/VcfAdapter/index.ts +1 -0
  70. package/src/VcfTabixAdapter/VcfTabixAdapter.ts +10 -15
  71. package/src/VcfTabixAdapter/index.ts +1 -0
  72. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +0 -117
  73. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +0 -62
  74. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +0 -1
  75. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +0 -117
  76. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js +0 -57
  77. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js.map +0 -1
  78. package/src/ChordVariantDisplay/models/ChordVariantDisplay.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChordVariantDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,aAAa,MAAM,uBAAuB,CAAA;AACjD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AAEpD,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;QAC5C,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,qBAAqB;YAC3B,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,yBAAyB;SAC1C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChordVariantDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,aAAa,MAAM,uBAAuB,CAAA;AACjD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AAEpD,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;QAC5C,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uBAAuB;YACpC,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,yBAAyB;SAC1C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -76,22 +76,24 @@ declare const stateModelFactory: (configSchema: AnyConfigurationSchemaType) => i
76
76
  filled: boolean;
77
77
  reactElement: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
78
78
  data: undefined;
79
+ html: string | undefined;
79
80
  message: string;
80
81
  renderingComponent: import("@jbrowse/core/util").AnyReactComponentType | undefined;
81
82
  refNameMap: Record<string, string> | undefined;
82
83
  } & {
83
84
  onChordClick(feature: import("@jbrowse/core/util").Feature): void;
84
85
  } & {
85
- readonly blockDefinitions: any;
86
+ readonly blockDefinitions: import("@jbrowse/plugin-circular-view/src/CircularView/models/slices").Slice[];
86
87
  renderProps(): any;
87
88
  readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
88
89
  isCompatibleWithRenderer(renderer: import("@jbrowse/core/pluggableElementTypes").RendererType): boolean;
89
90
  readonly selectedFeatureId: string | undefined;
90
91
  } & {
91
92
  renderStarted(): void;
92
- renderSuccess({ message, data, reactElement, renderingComponent, }: {
93
+ renderSuccess({ message, data, reactElement, html, renderingComponent, }: {
93
94
  message: string;
94
95
  data: any;
96
+ html: string;
95
97
  reactElement: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
96
98
  renderingComponent: import("@jbrowse/core/util").AnyReactComponentType;
97
99
  }): void;
@@ -37,8 +37,7 @@ const stateModelFactory = (configSchema) => {
37
37
  displayModel: self,
38
38
  bezierRadius: view.radiusPx * self.bezierRadiusRatio,
39
39
  radius: view.radiusPx,
40
- // @ts-ignore
41
- blockDefinitions: this.blockDefinitions,
40
+ blockDefinitions: self.blockDefinitions,
42
41
  config: self.configuration.renderer,
43
42
  onChordClick: self.onChordClick,
44
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/stateModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAEL,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,YAAwC,EAAE,EAAE;IACrE,OAAO,KAAK;SACT,OAAO,CACN,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,CAAC,KAAK,CAAC;QACV;;WAEG;QACH,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C;;WAEG;QACH,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC;KACpD,CAAC,CACH;SACA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd;;WAEG;QACH,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,CAAC;QAED;;WAEG;QACH,WAAW;YACT,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;gBAErB,aAAa;gBACb,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AAED,0EAA0E;AAE1E,wDAAwD;AAExD,2BAA2B;AAC3B,EAAE;AACF,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/stateModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAEL,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,YAAwC,EAAE,EAAE;IACrE,OAAO,KAAK;SACT,OAAO,CACN,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,CAAC,KAAK,CAAC;QACV;;WAEG;QACH,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C;;WAEG;QACH,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC;KACpD,CAAC,CACH;SACA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd;;WAEG;QACH,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,CAAC;QAED;;WAEG;QACH,WAAW;YACT,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AAED,0EAA0E;AAE1E,wDAAwD;AAExD,2BAA2B;AAC3B,EAAE;AACF,eAAe,iBAAiB,CAAA"}
@@ -7,6 +7,7 @@ export default (pluginManager) => {
7
7
  const configSchema = configSchemaF(pluginManager);
8
8
  return new DisplayType({
9
9
  name: 'LinearVariantDisplay',
10
+ displayName: 'Variant display',
10
11
  configSchema,
11
12
  stateModel: stateModelFactory(configSchema),
12
13
  trackType: 'VariantTrack',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearVariantDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,iBAAiB,MAAM,SAAS,CAAA;AACvC,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,sBAAsB;YAC5B,YAAY;YACZ,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC;YAC3C,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,0BAA0B;SAC3C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearVariantDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,iBAAiB,MAAM,SAAS,CAAA;AACvC,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,iBAAiB;YAC9B,YAAY;YACZ,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC;YAC3C,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,0BAA0B;SAC3C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -130,10 +130,10 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
130
130
  reload(): void;
131
131
  } & {
132
132
  currBpPerPx: number;
133
+ scrollTop: number;
133
134
  message: string;
134
135
  featureIdUnderMouse: string | undefined;
135
136
  contextMenuFeature: Feature | undefined;
136
- scrollTop: number;
137
137
  estimatedRegionStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined;
138
138
  estimatedRegionStats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined;
139
139
  } & {
@@ -0,0 +1,32 @@
1
+ /// <reference types="react" />
2
+ import { Feature } from '@jbrowse/core/util';
3
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
+ export interface Region {
5
+ end: number;
6
+ start: number;
7
+ refName: string;
8
+ elided?: false;
9
+ }
10
+ export interface ElidedRegion {
11
+ elided: true;
12
+ regions: Region[];
13
+ }
14
+ export type AnyRegion = Region | ElidedRegion;
15
+ export interface Block {
16
+ flipped: boolean;
17
+ bpPerRadian: number;
18
+ startRadians: number;
19
+ region: AnyRegion;
20
+ }
21
+ declare const Chord: ({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }: {
22
+ feature: Feature;
23
+ blocksForRefs: {
24
+ [key: string]: Block;
25
+ };
26
+ radius: number;
27
+ config: AnyConfigurationModel;
28
+ bezierRadius: number;
29
+ selected: boolean;
30
+ onClick: (feature: Feature, reg: AnyRegion, endBlock: AnyRegion, evt: unknown) => void;
31
+ }) => JSX.Element | null;
32
+ export default Chord;
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { polarToCartesian } from '@jbrowse/core/util';
4
+ import { readConfObject, } from '@jbrowse/core/configuration';
5
+ import { parseBreakend } from '@gmod/vcf';
6
+ function bpToRadians(block, pos) {
7
+ const blockStart = block.region.elided ? 0 : block.region.start;
8
+ const blockEnd = block.region.elided ? 0 : block.region.end;
9
+ const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
10
+ return bpOffset / block.bpPerRadian + block.startRadians;
11
+ }
12
+ const Chord = observer(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
13
+ var _a, _b, _c, _d, _e;
14
+ // find the blocks that our start and end points belong to
15
+ const startBlock = blocksForRefs[feature.get('refName')];
16
+ if (!startBlock) {
17
+ return null;
18
+ }
19
+ let svType;
20
+ if (feature.get('INFO')) {
21
+ ;
22
+ [svType] = feature.get('INFO').SVTYPE || [];
23
+ }
24
+ else if (feature.get('mate')) {
25
+ svType = 'mate';
26
+ }
27
+ let endPosition;
28
+ let endBlock;
29
+ const alt = (_a = feature.get('ALT')) === null || _a === void 0 ? void 0 : _a[0];
30
+ const bnd = alt && parseBreakend(alt);
31
+ if (bnd) {
32
+ // VCF BND
33
+ const matePosition = bnd.MatePosition.split(':');
34
+ endPosition = +matePosition[1];
35
+ endBlock = blocksForRefs[matePosition[0]];
36
+ }
37
+ else if (alt === '<TRA>') {
38
+ // VCF TRA
39
+ const chr2 = (_c = (_b = feature.get('INFO')) === null || _b === void 0 ? void 0 : _b.CHR2) === null || _c === void 0 ? void 0 : _c[0];
40
+ const end = (_e = (_d = feature.get('INFO')) === null || _d === void 0 ? void 0 : _d.END) === null || _e === void 0 ? void 0 : _e[0];
41
+ endPosition = parseInt(end, 10);
42
+ endBlock = blocksForRefs[chr2];
43
+ }
44
+ else if (svType === 'mate') {
45
+ // generic simplefeatures arcs
46
+ const mate = feature.get('mate');
47
+ const chr2 = mate.refName;
48
+ endPosition = mate.start;
49
+ endBlock = blocksForRefs[chr2];
50
+ }
51
+ if (endBlock) {
52
+ const startPos = feature.get('start');
53
+ const startRadians = bpToRadians(startBlock, startPos);
54
+ const endRadians = bpToRadians(endBlock, endPosition);
55
+ const startXY = polarToCartesian(radius, startRadians);
56
+ const endXY = polarToCartesian(radius, endRadians);
57
+ const controlXY = polarToCartesian(bezierRadius, (endRadians + startRadians) / 2);
58
+ const strokeColor = selected
59
+ ? readConfObject(config, 'strokeColorSelected', { feature })
60
+ : readConfObject(config, 'strokeColor', { feature });
61
+ const hoverStrokeColor = readConfObject(config, 'strokeColorHover', {
62
+ feature,
63
+ });
64
+ return (React.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => {
65
+ if (endBlock && startBlock) {
66
+ onClick(feature, startBlock.region, endBlock.region, evt);
67
+ }
68
+ }, onMouseOver: evt => {
69
+ if (!selected) {
70
+ evt.currentTarget.style.stroke = hoverStrokeColor;
71
+ evt.currentTarget.style.strokeWidth = '3px';
72
+ }
73
+ }, onMouseOut: evt => {
74
+ if (!selected) {
75
+ evt.currentTarget.style.stroke = strokeColor;
76
+ evt.currentTarget.style.strokeWidth = '1px';
77
+ }
78
+ } }));
79
+ }
80
+ return null;
81
+ });
82
+ export default Chord;
83
+ //# sourceMappingURL=Chord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chord.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/Chord.tsx"],"names":[],"mappings":"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"}
@@ -1,23 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { Feature } from '@jbrowse/core/util';
3
3
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- interface Region {
5
- end: number;
6
- start: number;
7
- refName: string;
8
- elided?: false;
9
- }
10
- interface ElidedRegion {
11
- elided: true;
12
- regions: Region[];
13
- }
14
- type AnyRegion = Region | ElidedRegion;
15
- interface Block {
16
- flipped: boolean;
17
- bpPerRadian: number;
18
- startRadians: number;
19
- region: AnyRegion;
20
- }
4
+ import { Block, AnyRegion } from './Chord';
21
5
  declare function StructuralVariantChords(props: {
22
6
  features: Map<string, Feature>;
23
7
  radius: number;
@@ -1,107 +1,22 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import { observer } from 'mobx-react';
3
- import { polarToCartesian } from '@jbrowse/core/util';
4
- import { readConfObject, } from '@jbrowse/core/configuration';
5
- import { parseBreakend } from '@gmod/vcf';
6
- function bpToRadians(block, pos) {
7
- const blockStart = block.region.elided ? 0 : block.region.start;
8
- const blockEnd = block.region.elided ? 0 : block.region.end;
9
- const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
10
- return bpOffset / block.bpPerRadian + block.startRadians;
11
- }
12
- const Chord = observer(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
13
- var _a, _b, _c, _d, _e;
14
- // find the blocks that our start and end points belong to
15
- const startBlock = blocksForRefs[feature.get('refName')];
16
- if (!startBlock) {
17
- return null;
18
- }
19
- let svType;
20
- if (feature.get('INFO')) {
21
- ;
22
- [svType] = feature.get('INFO').SVTYPE || [];
23
- }
24
- else if (feature.get('mate')) {
25
- svType = 'mate';
26
- }
27
- let endPosition;
28
- let endBlock;
29
- const alt = (_a = feature.get('ALT')) === null || _a === void 0 ? void 0 : _a[0];
30
- const bnd = alt && parseBreakend(alt);
31
- if (bnd) {
32
- // VCF BND
33
- const matePosition = bnd.MatePosition.split(':');
34
- endPosition = +matePosition[1];
35
- endBlock = blocksForRefs[matePosition[0]];
36
- }
37
- else if (alt === '<TRA>') {
38
- // VCF TRA
39
- const chr2 = (_c = (_b = feature.get('INFO')) === null || _b === void 0 ? void 0 : _b.CHR2) === null || _c === void 0 ? void 0 : _c[0];
40
- const end = (_e = (_d = feature.get('INFO')) === null || _d === void 0 ? void 0 : _d.END) === null || _e === void 0 ? void 0 : _e[0];
41
- endPosition = parseInt(end, 10);
42
- endBlock = blocksForRefs[chr2];
43
- }
44
- else if (svType === 'mate') {
45
- // generic simplefeatures arcs
46
- const mate = feature.get('mate');
47
- const chr2 = mate.refName;
48
- endPosition = mate.start;
49
- endBlock = blocksForRefs[chr2];
50
- }
51
- if (endBlock) {
52
- const startPos = feature.get('start');
53
- const startRadians = bpToRadians(startBlock, startPos);
54
- const endRadians = bpToRadians(endBlock, endPosition);
55
- const startXY = polarToCartesian(radius, startRadians);
56
- const endXY = polarToCartesian(radius, endRadians);
57
- const controlXY = polarToCartesian(bezierRadius, (endRadians + startRadians) / 2);
58
- const strokeColor = selected
59
- ? readConfObject(config, 'strokeColorSelected', { feature })
60
- : readConfObject(config, 'strokeColor', { feature });
61
- const hoverStrokeColor = readConfObject(config, 'strokeColorHover', {
62
- feature,
63
- });
64
- return (React.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => {
65
- if (endBlock && startBlock) {
66
- onClick(feature, startBlock.region, endBlock.region, evt);
67
- }
68
- }, onMouseOver: evt => {
69
- if (!selected) {
70
- // @ts-ignore
71
- evt.target.style.stroke = hoverStrokeColor;
72
- // @ts-ignore
73
- evt.target.style.strokeWidth = 3;
74
- }
75
- }, onMouseOut: evt => {
76
- if (!selected) {
77
- // @ts-ignore
78
- evt.target.style.stroke = strokeColor;
79
- // @ts-ignore
80
- evt.target.style.strokeWidth = 1;
81
- }
82
- } }));
83
- }
84
- return null;
85
- });
3
+ // locals
4
+ import Chord from './Chord';
86
5
  function StructuralVariantChords(props) {
87
6
  const { features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, } = props;
88
7
  // make a map of refName -> blockDefinition
89
8
  const blocksForRefsMemo = useMemo(() => {
90
9
  const blocksForRefs = {};
91
10
  blockDefinitions.forEach(block => {
92
- const regions = block.region.elided
93
- ? block.region.regions
94
- : [block.region];
95
- regions.forEach(region => {
96
- blocksForRefs[region.refName] = block;
97
- });
11
+ ;
12
+ (block.region.elided ? block.region.regions : [block.region]).forEach(r => (blocksForRefs[r.refName] = block));
98
13
  });
99
14
  return blocksForRefs;
100
15
  }, [blockDefinitions]);
101
- // console.log(blocksForRefs)
102
16
  const chords = [];
103
- for (const [id, feature] of features) {
104
- const selected = String(selectedFeatureId) === String(feature.id());
17
+ for (const feature of features.values()) {
18
+ const id = feature.id();
19
+ const selected = String(selectedFeatureId) === String(id);
105
20
  chords.push(React.createElement(Chord, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
106
21
  }
107
22
  const trackStyleId = `chords-${displayModel.id}`;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAW,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAEL,cAAc,GACf,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAuBzC,SAAS,WAAW,CAAC,KAAY,EAAE,GAAW;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA;IAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAA;IAClE,OAAO,QAAQ,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAA;AAC1D,CAAC;AAED,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,KAAK,CAAC,EACpC,OAAO,EACP,aAAa,EACb,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,OAAO,GAcR;;IACC,0DAA0D;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACxD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,MAAM,CAAA;IACV,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACvB,CAAC;QAAA,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,EAAE,CAAA;KAC7C;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC9B,MAAM,GAAG,MAAM,CAAA;KAChB;IACD,IAAI,WAAW,CAAA;IACf,IAAI,QAA2B,CAAA;IAC/B,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,GAAG,EAAE;QACP,UAAU;QACV,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChD,WAAW,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;KAC1C;SAAM,IAAI,GAAG,KAAK,OAAO,EAAE;QAC1B,UAAU;QACV,MAAM,IAAI,GAAG,MAAA,MAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,IAAI,0CAAG,CAAC,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAA,MAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,GAAG,0CAAG,CAAC,CAAC,CAAA;QACzC,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC/B,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;KAC/B;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE;QAC5B,8BAA8B;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACzB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;KAC/B;IAED,IAAI,QAAQ,EAAE;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,gBAAgB,CAChC,YAAY,EACZ,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAChC,CAAA;QAED,MAAM,WAAW,GAAG,QAAQ;YAC1B,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC;YAC5D,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAEtD,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAClE,OAAO;SACR,CAAC,CAAA;QACF,OAAO,CACL,6CACe,SAAS,OAAO,CAAC,EAAE,EAAE,EAAE,EACpC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3D,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAC9B,OAAO,EAAE,GAAG,CAAC,EAAE;gBACb,IAAI,QAAQ,IAAI,UAAU,EAAE;oBAC1B,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;iBAC1D;YACH,CAAC,EACD,WAAW,EAAE,GAAG,CAAC,EAAE;gBACjB,IAAI,CAAC,QAAQ,EAAE;oBACb,aAAa;oBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAA;oBAC1C,aAAa;oBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAA;iBACjC;YACH,CAAC,EACD,UAAU,EAAE,GAAG,CAAC,EAAE;gBAChB,IAAI,CAAC,QAAQ,EAAE;oBACb,aAAa;oBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAA;oBACrC,aAAa;oBACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAA;iBACjC;YACH,CAAC,GACD,CACH,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA;AAEF,SAAS,uBAAuB,CAAC,KAahC;IACC,MAAM,EACJ,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,YAAY,EAAE,EAAE,iBAAiB,EAAE,EACnC,YAAY,GACb,GAAG,KAAK,CAAA;IACT,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,MAAM,aAAa,GAAG,EAA8B,CAAA;QACpD,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM;gBACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;gBACtB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAClB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;YACvC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,aAAa,CAAA;IACtB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACtB,6BAA6B;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QACnE,MAAM,CAAC,IAAI,CACT,oBAAC,KAAK,IACJ,GAAG,EAAE,EAAE,EACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,GACrB,CACH,CAAA;KACF;IACD,MAAM,YAAY,GAAG,UAAU,YAAY,CAAC,EAAE,EAAE,CAAA;IAChD,OAAO,CACL,2BAAG,EAAE,EAAE,YAAY,iBAAc,gCAAgC;QAC/D;YACE,2CAA2C;YAC3C,uBAAuB,EAAE;gBACvB,MAAM,EAAE;aACL,YAAY;;;;CAIxB;aACQ,GACD;QACD,MAAM,CACL,CACL,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,SAAS;AACT,OAAO,KAA2B,MAAM,SAAS,CAAA;AAEjD,SAAS,uBAAuB,CAAC,KAahC;IACC,MAAM,EACJ,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,YAAY,EAAE,EAAE,iBAAiB,EAAE,EACnC,YAAY,GACb,GAAG,KAAK,CAAA;IACT,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,MAAM,aAAa,GAAG,EAA8B,CAAA;QACpD,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,CAAC;YAAA,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACpE,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CACxC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,aAAa,CAAA;IACtB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACtB,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;QACzD,MAAM,CAAC,IAAI,CACT,oBAAC,KAAK,IACJ,GAAG,EAAE,EAAE,EACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,GACrB,CACH,CAAA;KACF;IACD,MAAM,YAAY,GAAG,UAAU,YAAY,CAAC,EAAE,EAAE,CAAA;IAChD,OAAO,CACL,2BAAG,EAAE,EAAE,YAAY,iBAAc,gCAAgC;QAC/D;YACE,2CAA2C;YAC3C,uBAAuB,EAAE;gBACvB,MAAM,EAAE;aACL,YAAY;;;;CAIxB;aACQ,GACD;QACD,MAAM,CACL,CACL,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,uBAAuB,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- declare const ChordRendererConfigF: (pluginManager: PluginManager) => void;
3
- export default ChordRendererConfigF;
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -1,13 +1,13 @@
1
1
  import ChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType';
2
2
  import configSchema from './configSchema';
3
3
  import ReactComponent from './ReactComponent';
4
- const ChordRendererConfigF = (pluginManager) => {
4
+ export default (pluginManager) => {
5
5
  pluginManager.addRendererType(() => new ChordRendererType({
6
6
  name: 'StructuralVariantChordRenderer',
7
+ displayName: 'SV chord renderer',
7
8
  ReactComponent,
8
9
  configSchema,
9
10
  pluginManager,
10
11
  }));
11
12
  };
12
- export default ChordRendererConfigF;
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yEAAyE,CAAA;AAEvG,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,MAAM,oBAAoB,GAAG,CAAC,aAA4B,EAAE,EAAE;IAC5D,aAAa,CAAC,eAAe,CAC3B,GAAG,EAAE,CACH,IAAI,iBAAiB,CAAC;QACpB,IAAI,EAAE,gCAAgC;QACtC,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CACL,CAAA;AACH,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yEAAyE,CAAA;AAEvG,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,eAAe,CAC3B,GAAG,EAAE,CACH,IAAI,iBAAiB,CAAC;QACpB,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,mBAAmB;QAChC,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -2,15 +2,16 @@
2
2
  import React, { useState } from 'react';
3
3
  import { observer } from 'mobx-react';
4
4
  import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, } from '@mui/material';
5
- import { Dialog } from '@jbrowse/core/ui';
6
5
  import { makeStyles } from 'tss-react/mui';
7
6
  import { getSnapshot } from 'mobx-state-tree';
7
+ // jbrowse
8
+ import { Dialog } from '@jbrowse/core/ui';
8
9
  import { getSession } from '@jbrowse/core/util';
9
- const useStyles = makeStyles()(theme => ({
10
+ const useStyles = makeStyles()({
10
11
  block: {
11
12
  display: 'block',
12
13
  },
13
- }));
14
+ });
14
15
  function BreakendOptionDialog({ model, handleClose, feature, viewType, }) {
15
16
  const { classes } = useStyles();
16
17
  const [copyTracks, setCopyTracks] = useState(true);
@@ -25,14 +26,18 @@ function BreakendOptionDialog({ model, handleClose, feature, viewType, }) {
25
26
  const session = getSession(model);
26
27
  try {
27
28
  const viewSnapshot = viewType.snapshotFromBreakendFeature(feature, view);
29
+ function remapIds(arr) {
30
+ return arr.map((v) => ({
31
+ ...v,
32
+ id: v.trackId + '-' + Math.random(),
33
+ }));
34
+ }
28
35
  viewSnapshot.views[0].offsetPx -= view.width / 2 + 100;
29
36
  viewSnapshot.views[1].offsetPx -= view.width / 2 + 100;
30
37
  viewSnapshot.featureData = feature;
31
38
  const viewTracks = getSnapshot(view.tracks);
32
- viewSnapshot.views[0].tracks = viewTracks;
33
- viewSnapshot.views[1].tracks = mirrorTracks
34
- ? viewTracks.slice().reverse()
35
- : viewTracks;
39
+ viewSnapshot.views[0].tracks = remapIds(viewTracks);
40
+ viewSnapshot.views[1].tracks = remapIds(mirrorTracks ? viewTracks.slice().reverse() : viewTracks);
36
41
  session.addView('BreakpointSplitView', viewSnapshot);
37
42
  }
38
43
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"BreakendOptionDialog.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/BreakendOptionDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BreakendOptionDialog.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/BreakendOptionDialog.tsx"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,UAAU;AACV,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAW,MAAM,oBAAoB,CAAA;AAExD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,OAAO;KACjB;CACF,CAAC,CAAA;AAEF,SAAS,oBAAoB,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,GAMT;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEtD,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI,QAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,+BAA+B;QACtE,oBAAC,aAAa;YACZ,oBAAC,gBAAgB,IACf,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,OAAO,EACL,oBAAC,QAAQ,IACP,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAC1C,EAEJ,KAAK,EAAC,+BAA+B,GACrC;YAEF,oBAAC,gBAAgB,IACf,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,OAAO,EACL,oBAAC,QAAQ,IACP,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAC5C,EAEJ,KAAK,EAAC,qDAAqD,GAC3D,CACY;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;oBACtB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;oBACjC,IAAI;wBACF,MAAM,YAAY,GAAG,QAAQ,CAAC,2BAA2B,CACvD,OAAO,EACP,IAAI,CACL,CAAA;wBACD,SAAS,QAAQ,CAAC,GAAU;4BAC1B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gCAC1B,GAAG,CAAC;gCACJ,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;6BACpC,CAAC,CAAC,CAAA;wBACL,CAAC;wBACD,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA;wBACtD,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA;wBACtD,YAAY,CAAC,WAAW,GAAG,OAAO,CAAA;wBAClC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAA;wBAClD,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;wBACnD,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CACrC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CACzD,CAAA;wBAED,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;qBACrD;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAChB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;qBACvB;oBACD,WAAW,EAAE,CAAA;gBACf,CAAC,EACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,SAAS,eAGF;YACT,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAC5B,KAAK,EAAC,WAAW,EACjB,OAAO,EAAC,WAAW,aAGZ,CACK,CACT,CACV,CAAA;AACH,CAAC;AACD,eAAe,QAAQ,CAAC,oBAAoB,CAAC,CAAA"}
@@ -6,6 +6,7 @@ export default (pm) => {
6
6
  const configSchema = configSchemaF(pm);
7
7
  return new TrackType({
8
8
  name: 'VariantTrack',
9
+ displayName: 'Variant track',
9
10
  configSchema,
10
11
  stateModel: createBaseTrackModel(pm, 'VariantTrack', configSchema),
11
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VariantTrack/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,+CAA+C,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACjF,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,eAAe,CAAC,EAAiB,EAAE,EAAE;IACnC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;QACtC,OAAO,IAAI,SAAS,CAAC;YACnB,IAAI,EAAE,cAAc;YACpB,YAAY;YACZ,UAAU,EAAE,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VariantTrack/index.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,+CAA+C,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACjF,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAE1C,eAAe,CAAC,EAAiB,EAAE,EAAE;IACnC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;QACtC,OAAO,IAAI,SAAS,CAAC;YACnB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,eAAe;YAC5B,YAAY;YACZ,UAAU,EAAE,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -4,6 +4,7 @@ import { ObservableCreate } from '@jbrowse/core/util/rxjs';
4
4
  import IntervalTree from '@flatten-js/interval-tree';
5
5
  import { unzip } from '@gmod/bgzf-filehandle';
6
6
  import VCF from '@gmod/vcf';
7
+ // local
7
8
  import VcfFeature from '../VcfTabixAdapter/VcfFeature';
8
9
  const readVcf = (f) => {
9
10
  const header = [];
@@ -1 +1 @@
1
- {"version":3,"file":"VcfAdapter.js","sourceRoot":"","sources":["../../src/VcfAdapter/VcfAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VcfAdapter.js","sourceRoot":"","sources":["../../src/VcfAdapter/VcfAdapter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import configSchema from './configSchema';
3
3
  export default (pluginManager) => {
4
4
  pluginManager.addAdapterType(() => new AdapterType({
5
5
  name: 'VcfAdapter',
6
+ displayName: 'VCF adapter',
6
7
  configSchema,
7
8
  getAdapterClass: () => import('./VcfAdapter').then(r => r.default),
8
9
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,YAAY;QAClB,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACnE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,aAAa;QAC1B,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACnE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -4,23 +4,20 @@ import { bytesForRegions } from '@jbrowse/core/util';
4
4
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
5
5
  import { TabixIndexedFile } from '@gmod/tabix';
6
6
  import VcfParser from '@gmod/vcf';
7
- import { readConfObject } from '@jbrowse/core/configuration';
7
+ // local
8
8
  import VcfFeature from './VcfFeature';
9
9
  export default class extends BaseFeatureDataAdapter {
10
10
  async configurePre() {
11
- const vcfGzLocation = readConfObject(this.config, 'vcfGzLocation');
12
- const location = readConfObject(this.config, ['index', 'location']);
13
- const indexType = readConfObject(this.config, ['index', 'indexType']);
14
- const filehandle = openLocation(vcfGzLocation, this.pluginManager);
11
+ const pm = this.pluginManager;
12
+ const vcfGzLocation = this.getConf('vcfGzLocation');
13
+ const location = this.getConf(['index', 'location']);
14
+ const indexType = this.getConf(['index', 'indexType']);
15
+ const filehandle = openLocation(vcfGzLocation, pm);
15
16
  const isCSI = indexType === 'CSI';
16
17
  const vcf = new TabixIndexedFile({
17
18
  filehandle,
18
- csiFilehandle: isCSI
19
- ? openLocation(location, this.pluginManager)
20
- : undefined,
21
- tbiFilehandle: !isCSI
22
- ? openLocation(location, this.pluginManager)
23
- : undefined,
19
+ csiFilehandle: isCSI ? openLocation(location, pm) : undefined,
20
+ tbiFilehandle: !isCSI ? openLocation(location, pm) : undefined,
24
21
  chunkCacheSize: 50 * 2 ** 20,
25
22
  chunkSizeLimit: 1000000000,
26
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { default as configSchema } from './configSchema';
4
4
  export default (pluginManager) => {
5
5
  pluginManager.addAdapterType(() => new AdapterType({
6
6
  name: 'VcfTabixAdapter',
7
+ displayName: 'VCF tabix adapter',
7
8
  configSchema,
8
9
  getAdapterClass: () => import('./VcfTabixAdapter').then(r => r.default),
9
10
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExD,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACxE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AACzE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExD,eAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mBAAmB;QAChC,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACxE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-variants",
3
- "version": "2.2.2",
3
+ "version": "2.3.1",
4
4
  "description": "JBrowse 2 variant adapters, tracks, etc.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -54,10 +54,9 @@
54
54
  "mobx": "^6.0.0",
55
55
  "mobx-react": "^7.0.0",
56
56
  "mobx-state-tree": "^5.0.0",
57
- "prop-types": "^15.0.0",
58
57
  "react": ">=16.8.0",
59
58
  "rxjs": "^6.0.0",
60
- "tss-react": "^3.0.0"
59
+ "tss-react": "^4.0.0"
61
60
  },
62
61
  "publishConfig": {
63
62
  "access": "public"
@@ -65,5 +64,5 @@
65
64
  "distModule": "esm/index.js",
66
65
  "srcModule": "src/index.ts",
67
66
  "module": "esm/index.js",
68
- "gitHead": "abbc00e8feedbc58de84a7a3e735ec0224909b29"
67
+ "gitHead": "75c4cba2f50c626c62881abd5851dbf2435c2401"
69
68
  }