@jbrowse/plugin-variants 2.3.4 → 2.4.0
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 -0
- package/dist/LinearVariantDisplay/model.d.ts +4 -2
- package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +2 -3
- package/dist/StructuralVariantChordRenderer/ReactComponent.js +3 -5
- package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
- package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
- package/dist/VariantFeatureWidget/VariantSampleGrid.js +11 -7
- package/dist/VariantFeatureWidget/VariantSampleGrid.js.map +1 -1
- package/dist/VcfTabixAdapter/VcfTabixAdapter.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 -0
- package/esm/LinearVariantDisplay/model.d.ts +4 -2
- package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +2 -3
- package/esm/StructuralVariantChordRenderer/ReactComponent.js +3 -5
- package/esm/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
- package/esm/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
- package/esm/VariantFeatureWidget/VariantSampleGrid.js +11 -7
- package/esm/VariantFeatureWidget/VariantSampleGrid.js.map +1 -1
- package/esm/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
- package/package.json +2 -2
- package/src/ChordVariantDisplay/index.ts +2 -0
- package/src/StructuralVariantChordRenderer/ReactComponent.tsx +14 -15
- package/src/VariantFeatureWidget/BreakendOptionDialog.tsx +1 -1
- package/src/VariantFeatureWidget/VariantSampleGrid.tsx +48 -33
- package/src/VariantFeatureWidget/__snapshots__/VariantFeatureWidget.test.tsx.snap +8 -8
- package/src/VcfTabixAdapter/VcfTabixAdapter.ts +2 -2
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const plugin_circular_view_1 = require("@jbrowse/plugin-circular-view");
|
|
7
7
|
const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
|
|
8
|
+
// locals
|
|
8
9
|
const configSchema_1 = __importDefault(require("./models/configSchema"));
|
|
9
10
|
const stateModelFactory_1 = __importDefault(require("./models/stateModelFactory"));
|
|
10
11
|
exports.default = (pluginManager) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChordVariantDisplay/index.ts"],"names":[],"mappings":";;;;;AACA,wEAAyE;AACzE,kGAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChordVariantDisplay/index.ts"],"names":[],"mappings":";;;;;AACA,wEAAyE;AACzE,kGAAyE;AAEzE,SAAS;AACT,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"}
|
|
@@ -101,6 +101,10 @@ declare const stateModelFactory: (configSchema: AnyConfigurationSchemaType) => i
|
|
|
101
101
|
setRefNameMap(refNameMap: Record<string, string>): void;
|
|
102
102
|
} & {
|
|
103
103
|
afterAttach(): void;
|
|
104
|
+
} & {
|
|
105
|
+
renderSvg(opts: import("@jbrowse/plugin-circular-view/src/CircularView/models/CircularView").ExportSvgOptions & {
|
|
106
|
+
theme: import("@mui/material").ThemeOptions;
|
|
107
|
+
}): Promise<JSX.Element>;
|
|
104
108
|
} & {
|
|
105
109
|
/**
|
|
106
110
|
* #getter
|
|
@@ -11,7 +11,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
11
11
|
type: import("mobx-state-tree").ISimpleType<string>;
|
|
12
12
|
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
13
13
|
} & {
|
|
14
|
-
|
|
14
|
+
heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
15
15
|
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
16
16
|
key: import("mobx-state-tree").ISimpleType<string>;
|
|
17
17
|
region: import("mobx-state-tree").IModelType<{
|
|
@@ -137,6 +137,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
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
|
} & {
|
|
140
|
+
readonly height: any;
|
|
140
141
|
readonly blockType: "dynamicBlocks" | "staticBlocks";
|
|
141
142
|
readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
|
|
142
143
|
} & {
|
|
@@ -166,7 +167,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
166
167
|
setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
|
|
167
168
|
setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
|
|
168
169
|
clearRegionStats(): void;
|
|
169
|
-
setHeight(displayHeight: number):
|
|
170
|
+
setHeight(displayHeight: number): any;
|
|
170
171
|
resizeHeight(distance: number): number;
|
|
171
172
|
setScrollTop(scrollTop: number): void;
|
|
172
173
|
updateStatsLimit(stats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats): void;
|
|
@@ -199,6 +200,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
199
200
|
} & {
|
|
200
201
|
renderSvg(opts: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions & {
|
|
201
202
|
overrideHeight: number;
|
|
203
|
+
theme: import("@mui/material").ThemeOptions;
|
|
202
204
|
}): Promise<JSX.Element>;
|
|
203
205
|
} & {
|
|
204
206
|
readonly rendererTypeName: any;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Feature } from '@jbrowse/core/util';
|
|
3
3
|
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
4
4
|
import { Block, AnyRegion } from './Chord';
|
|
5
|
-
declare
|
|
5
|
+
declare const _default: ({ features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, }: {
|
|
6
6
|
features: Map<string, Feature>;
|
|
7
7
|
radius: number;
|
|
8
8
|
config: AnyConfigurationModel;
|
|
@@ -13,6 +13,5 @@ declare function StructuralVariantChords(props: {
|
|
|
13
13
|
blockDefinitions: Block[];
|
|
14
14
|
bezierRadius: number;
|
|
15
15
|
onChordClick: (feature: Feature, reg: AnyRegion, endBlock: AnyRegion, evt: unknown) => void;
|
|
16
|
-
})
|
|
17
|
-
declare const _default: typeof StructuralVariantChords;
|
|
16
|
+
}) => JSX.Element;
|
|
18
17
|
export default _default;
|
|
@@ -30,8 +30,7 @@ const react_1 = __importStar(require("react"));
|
|
|
30
30
|
const mobx_react_1 = require("mobx-react");
|
|
31
31
|
// locals
|
|
32
32
|
const Chord_1 = __importDefault(require("./Chord"));
|
|
33
|
-
function StructuralVariantChords(
|
|
34
|
-
const { features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, } = props;
|
|
33
|
+
exports.default = (0, mobx_react_1.observer)(function StructuralVariantChords({ features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, }) {
|
|
35
34
|
// make a map of refName -> blockDefinition
|
|
36
35
|
const blocksForRefsMemo = (0, react_1.useMemo)(() => {
|
|
37
36
|
const blocksForRefs = {};
|
|
@@ -47,7 +46,7 @@ function StructuralVariantChords(props) {
|
|
|
47
46
|
const selected = String(selectedFeatureId) === String(id);
|
|
48
47
|
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 }));
|
|
49
48
|
}
|
|
50
|
-
const trackStyleId = `chords-${displayModel.id}`;
|
|
49
|
+
const trackStyleId = `chords-${typeof jest !== 'undefined' ? 'test' : displayModel.id}`;
|
|
51
50
|
return (react_1.default.createElement("g", { id: trackStyleId, "data-testid": "structuralVariantChordRenderer" },
|
|
52
51
|
react_1.default.createElement("style", {
|
|
53
52
|
// eslint-disable-next-line react/no-danger
|
|
@@ -60,6 +59,5 @@ function StructuralVariantChords(props) {
|
|
|
60
59
|
`,
|
|
61
60
|
} }),
|
|
62
61
|
chords));
|
|
63
|
-
}
|
|
64
|
-
exports.default = (0, mobx_react_1.observer)(StructuralVariantChords);
|
|
62
|
+
});
|
|
65
63
|
//# sourceMappingURL=ReactComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsC;AACtC,2CAAqC;AAIrC,SAAS;AACT,oDAAiD;AAEjD,kBAAe,IAAA,qBAAQ,EAAC,SAAS,uBAAuB,CAAC,EACvD,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,YAAY,EAAE,EAAE,iBAAiB,EAAE,EACnC,YAAY,GAcb;IACC,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,UACnB,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EACtD,EAAE,CAAA;IACF,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,CAAC,CAAA"}
|
|
@@ -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,uCAA0C;AAC1C,qDAA6C;AAC7C,UAAU;AACV,yCAAyC;AACzC,6CAAwD;AAExD,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,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,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAEtD,OAAO,CACL,8BAAC,WAAM,IAAC,IAAI,QAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,+BAA+B;QACtE,8BAAC,wBAAa;YACZ,8BAAC,2BAAgB,IACf,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,OAAO,EACL,8BAAC,mBAAQ,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,8BAAC,2BAAgB,IACf,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,OAAO,EACL,8BAAC,mBAAQ,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,8BAAC,wBAAa;YACZ,8BAAC,iBAAM,IACL,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;oBACtB,MAAM,OAAO,GAAG,IAAA,iBAAU,EAAC,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,IAAA,6BAAW,EAAC,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"BreakendOptionDialog.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/BreakendOptionDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,19 @@ const x_data_grid_1 = require("@mui/x-data-grid");
|
|
|
29
29
|
const BaseFeatureDetail_1 = require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail");
|
|
30
30
|
const util_1 = require("@jbrowse/core/util");
|
|
31
31
|
const ResizeBar_1 = __importStar(require("@jbrowse/core/ui/ResizeBar"));
|
|
32
|
+
function SampleFilters({ columns, filter, setFilter, }) {
|
|
33
|
+
const [showFilters, setShowFilters] = (0, react_1.useState)(false);
|
|
34
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
35
|
+
react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Checkbox, { checked: showFilters, onChange: () => setShowFilters(f => !f) }), label: "Show sample filters" }),
|
|
36
|
+
showFilters ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
37
|
+
react_1.default.createElement(material_1.Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
|
|
38
|
+
columns.map(({ field }) => (react_1.default.createElement(material_1.TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => setFilter({ ...filter, [field]: event.target.value }) }))))) : null));
|
|
39
|
+
}
|
|
32
40
|
function VariantSamples(props) {
|
|
33
41
|
var _a;
|
|
34
42
|
const { feature, descriptions = {} } = props;
|
|
35
43
|
const { ref, scrollLeft } = (0, ResizeBar_1.useResizeBar)();
|
|
36
44
|
const [filter, setFilter] = (0, react_1.useState)({});
|
|
37
|
-
const [showFilters, setShowFilters] = (0, react_1.useState)(false);
|
|
38
45
|
const samples = (feature.samples || {});
|
|
39
46
|
const preFilteredRows = Object.entries(samples);
|
|
40
47
|
let error;
|
|
@@ -65,7 +72,7 @@ function VariantSamples(props) {
|
|
|
65
72
|
}
|
|
66
73
|
const keys = ['sample', ...Object.keys(((_a = preFilteredRows[0]) === null || _a === void 0 ? void 0 : _a[1]) || {})];
|
|
67
74
|
const [widths, setWidths] = (0, react_1.useState)(keys.map(e => (0, util_1.measureGridWidth)(rows.map(r => r[e]))));
|
|
68
|
-
const
|
|
75
|
+
const columns = keys.map((field, index) => {
|
|
69
76
|
var _a, _b;
|
|
70
77
|
return ({
|
|
71
78
|
field,
|
|
@@ -77,14 +84,11 @@ function VariantSamples(props) {
|
|
|
77
84
|
// https://github.com/mui-org/material-ui-x/issues/1197
|
|
78
85
|
return !preFilteredRows.length ? null : (react_1.default.createElement(BaseFeatureDetail_1.BaseCard, { ...props, title: "Samples" },
|
|
79
86
|
error ? react_1.default.createElement(material_1.Typography, { color: "error" }, `${error}`) : null,
|
|
80
|
-
react_1.default.createElement(
|
|
81
|
-
showFilters ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
82
|
-
react_1.default.createElement(material_1.Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
|
|
83
|
-
infoFields.map(({ field }) => (react_1.default.createElement(material_1.TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => setFilter({ ...filter, [field]: event.target.value }) }))))) : null,
|
|
87
|
+
react_1.default.createElement(SampleFilters, { setFilter: setFilter, columns: columns, filter: filter }),
|
|
84
88
|
react_1.default.createElement("div", { ref: ref },
|
|
85
89
|
react_1.default.createElement(ResizeBar_1.default, { widths: widths, setWidths: setWidths, scrollLeft: scrollLeft }),
|
|
86
90
|
react_1.default.createElement("div", { ref: ref, style: { height: 600, width: '100%', overflow: 'auto' } },
|
|
87
|
-
react_1.default.createElement(x_data_grid_1.DataGrid, { rows: rows, columns:
|
|
91
|
+
react_1.default.createElement(x_data_grid_1.DataGrid, { rows: rows, columns: columns, disableSelectionOnClick: true, rowHeight: 25, headerHeight: 35, disableColumnMenu: true })))));
|
|
88
92
|
}
|
|
89
93
|
exports.default = VariantSamples;
|
|
90
94
|
//# sourceMappingURL=VariantSampleGrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariantSampleGrid.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/VariantSampleGrid.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AAEvC,4CAKsB;AAEtB,kDAA2C;AAC3C,yFAA4E;AAC5E,6CAA8E;AAC9E,wEAAoE;AAWpE,
|
|
1
|
+
{"version":3,"file":"VariantSampleGrid.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/VariantSampleGrid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yEAGgD;AAEhD,8CAAoD;AACpD,kDAA0D;AAE1D,uCAA8C;AAC9C,oDAAiC;AAEjC,QAAQ;AACR,+DAAsC;AAEtC,eAAqB,SAAQ,oCAAsB;IAMzC,KAAK,CAAC,YAAY;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAEtD,MAAM,UAAU,GAAG,IAAA,iBAAY,EAAC,
|
|
1
|
+
{"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseChordDisplayComponent } from '@jbrowse/plugin-circular-view';
|
|
2
2
|
import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
|
|
3
|
+
// locals
|
|
3
4
|
import configSchemaF from './models/configSchema';
|
|
4
5
|
import stateModelF from './models/stateModelFactory';
|
|
5
6
|
export default (pluginManager) => {
|
|
@@ -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;
|
|
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;AAEzE,SAAS;AACT,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"}
|
|
@@ -101,6 +101,10 @@ declare const stateModelFactory: (configSchema: AnyConfigurationSchemaType) => i
|
|
|
101
101
|
setRefNameMap(refNameMap: Record<string, string>): void;
|
|
102
102
|
} & {
|
|
103
103
|
afterAttach(): void;
|
|
104
|
+
} & {
|
|
105
|
+
renderSvg(opts: import("@jbrowse/plugin-circular-view/src/CircularView/models/CircularView").ExportSvgOptions & {
|
|
106
|
+
theme: import("@mui/material").ThemeOptions;
|
|
107
|
+
}): Promise<JSX.Element>;
|
|
104
108
|
} & {
|
|
105
109
|
/**
|
|
106
110
|
* #getter
|
|
@@ -11,7 +11,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
11
11
|
type: import("mobx-state-tree").ISimpleType<string>;
|
|
12
12
|
rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
13
13
|
} & {
|
|
14
|
-
|
|
14
|
+
heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
|
|
15
15
|
blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
|
|
16
16
|
key: import("mobx-state-tree").ISimpleType<string>;
|
|
17
17
|
region: import("mobx-state-tree").IModelType<{
|
|
@@ -137,6 +137,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
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
|
} & {
|
|
140
|
+
readonly height: any;
|
|
140
141
|
readonly blockType: "dynamicBlocks" | "staticBlocks";
|
|
141
142
|
readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
|
|
142
143
|
} & {
|
|
@@ -166,7 +167,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
166
167
|
setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
|
|
167
168
|
setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
|
|
168
169
|
clearRegionStats(): void;
|
|
169
|
-
setHeight(displayHeight: number):
|
|
170
|
+
setHeight(displayHeight: number): any;
|
|
170
171
|
resizeHeight(distance: number): number;
|
|
171
172
|
setScrollTop(scrollTop: number): void;
|
|
172
173
|
updateStatsLimit(stats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats): void;
|
|
@@ -199,6 +200,7 @@ export default function stateModelFactory(configSchema: LinearVariantDisplayConf
|
|
|
199
200
|
} & {
|
|
200
201
|
renderSvg(opts: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions & {
|
|
201
202
|
overrideHeight: number;
|
|
203
|
+
theme: import("@mui/material").ThemeOptions;
|
|
202
204
|
}): Promise<JSX.Element>;
|
|
203
205
|
} & {
|
|
204
206
|
readonly rendererTypeName: any;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Feature } from '@jbrowse/core/util';
|
|
3
3
|
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
4
4
|
import { Block, AnyRegion } from './Chord';
|
|
5
|
-
declare
|
|
5
|
+
declare const _default: ({ features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, }: {
|
|
6
6
|
features: Map<string, Feature>;
|
|
7
7
|
radius: number;
|
|
8
8
|
config: AnyConfigurationModel;
|
|
@@ -13,6 +13,5 @@ declare function StructuralVariantChords(props: {
|
|
|
13
13
|
blockDefinitions: Block[];
|
|
14
14
|
bezierRadius: number;
|
|
15
15
|
onChordClick: (feature: Feature, reg: AnyRegion, endBlock: AnyRegion, evt: unknown) => void;
|
|
16
|
-
})
|
|
17
|
-
declare const _default: typeof StructuralVariantChords;
|
|
16
|
+
}) => JSX.Element;
|
|
18
17
|
export default _default;
|
|
@@ -2,8 +2,7 @@ import React, { useMemo } from 'react';
|
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
3
|
// locals
|
|
4
4
|
import Chord from './Chord';
|
|
5
|
-
function StructuralVariantChords(
|
|
6
|
-
const { features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, } = props;
|
|
5
|
+
export default observer(function StructuralVariantChords({ features, config, displayModel, blockDefinitions, radius, bezierRadius, displayModel: { selectedFeatureId }, onChordClick, }) {
|
|
7
6
|
// make a map of refName -> blockDefinition
|
|
8
7
|
const blocksForRefsMemo = useMemo(() => {
|
|
9
8
|
const blocksForRefs = {};
|
|
@@ -19,7 +18,7 @@ function StructuralVariantChords(props) {
|
|
|
19
18
|
const selected = String(selectedFeatureId) === String(id);
|
|
20
19
|
chords.push(React.createElement(Chord, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
|
|
21
20
|
}
|
|
22
|
-
const trackStyleId = `chords-${displayModel.id}`;
|
|
21
|
+
const trackStyleId = `chords-${typeof jest !== 'undefined' ? 'test' : displayModel.id}`;
|
|
23
22
|
return (React.createElement("g", { id: trackStyleId, "data-testid": "structuralVariantChordRenderer" },
|
|
24
23
|
React.createElement("style", {
|
|
25
24
|
// eslint-disable-next-line react/no-danger
|
|
@@ -32,6 +31,5 @@ function StructuralVariantChords(props) {
|
|
|
32
31
|
`,
|
|
33
32
|
} }),
|
|
34
33
|
chords));
|
|
35
|
-
}
|
|
36
|
-
export default observer(StructuralVariantChords);
|
|
34
|
+
});
|
|
37
35
|
//# sourceMappingURL=ReactComponent.js.map
|
|
@@ -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;AAIrC,SAAS;AACT,OAAO,KAA2B,MAAM,SAAS,CAAA;AAEjD,SAAS,uBAAuB,CAAC,
|
|
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,eAAe,QAAQ,CAAC,SAAS,uBAAuB,CAAC,EACvD,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,YAAY,EAAE,EAAE,iBAAiB,EAAE,EACnC,YAAY,GAcb;IACC,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,UACnB,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EACtD,EAAE,CAAA;IACF,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,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"BreakendOptionDialog.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/BreakendOptionDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,19 @@ import { DataGrid } from '@mui/x-data-grid';
|
|
|
4
4
|
import { BaseCard } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail';
|
|
5
5
|
import { measureGridWidth } from '@jbrowse/core/util';
|
|
6
6
|
import ResizeBar, { useResizeBar } from '@jbrowse/core/ui/ResizeBar';
|
|
7
|
+
function SampleFilters({ columns, filter, setFilter, }) {
|
|
8
|
+
const [showFilters, setShowFilters] = useState(false);
|
|
9
|
+
return (React.createElement(React.Fragment, null,
|
|
10
|
+
React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: showFilters, onChange: () => setShowFilters(f => !f) }), label: "Show sample filters" }),
|
|
11
|
+
showFilters ? (React.createElement(React.Fragment, null,
|
|
12
|
+
React.createElement(Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
|
|
13
|
+
columns.map(({ field }) => (React.createElement(TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => setFilter({ ...filter, [field]: event.target.value }) }))))) : null));
|
|
14
|
+
}
|
|
7
15
|
export default function VariantSamples(props) {
|
|
8
16
|
var _a;
|
|
9
17
|
const { feature, descriptions = {} } = props;
|
|
10
18
|
const { ref, scrollLeft } = useResizeBar();
|
|
11
19
|
const [filter, setFilter] = useState({});
|
|
12
|
-
const [showFilters, setShowFilters] = useState(false);
|
|
13
20
|
const samples = (feature.samples || {});
|
|
14
21
|
const preFilteredRows = Object.entries(samples);
|
|
15
22
|
let error;
|
|
@@ -40,7 +47,7 @@ export default function VariantSamples(props) {
|
|
|
40
47
|
}
|
|
41
48
|
const keys = ['sample', ...Object.keys(((_a = preFilteredRows[0]) === null || _a === void 0 ? void 0 : _a[1]) || {})];
|
|
42
49
|
const [widths, setWidths] = useState(keys.map(e => measureGridWidth(rows.map(r => r[e]))));
|
|
43
|
-
const
|
|
50
|
+
const columns = keys.map((field, index) => {
|
|
44
51
|
var _a, _b;
|
|
45
52
|
return ({
|
|
46
53
|
field,
|
|
@@ -52,13 +59,10 @@ export default function VariantSamples(props) {
|
|
|
52
59
|
// https://github.com/mui-org/material-ui-x/issues/1197
|
|
53
60
|
return !preFilteredRows.length ? null : (React.createElement(BaseCard, { ...props, title: "Samples" },
|
|
54
61
|
error ? React.createElement(Typography, { color: "error" }, `${error}`) : null,
|
|
55
|
-
React.createElement(
|
|
56
|
-
showFilters ? (React.createElement(React.Fragment, null,
|
|
57
|
-
React.createElement(Typography, null, "These filters can use a plain text search or regex style query, e.g. in the genotype field, entering 1 will query for all genotypes that include the first alternate allele e.g. 0|1 or 1|1, entering [1-9]\\d* will find any non-zero allele e.g. 0|2 or 2/33"),
|
|
58
|
-
infoFields.map(({ field }) => (React.createElement(TextField, { key: `filter-${field}`, placeholder: `Filter ${field}`, value: filter[field] || '', onChange: event => setFilter({ ...filter, [field]: event.target.value }) }))))) : null,
|
|
62
|
+
React.createElement(SampleFilters, { setFilter: setFilter, columns: columns, filter: filter }),
|
|
59
63
|
React.createElement("div", { ref: ref },
|
|
60
64
|
React.createElement(ResizeBar, { widths: widths, setWidths: setWidths, scrollLeft: scrollLeft }),
|
|
61
65
|
React.createElement("div", { ref: ref, style: { height: 600, width: '100%', overflow: 'auto' } },
|
|
62
|
-
React.createElement(DataGrid, { rows: rows, columns:
|
|
66
|
+
React.createElement(DataGrid, { rows: rows, columns: columns, disableSelectionOnClick: true, rowHeight: 25, headerHeight: 35, disableColumnMenu: true })))));
|
|
63
67
|
}
|
|
64
68
|
//# sourceMappingURL=VariantSampleGrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariantSampleGrid.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/VariantSampleGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAA;AAC9E,OAAO,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAWpE,
|
|
1
|
+
{"version":3,"file":"VariantSampleGrid.js","sourceRoot":"","sources":["../../src/VariantFeatureWidget/VariantSampleGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAA2B,MAAM,oBAAoB,CAAA;AAC9E,OAAO,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAWpE,SAAS,aAAa,CAAC,EACrB,OAAO,EACP,MAAM,EACN,SAAS,GAKV;IACC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,OAAO,CACL;QACE,oBAAC,gBAAgB,IACf,OAAO,EACL,oBAAC,QAAQ,IACP,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACvC,EAEJ,KAAK,EAAC,qBAAqB,GAC3B;QACD,WAAW,CAAC,CAAC,CAAC,CACb;YACE,oBAAC,UAAU,yQAKE;YACZ,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC1B,oBAAC,SAAS,IACR,GAAG,EAAE,UAAU,KAAK,EAAE,EACtB,WAAW,EAAE,UAAU,KAAK,EAAE,EAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAC1B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAEvD,CACH,CAAC,CACD,CACJ,CAAC,CAAC,CAAC,IAAI,CACP,CACJ,CAAA;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAItC;;IACC,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,KAAK,CAAA;IAC5C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAA;IAC1C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAA+B,CAAA;IACrE,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,KAAK,CAAA;IACT,IAAI,IAAI,GAAG,EAAa,CAAA;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEnC,qCAAqC;IACrC,wEAAwE;IACxE,4BAA4B;IAC5B,IAAI;QACF,IAAI,GAAG,eAAe;aACnB,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,OAAO;gBACL,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACnD;gBACD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBACd,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;aACF,CAAA;QACZ,CAAC,CAAC;aACD,MAAM,CAAC,GAAG,CAAC,EAAE,CACZ,OAAO,CAAC,MAAM;YACZ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAClB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;gBACpB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC9B,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACnE,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CACT,CAAA;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,KAAK,GAAG,CAAC,CAAA;KACV;IAED,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAC,CAAA;IAEtE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;QAAC,OAAA,CAAC;YAC1C,KAAK;YACL,WAAW,EAAE,MAAA,MAAA,YAAY,CAAC,MAAM,0CAAG,KAAK,CAAC,0CAAE,WAAW;YACtD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC,CAAA;KAAA,CAAC,CAAA;IAEH,sCAAsC;IACtC,uDAAuD;IACvD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,oBAAC,QAAQ,OAAK,KAAK,EAAE,KAAK,EAAC,SAAS;QACjC,KAAK,CAAC,CAAC,CAAC,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,IAAE,GAAG,KAAK,EAAE,CAAc,CAAC,CAAC,CAAC,IAAI;QACnE,oBAAC,aAAa,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAI;QACzE,6BAAK,GAAG,EAAE,GAAG;YACX,oBAAC,SAAS,IACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACtB;YACF,6BAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;gBACpE,oBAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,uBAAuB,QACvB,SAAS,EAAE,EAAE,EACb,YAAY,EAAE,EAAE,EAChB,iBAAiB,SACjB,CACE,CACF,CACG,CACZ,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,QAAQ;AACR,OAAO,UAAU,MAAM,eAAe,CAAA;AAEtC,MAAM,CAAC,OAAO,MAAO,SAAQ,sBAAsB;IAMzC,KAAK,CAAC,YAAY;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAEtD,MAAM,UAAU,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"VcfTabixAdapter.js","sourceRoot":"","sources":["../../src/VcfTabixAdapter/VcfTabixAdapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-variants",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "JBrowse 2 variant adapters, tracks, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"distModule": "esm/index.js",
|
|
65
65
|
"srcModule": "src/index.ts",
|
|
66
66
|
"module": "esm/index.js",
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "78707a2bc3ba8489f26a590ef83f62ede945d048"
|
|
68
68
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
2
|
import { BaseChordDisplayComponent } from '@jbrowse/plugin-circular-view'
|
|
3
3
|
import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType'
|
|
4
|
+
|
|
5
|
+
// locals
|
|
4
6
|
import configSchemaF from './models/configSchema'
|
|
5
7
|
import stateModelF from './models/stateModelFactory'
|
|
6
8
|
|
|
@@ -6,7 +6,16 @@ import { AnyConfigurationModel } from '@jbrowse/core/configuration'
|
|
|
6
6
|
// locals
|
|
7
7
|
import Chord, { Block, AnyRegion } from './Chord'
|
|
8
8
|
|
|
9
|
-
function StructuralVariantChords(
|
|
9
|
+
export default observer(function StructuralVariantChords({
|
|
10
|
+
features,
|
|
11
|
+
config,
|
|
12
|
+
displayModel,
|
|
13
|
+
blockDefinitions,
|
|
14
|
+
radius,
|
|
15
|
+
bezierRadius,
|
|
16
|
+
displayModel: { selectedFeatureId },
|
|
17
|
+
onChordClick,
|
|
18
|
+
}: {
|
|
10
19
|
features: Map<string, Feature>
|
|
11
20
|
radius: number
|
|
12
21
|
config: AnyConfigurationModel
|
|
@@ -20,16 +29,6 @@ function StructuralVariantChords(props: {
|
|
|
20
29
|
evt: unknown,
|
|
21
30
|
) => void
|
|
22
31
|
}) {
|
|
23
|
-
const {
|
|
24
|
-
features,
|
|
25
|
-
config,
|
|
26
|
-
displayModel,
|
|
27
|
-
blockDefinitions,
|
|
28
|
-
radius,
|
|
29
|
-
bezierRadius,
|
|
30
|
-
displayModel: { selectedFeatureId },
|
|
31
|
-
onChordClick,
|
|
32
|
-
} = props
|
|
33
32
|
// make a map of refName -> blockDefinition
|
|
34
33
|
const blocksForRefsMemo = useMemo(() => {
|
|
35
34
|
const blocksForRefs = {} as { [key: string]: Block }
|
|
@@ -57,7 +56,9 @@ function StructuralVariantChords(props: {
|
|
|
57
56
|
/>,
|
|
58
57
|
)
|
|
59
58
|
}
|
|
60
|
-
const trackStyleId = `chords-${
|
|
59
|
+
const trackStyleId = `chords-${
|
|
60
|
+
typeof jest !== 'undefined' ? 'test' : displayModel.id
|
|
61
|
+
}`
|
|
61
62
|
return (
|
|
62
63
|
<g id={trackStyleId} data-testid="structuralVariantChordRenderer">
|
|
63
64
|
<style
|
|
@@ -74,6 +75,4 @@ function StructuralVariantChords(props: {
|
|
|
74
75
|
{chords}
|
|
75
76
|
</g>
|
|
76
77
|
)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export default observer(StructuralVariantChords)
|
|
78
|
+
})
|
|
@@ -79,7 +79,7 @@ function BreakendOptionDialog({
|
|
|
79
79
|
viewSnapshot.views[0].offsetPx -= view.width / 2 + 100
|
|
80
80
|
viewSnapshot.views[1].offsetPx -= view.width / 2 + 100
|
|
81
81
|
viewSnapshot.featureData = feature
|
|
82
|
-
const viewTracks = getSnapshot(view.tracks) as
|
|
82
|
+
const viewTracks = getSnapshot(view.tracks) as unknown[]
|
|
83
83
|
viewSnapshot.views[0].tracks = remapIds(viewTracks)
|
|
84
84
|
viewSnapshot.views[1].tracks = remapIds(
|
|
85
85
|
mirrorTracks ? viewTracks.slice().reverse() : viewTracks,
|
|
@@ -21,6 +21,51 @@ interface Entry {
|
|
|
21
21
|
type InfoFields = Record<string, unknown>
|
|
22
22
|
type Filters = Record<string, string>
|
|
23
23
|
|
|
24
|
+
function SampleFilters({
|
|
25
|
+
columns,
|
|
26
|
+
filter,
|
|
27
|
+
setFilter,
|
|
28
|
+
}: {
|
|
29
|
+
columns: { field: string }[]
|
|
30
|
+
filter: Filters
|
|
31
|
+
setFilter: (arg: Filters) => void
|
|
32
|
+
}) {
|
|
33
|
+
const [showFilters, setShowFilters] = useState(false)
|
|
34
|
+
return (
|
|
35
|
+
<>
|
|
36
|
+
<FormControlLabel
|
|
37
|
+
control={
|
|
38
|
+
<Checkbox
|
|
39
|
+
checked={showFilters}
|
|
40
|
+
onChange={() => setShowFilters(f => !f)}
|
|
41
|
+
/>
|
|
42
|
+
}
|
|
43
|
+
label="Show sample filters"
|
|
44
|
+
/>
|
|
45
|
+
{showFilters ? (
|
|
46
|
+
<>
|
|
47
|
+
<Typography>
|
|
48
|
+
These filters can use a plain text search or regex style query, e.g.
|
|
49
|
+
in the genotype field, entering 1 will query for all genotypes that
|
|
50
|
+
include the first alternate allele e.g. 0|1 or 1|1, entering
|
|
51
|
+
[1-9]\d* will find any non-zero allele e.g. 0|2 or 2/33
|
|
52
|
+
</Typography>
|
|
53
|
+
{columns.map(({ field }) => (
|
|
54
|
+
<TextField
|
|
55
|
+
key={`filter-${field}`}
|
|
56
|
+
placeholder={`Filter ${field}`}
|
|
57
|
+
value={filter[field] || ''}
|
|
58
|
+
onChange={event =>
|
|
59
|
+
setFilter({ ...filter, [field]: event.target.value })
|
|
60
|
+
}
|
|
61
|
+
/>
|
|
62
|
+
))}
|
|
63
|
+
</>
|
|
64
|
+
) : null}
|
|
65
|
+
</>
|
|
66
|
+
)
|
|
67
|
+
}
|
|
68
|
+
|
|
24
69
|
export default function VariantSamples(props: {
|
|
25
70
|
feature: SimpleFeatureSerialized
|
|
26
71
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -29,7 +74,6 @@ export default function VariantSamples(props: {
|
|
|
29
74
|
const { feature, descriptions = {} } = props
|
|
30
75
|
const { ref, scrollLeft } = useResizeBar()
|
|
31
76
|
const [filter, setFilter] = useState<Filters>({})
|
|
32
|
-
const [showFilters, setShowFilters] = useState(false)
|
|
33
77
|
const samples = (feature.samples || {}) as Record<string, InfoFields>
|
|
34
78
|
const preFilteredRows = Object.entries(samples)
|
|
35
79
|
|
|
@@ -69,7 +113,7 @@ export default function VariantSamples(props: {
|
|
|
69
113
|
const [widths, setWidths] = useState(
|
|
70
114
|
keys.map(e => measureGridWidth(rows.map(r => r[e]))),
|
|
71
115
|
)
|
|
72
|
-
const
|
|
116
|
+
const columns = keys.map((field, index) => ({
|
|
73
117
|
field,
|
|
74
118
|
description: descriptions.FORMAT?.[field]?.Description,
|
|
75
119
|
width: widths[index],
|
|
@@ -80,36 +124,7 @@ export default function VariantSamples(props: {
|
|
|
80
124
|
return !preFilteredRows.length ? null : (
|
|
81
125
|
<BaseCard {...props} title="Samples">
|
|
82
126
|
{error ? <Typography color="error">{`${error}`}</Typography> : null}
|
|
83
|
-
|
|
84
|
-
<FormControlLabel
|
|
85
|
-
control={
|
|
86
|
-
<Checkbox
|
|
87
|
-
checked={showFilters}
|
|
88
|
-
onChange={() => setShowFilters(f => !f)}
|
|
89
|
-
/>
|
|
90
|
-
}
|
|
91
|
-
label="Show sample filters"
|
|
92
|
-
/>
|
|
93
|
-
{showFilters ? (
|
|
94
|
-
<>
|
|
95
|
-
<Typography>
|
|
96
|
-
These filters can use a plain text search or regex style query, e.g.
|
|
97
|
-
in the genotype field, entering 1 will query for all genotypes that
|
|
98
|
-
include the first alternate allele e.g. 0|1 or 1|1, entering
|
|
99
|
-
[1-9]\d* will find any non-zero allele e.g. 0|2 or 2/33
|
|
100
|
-
</Typography>
|
|
101
|
-
{infoFields.map(({ field }) => (
|
|
102
|
-
<TextField
|
|
103
|
-
key={`filter-${field}`}
|
|
104
|
-
placeholder={`Filter ${field}`}
|
|
105
|
-
value={filter[field] || ''}
|
|
106
|
-
onChange={event =>
|
|
107
|
-
setFilter({ ...filter, [field]: event.target.value })
|
|
108
|
-
}
|
|
109
|
-
/>
|
|
110
|
-
))}
|
|
111
|
-
</>
|
|
112
|
-
) : null}
|
|
127
|
+
<SampleFilters setFilter={setFilter} columns={columns} filter={filter} />
|
|
113
128
|
<div ref={ref}>
|
|
114
129
|
<ResizeBar
|
|
115
130
|
widths={widths}
|
|
@@ -119,7 +134,7 @@ export default function VariantSamples(props: {
|
|
|
119
134
|
<div ref={ref} style={{ height: 600, width: '100%', overflow: 'auto' }}>
|
|
120
135
|
<DataGrid
|
|
121
136
|
rows={rows}
|
|
122
|
-
columns={
|
|
137
|
+
columns={columns}
|
|
123
138
|
disableSelectionOnClick
|
|
124
139
|
rowHeight={25}
|
|
125
140
|
headerHeight={35}
|
|
@@ -29,7 +29,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
29
29
|
>
|
|
30
30
|
<svg
|
|
31
31
|
aria-hidden="true"
|
|
32
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
32
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-ymsoo8-MuiSvgIcon-root-expandIcon"
|
|
33
33
|
data-testid="ExpandMoreIcon"
|
|
34
34
|
focusable="false"
|
|
35
35
|
viewBox="0 0 24 24"
|
|
@@ -66,7 +66,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
66
66
|
class="css-1m8nxnb-field"
|
|
67
67
|
>
|
|
68
68
|
<div
|
|
69
|
-
class="css-
|
|
69
|
+
class="css-1q83rf3-fieldName"
|
|
70
70
|
>
|
|
71
71
|
Position
|
|
72
72
|
</div>
|
|
@@ -80,7 +80,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
80
80
|
class="css-1m8nxnb-field"
|
|
81
81
|
>
|
|
82
82
|
<div
|
|
83
|
-
class="css-
|
|
83
|
+
class="css-1q83rf3-fieldName"
|
|
84
84
|
>
|
|
85
85
|
Name
|
|
86
86
|
</div>
|
|
@@ -96,7 +96,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
96
96
|
class="css-1m8nxnb-field"
|
|
97
97
|
>
|
|
98
98
|
<div
|
|
99
|
-
class="css-
|
|
99
|
+
class="css-1q83rf3-fieldName"
|
|
100
100
|
>
|
|
101
101
|
Length
|
|
102
102
|
</div>
|
|
@@ -121,7 +121,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
121
121
|
>
|
|
122
122
|
<div
|
|
123
123
|
aria-label="reference base(s): Each base must be one of A,C,G,T,N (case insensitive)."
|
|
124
|
-
class="css-
|
|
124
|
+
class="css-18vnxxj-fieldDescription-fieldName"
|
|
125
125
|
data-mui-internal-clone-element="true"
|
|
126
126
|
>
|
|
127
127
|
REF
|
|
@@ -139,7 +139,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
139
139
|
>
|
|
140
140
|
<div
|
|
141
141
|
aria-label="alternate base(s): Comma-separated list of alternate non-reference alleles"
|
|
142
|
-
class="css-
|
|
142
|
+
class="css-18vnxxj-fieldDescription-fieldName"
|
|
143
143
|
data-mui-internal-clone-element="true"
|
|
144
144
|
>
|
|
145
145
|
ALT
|
|
@@ -157,7 +157,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
157
157
|
>
|
|
158
158
|
<div
|
|
159
159
|
aria-label="quality: Phred-scaled quality score for the assertion made in ALT"
|
|
160
|
-
class="css-
|
|
160
|
+
class="css-18vnxxj-fieldDescription-fieldName"
|
|
161
161
|
data-mui-internal-clone-element="true"
|
|
162
162
|
>
|
|
163
163
|
QUAL
|
|
@@ -174,7 +174,7 @@ exports[`renders with just the required model elements 1`] = `
|
|
|
174
174
|
class="css-1m8nxnb-field"
|
|
175
175
|
>
|
|
176
176
|
<div
|
|
177
|
-
class="css-
|
|
177
|
+
class="css-1q83rf3-fieldName"
|
|
178
178
|
style="width: 62px;"
|
|
179
179
|
>
|
|
180
180
|
INFO.MQ
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
BaseFeatureDataAdapter,
|
|
3
3
|
BaseOptions,
|
|
4
4
|
} from '@jbrowse/core/data_adapters/BaseAdapter'
|
|
5
|
-
import {
|
|
5
|
+
import { NoAssemblyRegion } from '@jbrowse/core/util/types'
|
|
6
6
|
import { openLocation } from '@jbrowse/core/util/io'
|
|
7
7
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs'
|
|
8
8
|
import { Feature } from '@jbrowse/core/util'
|
|
@@ -24,7 +24,7 @@ export default class extends BaseFeatureDataAdapter {
|
|
|
24
24
|
const location = this.getConf(['index', 'location'])
|
|
25
25
|
const indexType = this.getConf(['index', 'indexType'])
|
|
26
26
|
|
|
27
|
-
const filehandle = openLocation(vcfGzLocation
|
|
27
|
+
const filehandle = openLocation(vcfGzLocation, pm)
|
|
28
28
|
const isCSI = indexType === 'CSI'
|
|
29
29
|
const vcf = new TabixIndexedFile({
|
|
30
30
|
filehandle,
|