@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.
- package/dist/ChordVariantDisplay/index.js +1 -0
- package/dist/ChordVariantDisplay/index.js.map +1 -1
- package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +4 -2
- package/dist/ChordVariantDisplay/models/stateModelFactory.js +1 -2
- package/dist/ChordVariantDisplay/models/stateModelFactory.js.map +1 -1
- package/dist/LinearVariantDisplay/index.js +1 -0
- package/dist/LinearVariantDisplay/index.js.map +1 -1
- package/dist/LinearVariantDisplay/model.d.ts +1 -1
- package/dist/StructuralVariantChordRenderer/Chord.d.ts +32 -0
- package/dist/StructuralVariantChordRenderer/Chord.js +88 -0
- package/dist/StructuralVariantChordRenderer/Chord.js.map +1 -0
- package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +1 -17
- package/dist/StructuralVariantChordRenderer/ReactComponent.js +11 -93
- package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
- package/dist/StructuralVariantChordRenderer/index.d.ts +2 -2
- package/dist/StructuralVariantChordRenderer/index.js +2 -2
- package/dist/StructuralVariantChordRenderer/index.js.map +1 -1
- package/dist/VariantFeatureWidget/BreakendOptionDialog.js +12 -7
- package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
- package/dist/VariantTrack/index.js +1 -0
- package/dist/VariantTrack/index.js.map +1 -1
- package/dist/VcfAdapter/VcfAdapter.js +1 -0
- package/dist/VcfAdapter/VcfAdapter.js.map +1 -1
- package/dist/VcfAdapter/index.js +1 -0
- package/dist/VcfAdapter/index.js.map +1 -1
- package/dist/VcfTabixAdapter/VcfTabixAdapter.js +8 -11
- package/dist/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
- package/dist/VcfTabixAdapter/index.js +1 -0
- package/dist/VcfTabixAdapter/index.js.map +1 -1
- package/esm/ChordVariantDisplay/index.js +1 -0
- package/esm/ChordVariantDisplay/index.js.map +1 -1
- package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +4 -2
- package/esm/ChordVariantDisplay/models/stateModelFactory.js +1 -2
- package/esm/ChordVariantDisplay/models/stateModelFactory.js.map +1 -1
- package/esm/LinearVariantDisplay/index.js +1 -0
- package/esm/LinearVariantDisplay/index.js.map +1 -1
- package/esm/LinearVariantDisplay/model.d.ts +1 -1
- package/esm/StructuralVariantChordRenderer/Chord.d.ts +32 -0
- package/esm/StructuralVariantChordRenderer/Chord.js +83 -0
- package/esm/StructuralVariantChordRenderer/Chord.js.map +1 -0
- package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +1 -17
- package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -92
- package/esm/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
- package/esm/StructuralVariantChordRenderer/index.d.ts +2 -2
- package/esm/StructuralVariantChordRenderer/index.js +2 -2
- package/esm/StructuralVariantChordRenderer/index.js.map +1 -1
- package/esm/VariantFeatureWidget/BreakendOptionDialog.js +12 -7
- package/esm/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
- package/esm/VariantTrack/index.js +1 -0
- package/esm/VariantTrack/index.js.map +1 -1
- package/esm/VcfAdapter/VcfAdapter.js +1 -0
- package/esm/VcfAdapter/VcfAdapter.js.map +1 -1
- package/esm/VcfAdapter/index.js +1 -0
- package/esm/VcfAdapter/index.js.map +1 -1
- package/esm/VcfTabixAdapter/VcfTabixAdapter.js +8 -11
- package/esm/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
- package/esm/VcfTabixAdapter/index.js +1 -0
- package/esm/VcfTabixAdapter/index.js.map +1 -1
- package/package.json +3 -4
- package/src/ChordVariantDisplay/index.ts +1 -0
- package/src/ChordVariantDisplay/models/stateModelFactory.ts +1 -3
- package/src/LinearVariantDisplay/index.ts +1 -0
- package/src/StructuralVariantChordRenderer/Chord.tsx +141 -0
- package/src/StructuralVariantChordRenderer/ReactComponent.tsx +10 -149
- package/src/StructuralVariantChordRenderer/index.ts +2 -3
- package/src/VariantFeatureWidget/BreakendOptionDialog.tsx +15 -8
- package/src/VariantTrack/index.ts +1 -0
- package/src/VcfAdapter/VcfAdapter.ts +2 -0
- package/src/VcfAdapter/index.ts +1 -0
- package/src/VcfTabixAdapter/VcfTabixAdapter.ts +10 -15
- package/src/VcfTabixAdapter/index.ts +1 -0
- package/dist/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +0 -117
- package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +0 -62
- package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +0 -1
- package/esm/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +0 -117
- package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js +0 -57
- package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js.map +0 -1
- package/src/ChordVariantDisplay/models/ChordVariantDisplay.ts +0 -69
|
@@ -13,6 +13,7 @@ exports.default = (pluginManager) => {
|
|
|
13
13
|
const stateModel = (0, stateModelFactory_1.default)(configSchema);
|
|
14
14
|
return new DisplayType_1.default({
|
|
15
15
|
name: 'ChordVariantDisplay',
|
|
16
|
+
displayName: 'Chord variant display',
|
|
16
17
|
configSchema,
|
|
17
18
|
stateModel,
|
|
18
19
|
trackType: 'VariantTrack',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChordVariantDisplay/index.ts"],"names":[],"mappings":";;;;;AACA,wEAAyE;AACzE,kGAAyE;AACzE,yEAAiD;AACjD,mFAAoD;AAEpD,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,IAAA,2BAAW,EAAC,YAAY,CAAC,CAAA;QAC5C,OAAO,IAAI,qBAAW,CAAC;YACrB,IAAI,EAAE,qBAAqB;YAC3B,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,gDAAyB;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,wEAAyE;AACzE,kGAAyE;AACzE,yEAAiD;AACjD,mFAAoD;AAEpD,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,IAAA,2BAAW,EAAC,YAAY,CAAC,CAAA;QAC5C,OAAO,IAAI,qBAAW,CAAC;YACrB,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uBAAuB;YACpC,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,cAAc;YACxB,cAAc,EAAE,gDAAyB;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:
|
|
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;
|
|
@@ -39,8 +39,7 @@ const stateModelFactory = (configSchema) => {
|
|
|
39
39
|
displayModel: self,
|
|
40
40
|
bezierRadius: view.radiusPx * self.bezierRadiusRatio,
|
|
41
41
|
radius: view.radiusPx,
|
|
42
|
-
|
|
43
|
-
blockDefinitions: this.blockDefinitions,
|
|
42
|
+
blockDefinitions: self.blockDefinitions,
|
|
44
43
|
config: self.configuration.renderer,
|
|
45
44
|
onChordClick: self.onChordClick,
|
|
46
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/stateModelFactory.ts"],"names":[],"mappings":";;AAAA,wEAAqE;AACrE,+DAGoC;AACpC,qDAAuC;AACvC,6CAAsD;AACtD,sDAAgE;AAEhE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,YAAwC,EAAE,EAAE;IACrE,OAAO,uBAAK;SACT,OAAO,CACN,qBAAqB,EACrB,4CAAqB,EACrB,uBAAK,CAAC,KAAK,CAAC;QACV;;WAEG;QACH,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C;;WAEG;QACH,aAAa,EAAE,IAAA,sCAAsB,EAAC,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,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,IAAA,6BAAoB,EAAC,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;
|
|
1
|
+
{"version":3,"file":"stateModelFactory.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/stateModelFactory.ts"],"names":[],"mappings":";;AAAA,wEAAqE;AACrE,+DAGoC;AACpC,qDAAuC;AACvC,6CAAsD;AACtD,sDAAgE;AAEhE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,YAAwC,EAAE,EAAE;IACrE,OAAO,uBAAK;SACT,OAAO,CACN,qBAAqB,EACrB,4CAAqB,EACrB,uBAAK,CAAC,KAAK,CAAC;QACV;;WAEG;QACH,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C;;WAEG;QACH,aAAa,EAAE,IAAA,sCAAsB,EAAC,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,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,IAAA,6BAAoB,EAAC,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,kBAAe,iBAAiB,CAAA"}
|
|
@@ -12,6 +12,7 @@ exports.default = (pluginManager) => {
|
|
|
12
12
|
const configSchema = (0, configSchema_1.default)(pluginManager);
|
|
13
13
|
return new DisplayType_1.default({
|
|
14
14
|
name: 'LinearVariantDisplay',
|
|
15
|
+
displayName: 'Variant display',
|
|
15
16
|
configSchema,
|
|
16
17
|
stateModel: (0, model_1.default)(configSchema),
|
|
17
18
|
trackType: 'VariantTrack',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearVariantDisplay/index.ts"],"names":[],"mappings":";;;;;AACA,kFAA+E;AAC/E,kGAAyE;AACzE,oDAAuC;AACvC,kEAA0C;AAE1C,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAA;QACjD,OAAO,IAAI,qBAAW,CAAC;YACrB,IAAI,EAAE,sBAAsB;YAC5B,YAAY;YACZ,UAAU,EAAE,IAAA,eAAiB,EAAC,YAAY,CAAC;YAC3C,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,sDAA0B;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,kFAA+E;AAC/E,kGAAyE;AACzE,oDAAuC;AACvC,kEAA0C;AAE1C,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAA;QACjD,OAAO,IAAI,qBAAW,CAAC;YACrB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,iBAAiB;YAC9B,YAAY;YACZ,UAAU,EAAE,IAAA,eAAiB,EAAC,YAAY,CAAC;YAC3C,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,sDAA0B;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,88 @@
|
|
|
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 react_1 = __importDefault(require("react"));
|
|
7
|
+
const mobx_react_1 = require("mobx-react");
|
|
8
|
+
const util_1 = require("@jbrowse/core/util");
|
|
9
|
+
const configuration_1 = require("@jbrowse/core/configuration");
|
|
10
|
+
const vcf_1 = require("@gmod/vcf");
|
|
11
|
+
function bpToRadians(block, pos) {
|
|
12
|
+
const blockStart = block.region.elided ? 0 : block.region.start;
|
|
13
|
+
const blockEnd = block.region.elided ? 0 : block.region.end;
|
|
14
|
+
const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
|
|
15
|
+
return bpOffset / block.bpPerRadian + block.startRadians;
|
|
16
|
+
}
|
|
17
|
+
const Chord = (0, mobx_react_1.observer)(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
|
|
18
|
+
var _a, _b, _c, _d, _e;
|
|
19
|
+
// find the blocks that our start and end points belong to
|
|
20
|
+
const startBlock = blocksForRefs[feature.get('refName')];
|
|
21
|
+
if (!startBlock) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
let svType;
|
|
25
|
+
if (feature.get('INFO')) {
|
|
26
|
+
;
|
|
27
|
+
[svType] = feature.get('INFO').SVTYPE || [];
|
|
28
|
+
}
|
|
29
|
+
else if (feature.get('mate')) {
|
|
30
|
+
svType = 'mate';
|
|
31
|
+
}
|
|
32
|
+
let endPosition;
|
|
33
|
+
let endBlock;
|
|
34
|
+
const alt = (_a = feature.get('ALT')) === null || _a === void 0 ? void 0 : _a[0];
|
|
35
|
+
const bnd = alt && (0, vcf_1.parseBreakend)(alt);
|
|
36
|
+
if (bnd) {
|
|
37
|
+
// VCF BND
|
|
38
|
+
const matePosition = bnd.MatePosition.split(':');
|
|
39
|
+
endPosition = +matePosition[1];
|
|
40
|
+
endBlock = blocksForRefs[matePosition[0]];
|
|
41
|
+
}
|
|
42
|
+
else if (alt === '<TRA>') {
|
|
43
|
+
// VCF TRA
|
|
44
|
+
const chr2 = (_c = (_b = feature.get('INFO')) === null || _b === void 0 ? void 0 : _b.CHR2) === null || _c === void 0 ? void 0 : _c[0];
|
|
45
|
+
const end = (_e = (_d = feature.get('INFO')) === null || _d === void 0 ? void 0 : _d.END) === null || _e === void 0 ? void 0 : _e[0];
|
|
46
|
+
endPosition = parseInt(end, 10);
|
|
47
|
+
endBlock = blocksForRefs[chr2];
|
|
48
|
+
}
|
|
49
|
+
else if (svType === 'mate') {
|
|
50
|
+
// generic simplefeatures arcs
|
|
51
|
+
const mate = feature.get('mate');
|
|
52
|
+
const chr2 = mate.refName;
|
|
53
|
+
endPosition = mate.start;
|
|
54
|
+
endBlock = blocksForRefs[chr2];
|
|
55
|
+
}
|
|
56
|
+
if (endBlock) {
|
|
57
|
+
const startPos = feature.get('start');
|
|
58
|
+
const startRadians = bpToRadians(startBlock, startPos);
|
|
59
|
+
const endRadians = bpToRadians(endBlock, endPosition);
|
|
60
|
+
const startXY = (0, util_1.polarToCartesian)(radius, startRadians);
|
|
61
|
+
const endXY = (0, util_1.polarToCartesian)(radius, endRadians);
|
|
62
|
+
const controlXY = (0, util_1.polarToCartesian)(bezierRadius, (endRadians + startRadians) / 2);
|
|
63
|
+
const strokeColor = selected
|
|
64
|
+
? (0, configuration_1.readConfObject)(config, 'strokeColorSelected', { feature })
|
|
65
|
+
: (0, configuration_1.readConfObject)(config, 'strokeColor', { feature });
|
|
66
|
+
const hoverStrokeColor = (0, configuration_1.readConfObject)(config, 'strokeColorHover', {
|
|
67
|
+
feature,
|
|
68
|
+
});
|
|
69
|
+
return (react_1.default.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => {
|
|
70
|
+
if (endBlock && startBlock) {
|
|
71
|
+
onClick(feature, startBlock.region, endBlock.region, evt);
|
|
72
|
+
}
|
|
73
|
+
}, onMouseOver: evt => {
|
|
74
|
+
if (!selected) {
|
|
75
|
+
evt.currentTarget.style.stroke = hoverStrokeColor;
|
|
76
|
+
evt.currentTarget.style.strokeWidth = '3px';
|
|
77
|
+
}
|
|
78
|
+
}, onMouseOut: evt => {
|
|
79
|
+
if (!selected) {
|
|
80
|
+
evt.currentTarget.style.stroke = strokeColor;
|
|
81
|
+
evt.currentTarget.style.strokeWidth = '1px';
|
|
82
|
+
}
|
|
83
|
+
} }));
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
});
|
|
87
|
+
exports.default = Chord;
|
|
88
|
+
//# 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
|
-
|
|
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;
|
|
@@ -22,112 +22,30 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
29
|
const react_1 = __importStar(require("react"));
|
|
27
30
|
const mobx_react_1 = require("mobx-react");
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const vcf_1 = require("@gmod/vcf");
|
|
31
|
-
function bpToRadians(block, pos) {
|
|
32
|
-
const blockStart = block.region.elided ? 0 : block.region.start;
|
|
33
|
-
const blockEnd = block.region.elided ? 0 : block.region.end;
|
|
34
|
-
const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
|
|
35
|
-
return bpOffset / block.bpPerRadian + block.startRadians;
|
|
36
|
-
}
|
|
37
|
-
const Chord = (0, mobx_react_1.observer)(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
|
|
38
|
-
var _a, _b, _c, _d, _e;
|
|
39
|
-
// find the blocks that our start and end points belong to
|
|
40
|
-
const startBlock = blocksForRefs[feature.get('refName')];
|
|
41
|
-
if (!startBlock) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
let svType;
|
|
45
|
-
if (feature.get('INFO')) {
|
|
46
|
-
;
|
|
47
|
-
[svType] = feature.get('INFO').SVTYPE || [];
|
|
48
|
-
}
|
|
49
|
-
else if (feature.get('mate')) {
|
|
50
|
-
svType = 'mate';
|
|
51
|
-
}
|
|
52
|
-
let endPosition;
|
|
53
|
-
let endBlock;
|
|
54
|
-
const alt = (_a = feature.get('ALT')) === null || _a === void 0 ? void 0 : _a[0];
|
|
55
|
-
const bnd = alt && (0, vcf_1.parseBreakend)(alt);
|
|
56
|
-
if (bnd) {
|
|
57
|
-
// VCF BND
|
|
58
|
-
const matePosition = bnd.MatePosition.split(':');
|
|
59
|
-
endPosition = +matePosition[1];
|
|
60
|
-
endBlock = blocksForRefs[matePosition[0]];
|
|
61
|
-
}
|
|
62
|
-
else if (alt === '<TRA>') {
|
|
63
|
-
// VCF TRA
|
|
64
|
-
const chr2 = (_c = (_b = feature.get('INFO')) === null || _b === void 0 ? void 0 : _b.CHR2) === null || _c === void 0 ? void 0 : _c[0];
|
|
65
|
-
const end = (_e = (_d = feature.get('INFO')) === null || _d === void 0 ? void 0 : _d.END) === null || _e === void 0 ? void 0 : _e[0];
|
|
66
|
-
endPosition = parseInt(end, 10);
|
|
67
|
-
endBlock = blocksForRefs[chr2];
|
|
68
|
-
}
|
|
69
|
-
else if (svType === 'mate') {
|
|
70
|
-
// generic simplefeatures arcs
|
|
71
|
-
const mate = feature.get('mate');
|
|
72
|
-
const chr2 = mate.refName;
|
|
73
|
-
endPosition = mate.start;
|
|
74
|
-
endBlock = blocksForRefs[chr2];
|
|
75
|
-
}
|
|
76
|
-
if (endBlock) {
|
|
77
|
-
const startPos = feature.get('start');
|
|
78
|
-
const startRadians = bpToRadians(startBlock, startPos);
|
|
79
|
-
const endRadians = bpToRadians(endBlock, endPosition);
|
|
80
|
-
const startXY = (0, util_1.polarToCartesian)(radius, startRadians);
|
|
81
|
-
const endXY = (0, util_1.polarToCartesian)(radius, endRadians);
|
|
82
|
-
const controlXY = (0, util_1.polarToCartesian)(bezierRadius, (endRadians + startRadians) / 2);
|
|
83
|
-
const strokeColor = selected
|
|
84
|
-
? (0, configuration_1.readConfObject)(config, 'strokeColorSelected', { feature })
|
|
85
|
-
: (0, configuration_1.readConfObject)(config, 'strokeColor', { feature });
|
|
86
|
-
const hoverStrokeColor = (0, configuration_1.readConfObject)(config, 'strokeColorHover', {
|
|
87
|
-
feature,
|
|
88
|
-
});
|
|
89
|
-
return (react_1.default.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => {
|
|
90
|
-
if (endBlock && startBlock) {
|
|
91
|
-
onClick(feature, startBlock.region, endBlock.region, evt);
|
|
92
|
-
}
|
|
93
|
-
}, onMouseOver: evt => {
|
|
94
|
-
if (!selected) {
|
|
95
|
-
// @ts-ignore
|
|
96
|
-
evt.target.style.stroke = hoverStrokeColor;
|
|
97
|
-
// @ts-ignore
|
|
98
|
-
evt.target.style.strokeWidth = 3;
|
|
99
|
-
}
|
|
100
|
-
}, onMouseOut: evt => {
|
|
101
|
-
if (!selected) {
|
|
102
|
-
// @ts-ignore
|
|
103
|
-
evt.target.style.stroke = strokeColor;
|
|
104
|
-
// @ts-ignore
|
|
105
|
-
evt.target.style.strokeWidth = 1;
|
|
106
|
-
}
|
|
107
|
-
} }));
|
|
108
|
-
}
|
|
109
|
-
return null;
|
|
110
|
-
});
|
|
31
|
+
// locals
|
|
32
|
+
const Chord_1 = __importDefault(require("./Chord"));
|
|
111
33
|
function StructuralVariantChords(props) {
|
|
112
34
|
const { features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, } = props;
|
|
113
35
|
// make a map of refName -> blockDefinition
|
|
114
36
|
const blocksForRefsMemo = (0, react_1.useMemo)(() => {
|
|
115
37
|
const blocksForRefs = {};
|
|
116
38
|
blockDefinitions.forEach(block => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
: [block.region];
|
|
120
|
-
regions.forEach(region => {
|
|
121
|
-
blocksForRefs[region.refName] = block;
|
|
122
|
-
});
|
|
39
|
+
;
|
|
40
|
+
(block.region.elided ? block.region.regions : [block.region]).forEach(r => (blocksForRefs[r.refName] = block));
|
|
123
41
|
});
|
|
124
42
|
return blocksForRefs;
|
|
125
43
|
}, [blockDefinitions]);
|
|
126
|
-
// console.log(blocksForRefs)
|
|
127
44
|
const chords = [];
|
|
128
|
-
for (const
|
|
129
|
-
const
|
|
130
|
-
|
|
45
|
+
for (const feature of features.values()) {
|
|
46
|
+
const id = feature.id();
|
|
47
|
+
const selected = String(selectedFeatureId) === String(id);
|
|
48
|
+
chords.push(react_1.default.createElement(Chord_1.default, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
|
|
131
49
|
}
|
|
132
50
|
const trackStyleId = `chords-${displayModel.id}`;
|
|
133
51
|
return (react_1.default.createElement("g", { id: trackStyleId, "data-testid": "structuralVariantChordRenderer" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsC;AACtC,2CAAqC;AAIrC,SAAS;AACT,oDAAiD;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,IAAA,eAAO,EAAC,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,8BAAC,eAAK,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,qCAAG,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,kBAAe,IAAA,qBAAQ,EAAC,uBAAuB,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
2
|
+
declare const _default: (pluginManager: PluginManager) => void;
|
|
3
|
+
export default _default;
|
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const CircularChordRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType"));
|
|
7
7
|
const configSchema_1 = __importDefault(require("./configSchema"));
|
|
8
8
|
const ReactComponent_1 = __importDefault(require("./ReactComponent"));
|
|
9
|
-
|
|
9
|
+
exports.default = (pluginManager) => {
|
|
10
10
|
pluginManager.addRendererType(() => new CircularChordRendererType_1.default({
|
|
11
11
|
name: 'StructuralVariantChordRenderer',
|
|
12
|
+
displayName: 'SV chord renderer',
|
|
12
13
|
ReactComponent: ReactComponent_1.default,
|
|
13
14
|
configSchema: configSchema_1.default,
|
|
14
15
|
pluginManager,
|
|
15
16
|
}));
|
|
16
17
|
};
|
|
17
|
-
exports.default = ChordRendererConfigF;
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.ts"],"names":[],"mappings":";;;;;AAAA,wIAAuG;AAEvG,kEAAyC;AACzC,sEAA6C;AAE7C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.ts"],"names":[],"mappings":";;;;;AAAA,wIAAuG;AAEvG,kEAAyC;AACzC,sEAA6C;AAE7C,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,eAAe,CAC3B,GAAG,EAAE,CACH,IAAI,mCAAiB,CAAC;QACpB,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAd,wBAAc;QACd,YAAY,EAAZ,sBAAY;QACZ,aAAa;KACd,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -27,15 +27,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
27
27
|
const react_1 = __importStar(require("react"));
|
|
28
28
|
const mobx_react_1 = require("mobx-react");
|
|
29
29
|
const material_1 = require("@mui/material");
|
|
30
|
-
const ui_1 = require("@jbrowse/core/ui");
|
|
31
30
|
const mui_1 = require("tss-react/mui");
|
|
32
31
|
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
32
|
+
// jbrowse
|
|
33
|
+
const ui_1 = require("@jbrowse/core/ui");
|
|
33
34
|
const util_1 = require("@jbrowse/core/util");
|
|
34
|
-
const useStyles = (0, mui_1.makeStyles)()(
|
|
35
|
+
const useStyles = (0, mui_1.makeStyles)()({
|
|
35
36
|
block: {
|
|
36
37
|
display: 'block',
|
|
37
38
|
},
|
|
38
|
-
})
|
|
39
|
+
});
|
|
39
40
|
function BreakendOptionDialog({ model, handleClose, feature, viewType, }) {
|
|
40
41
|
const { classes } = useStyles();
|
|
41
42
|
const [copyTracks, setCopyTracks] = (0, react_1.useState)(true);
|
|
@@ -50,14 +51,18 @@ function BreakendOptionDialog({ model, handleClose, feature, viewType, }) {
|
|
|
50
51
|
const session = (0, util_1.getSession)(model);
|
|
51
52
|
try {
|
|
52
53
|
const viewSnapshot = viewType.snapshotFromBreakendFeature(feature, view);
|
|
54
|
+
function remapIds(arr) {
|
|
55
|
+
return arr.map((v) => ({
|
|
56
|
+
...v,
|
|
57
|
+
id: v.trackId + '-' + Math.random(),
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
53
60
|
viewSnapshot.views[0].offsetPx -= view.width / 2 + 100;
|
|
54
61
|
viewSnapshot.views[1].offsetPx -= view.width / 2 + 100;
|
|
55
62
|
viewSnapshot.featureData = feature;
|
|
56
63
|
const viewTracks = (0, mobx_state_tree_1.getSnapshot)(view.tracks);
|
|
57
|
-
viewSnapshot.views[0].tracks = viewTracks;
|
|
58
|
-
viewSnapshot.views[1].tracks = mirrorTracks
|
|
59
|
-
? viewTracks.slice().reverse()
|
|
60
|
-
: viewTracks;
|
|
64
|
+
viewSnapshot.views[0].tracks = remapIds(viewTracks);
|
|
65
|
+
viewSnapshot.views[1].tracks = remapIds(mirrorTracks ? viewTracks.slice().reverse() : viewTracks);
|
|
61
66
|
session.addView('BreakpointSplitView', viewSnapshot);
|
|
62
67
|
}
|
|
63
68
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreakendOptionDialog.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/BreakendOptionDialog.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,+CAAuC;AACvC,2CAAqC;AACrC,4CAMsB;AACtB,
|
|
1
|
+
{"version":3,"file":"BreakendOptionDialog.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/BreakendOptionDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ exports.default = (pm) => {
|
|
|
11
11
|
const configSchema = (0, configSchema_1.default)(pm);
|
|
12
12
|
return new TrackType_1.default({
|
|
13
13
|
name: 'VariantTrack',
|
|
14
|
+
displayName: 'Variant track',
|
|
14
15
|
configSchema,
|
|
15
16
|
stateModel: (0, models_1.createBaseTrackModel)(pm, 'VariantTrack', configSchema),
|
|
16
17
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VariantTrack/index.ts"],"names":[],"mappings":";;;;;AACA,8FAAqE;AACrE,uEAAiF;AACjF,kEAA0C;AAE1C,kBAAe,CAAC,EAAiB,EAAE,EAAE;IACnC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,EAAE,CAAC,CAAA;QACtC,OAAO,IAAI,mBAAS,CAAC;YACnB,IAAI,EAAE,cAAc;YACpB,YAAY;YACZ,UAAU,EAAE,IAAA,6BAAoB,EAAC,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,8FAAqE;AACrE,uEAAiF;AACjF,kEAA0C;AAE1C,kBAAe,CAAC,EAAiB,EAAE,EAAE;IACnC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,IAAA,sBAAa,EAAC,EAAE,CAAC,CAAA;QACtC,OAAO,IAAI,mBAAS,CAAC;YACnB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,eAAe;YAC5B,YAAY;YACZ,UAAU,EAAE,IAAA,6BAAoB,EAAC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -9,6 +9,7 @@ const rxjs_1 = require("@jbrowse/core/util/rxjs");
|
|
|
9
9
|
const interval_tree_1 = __importDefault(require("@flatten-js/interval-tree"));
|
|
10
10
|
const bgzf_filehandle_1 = require("@gmod/bgzf-filehandle");
|
|
11
11
|
const vcf_1 = __importDefault(require("@gmod/vcf"));
|
|
12
|
+
// local
|
|
12
13
|
const VcfFeature_1 = __importDefault(require("../VcfTabixAdapter/VcfFeature"));
|
|
13
14
|
const readVcf = (f) => {
|
|
14
15
|
const header = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VcfAdapter.js","sourceRoot":"","sources":["../../src/VcfAdapter/VcfAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yEAGgD;AAEhD,8CAAoD;AACpD,kDAA0D;AAE1D,8EAAoD;AACpD,2DAA6C;AAC7C,oDAA2B;
|
|
1
|
+
{"version":3,"file":"VcfAdapter.js","sourceRoot":"","sources":["../../src/VcfAdapter/VcfAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/VcfAdapter/index.js
CHANGED
|
@@ -31,6 +31,7 @@ const configSchema_1 = __importDefault(require("./configSchema"));
|
|
|
31
31
|
exports.default = (pluginManager) => {
|
|
32
32
|
pluginManager.addAdapterType(() => new AdapterType_1.default({
|
|
33
33
|
name: 'VcfAdapter',
|
|
34
|
+
displayName: 'VCF adapter',
|
|
34
35
|
configSchema: configSchema_1.default,
|
|
35
36
|
getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./VcfAdapter'))).then(r => r.default),
|
|
36
37
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfAdapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kGAAyE;AACzE,kEAAyC;AAEzC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,qBAAW,CAAC;QACd,IAAI,EAAE,YAAY;QAClB,YAAY,EAAZ,sBAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,kDAAO,cAAc,IAAE,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,kGAAyE;AACzE,kEAAyC;AAEzC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,qBAAW,CAAC;QACd,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAZ,sBAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,kDAAO,cAAc,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACnE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -9,23 +9,20 @@ const util_1 = require("@jbrowse/core/util");
|
|
|
9
9
|
const rxjs_1 = require("@jbrowse/core/util/rxjs");
|
|
10
10
|
const tabix_1 = require("@gmod/tabix");
|
|
11
11
|
const vcf_1 = __importDefault(require("@gmod/vcf"));
|
|
12
|
-
|
|
12
|
+
// local
|
|
13
13
|
const VcfFeature_1 = __importDefault(require("./VcfFeature"));
|
|
14
14
|
class default_1 extends BaseAdapter_1.BaseFeatureDataAdapter {
|
|
15
15
|
async configurePre() {
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
16
|
+
const pm = this.pluginManager;
|
|
17
|
+
const vcfGzLocation = this.getConf('vcfGzLocation');
|
|
18
|
+
const location = this.getConf(['index', 'location']);
|
|
19
|
+
const indexType = this.getConf(['index', 'indexType']);
|
|
20
|
+
const filehandle = (0, io_1.openLocation)(vcfGzLocation, pm);
|
|
20
21
|
const isCSI = indexType === 'CSI';
|
|
21
22
|
const vcf = new tabix_1.TabixIndexedFile({
|
|
22
23
|
filehandle,
|
|
23
|
-
csiFilehandle: isCSI
|
|
24
|
-
|
|
25
|
-
: undefined,
|
|
26
|
-
tbiFilehandle: !isCSI
|
|
27
|
-
? (0, io_1.openLocation)(location, this.pluginManager)
|
|
28
|
-
: undefined,
|
|
24
|
+
csiFilehandle: isCSI ? (0, io_1.openLocation)(location, pm) : undefined,
|
|
25
|
+
tbiFilehandle: !isCSI ? (0, io_1.openLocation)(location, pm) : undefined,
|
|
29
26
|
chunkCacheSize: 50 * 2 ** 20,
|
|
30
27
|
chunkSizeLimit: 1000000000,
|
|
31
28
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yEAGgD;AAMhD,8CAAoD;AACpD,6CAAoD;AACpD,kDAA0D;AAE1D,uCAA8C;AAC9C,oDAAiC;
|
|
1
|
+
{"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ Object.defineProperty(exports, "configSchema", { enumerable: true, get: function
|
|
|
34
34
|
exports.default = (pluginManager) => {
|
|
35
35
|
pluginManager.addAdapterType(() => new AdapterType_1.default({
|
|
36
36
|
name: 'VcfTabixAdapter',
|
|
37
|
+
displayName: 'VCF tabix adapter',
|
|
37
38
|
configSchema: configSchema_1.default,
|
|
38
39
|
getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./VcfTabixAdapter'))).then(r => r.default),
|
|
39
40
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kGAAyE;AACzE,kEAAyC;AAEzC,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB;AAEhC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,qBAAW,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,YAAY,EAAZ,sBAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,kDAAO,mBAAmB,IAAE,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,kGAAyE;AACzE,kEAAyC;AAEzC,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB;AAEhC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,cAAc,CAC1B,GAAG,EAAE,CACH,IAAI,qBAAW,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAZ,sBAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,kDAAO,mBAAmB,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACxE,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
|