@jbrowse/plugin-sv-inspector 2.17.0 → 3.0.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.
Files changed (35) hide show
  1. package/dist/LaunchSvInspectorView/index.d.ts +1 -1
  2. package/dist/LaunchSvInspectorView/index.js +1 -3
  3. package/dist/SvInspectorView/components/CircularViewOptions.d.ts +2 -3
  4. package/dist/SvInspectorView/components/CircularViewOptions.js +4 -9
  5. package/dist/SvInspectorView/components/SvInspectorView.d.ts +2 -3
  6. package/dist/SvInspectorView/components/SvInspectorView.js +8 -15
  7. package/dist/SvInspectorView/index.d.ts +1 -1
  8. package/dist/SvInspectorView/index.js +60 -14
  9. package/dist/SvInspectorView/model.d.ts +772 -0
  10. package/dist/SvInspectorView/{models/SvInspectorView.js → model.js} +55 -163
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +1 -3
  13. package/esm/LaunchSvInspectorView/index.d.ts +1 -1
  14. package/esm/LaunchSvInspectorView/index.js +1 -3
  15. package/esm/SvInspectorView/components/CircularViewOptions.d.ts +2 -3
  16. package/esm/SvInspectorView/components/CircularViewOptions.js +4 -6
  17. package/esm/SvInspectorView/components/SvInspectorView.d.ts +2 -3
  18. package/esm/SvInspectorView/components/SvInspectorView.js +8 -15
  19. package/esm/SvInspectorView/index.d.ts +1 -1
  20. package/esm/SvInspectorView/index.js +26 -13
  21. package/esm/SvInspectorView/model.d.ts +772 -0
  22. package/esm/SvInspectorView/{models/SvInspectorView.js → model.js} +55 -163
  23. package/esm/index.d.ts +1 -1
  24. package/esm/index.js +2 -4
  25. package/package.json +4 -4
  26. package/dist/SvInspectorView/models/SvInspectorView.d.ts +0 -1010
  27. package/dist/SvInspectorView/models/adhocFeatureUtils.d.ts +0 -44
  28. package/dist/SvInspectorView/models/adhocFeatureUtils.js +0 -96
  29. package/dist/SvInspectorView/models/breakpointSplitViewFromTableRow.d.ts +0 -4
  30. package/dist/SvInspectorView/models/breakpointSplitViewFromTableRow.js +0 -48
  31. package/esm/SvInspectorView/models/SvInspectorView.d.ts +0 -1010
  32. package/esm/SvInspectorView/models/adhocFeatureUtils.d.ts +0 -44
  33. package/esm/SvInspectorView/models/adhocFeatureUtils.js +0 -90
  34. package/esm/SvInspectorView/models/breakpointSplitViewFromTableRow.d.ts +0 -4
  35. package/esm/SvInspectorView/models/breakpointSplitViewFromTableRow.js +0 -42
@@ -1,44 +0,0 @@
1
- export declare function makeAdHocFeature(columns: any, columnsAlreadyUsedInLocations: any, row: any, loc1: any, loc2: any, rowNumber: any): {
2
- uniqueId: string;
3
- refName: any;
4
- start: any;
5
- end: any;
6
- mate: {
7
- refName: any;
8
- start: any;
9
- end: any;
10
- };
11
- };
12
- export declare function makeAdHocSvFeatureFromTwoLocations(columns: any, locationColumnNumbers: any, row: any, rowNumber: any, isValidRefName: any): {
13
- uniqueId: string;
14
- refName: any;
15
- start: any;
16
- end: any;
17
- mate: {
18
- refName: any;
19
- start: any;
20
- end: any;
21
- };
22
- };
23
- export declare function makeAdHocSvFeatureFromTwoRefStartEndSets(columns: any, locRefColumnNumbers: any, locStartColumnNumbers: any, locEndColumnNumbers: any, row: any, rowNumber: any): {
24
- uniqueId: string;
25
- refName: any;
26
- start: any;
27
- end: any;
28
- mate: {
29
- refName: any;
30
- start: any;
31
- end: any;
32
- };
33
- };
34
- export declare function makeAdHocSvFeature(sheet: any, rowNumber: any, row: any, isValidRefName: any): {
35
- uniqueId: string;
36
- refName: any;
37
- start: any;
38
- end: any;
39
- mate: {
40
- refName: any;
41
- start: any;
42
- end: any;
43
- };
44
- } | undefined;
@@ -1,90 +0,0 @@
1
- // @ts-nocheck
2
- // this file contains the rather verbose functions for
3
- // creating features from CSV/TSV lines
4
- import { parseLocString } from '@jbrowse/core/util';
5
- export function makeAdHocFeature(columns, columnsAlreadyUsedInLocations, row, loc1, loc2, rowNumber) {
6
- // load all the other data in the row into an `otherData` object
7
- const otherData = {};
8
- columns.forEach((column, columnNumber) => {
9
- if (columnsAlreadyUsedInLocations.includes(columnNumber)) {
10
- return;
11
- }
12
- let { text } = row.cells[columnNumber];
13
- if (column.dataType.type === 'Number') {
14
- text = Number.parseFloat(text);
15
- }
16
- otherData[column.name] = text;
17
- });
18
- // make the final feature data out of otherData + the parsed locations
19
- return {
20
- ...otherData,
21
- uniqueId: `sv-inspector-adhoc-${rowNumber}`,
22
- refName: loc1.refName,
23
- start: loc1.start,
24
- end: loc1.end,
25
- mate: {
26
- refName: loc2.refName,
27
- start: loc2.start,
28
- end: loc2.end,
29
- },
30
- };
31
- }
32
- export function makeAdHocSvFeatureFromTwoLocations(columns, locationColumnNumbers, row, rowNumber, isValidRefName) {
33
- // use the first two locations we found (first according to *displayed* order)
34
- const loc1 = parseLocString(row.cells[locationColumnNumbers[0]].text, isValidRefName);
35
- const loc2 = parseLocString(row.cells[locationColumnNumbers[1]].text, isValidRefName);
36
- const columnsAlreadyUsedInLocations = [
37
- locationColumnNumbers[0],
38
- locationColumnNumbers[1],
39
- ];
40
- return makeAdHocFeature(columns, columnsAlreadyUsedInLocations, row, loc1, loc2, rowNumber);
41
- }
42
- export function makeAdHocSvFeatureFromTwoRefStartEndSets(columns, locRefColumnNumbers, locStartColumnNumbers, locEndColumnNumbers, row, rowNumber) {
43
- const textOf = colno => row.cells[colno].text;
44
- const loc1 = {
45
- refName: textOf(locRefColumnNumbers[0]),
46
- start: Number.parseInt(textOf(locStartColumnNumbers[0]), 10) - 1,
47
- end: Number.parseInt(textOf(locEndColumnNumbers[0]), 10),
48
- };
49
- const loc2 = {
50
- refName: textOf(locRefColumnNumbers[1]),
51
- start: Number.parseInt(textOf(locStartColumnNumbers[1]), 10) - 1,
52
- end: Number.parseInt(textOf(locEndColumnNumbers[1]), 10),
53
- };
54
- const columnsAlreadyUsedInLocations = [
55
- locRefColumnNumbers[0],
56
- locStartColumnNumbers[0],
57
- locEndColumnNumbers[0],
58
- locRefColumnNumbers[1],
59
- locStartColumnNumbers[1],
60
- locEndColumnNumbers[1],
61
- ];
62
- return makeAdHocFeature(columns, columnsAlreadyUsedInLocations, row, loc1, loc2, rowNumber);
63
- }
64
- // makes a feature data object (passed as `data` to a SimpleFeature constructor)
65
- // out of table row if the row has 2 location columns. undefined if not
66
- export function makeAdHocSvFeature(sheet, rowNumber, row, isValidRefName) {
67
- const { columns, columnDisplayOrder } = sheet;
68
- const columnTypes = {};
69
- columnDisplayOrder.forEach(columnNumber => {
70
- const columnDefinition = columns[columnNumber];
71
- if (!columnTypes[columnDefinition.dataType.type]) {
72
- columnTypes[columnDefinition.dataType.type] = [];
73
- }
74
- columnTypes[columnDefinition.dataType.type].push(columnNumber);
75
- });
76
- const locationColumnNumbers = columnTypes.LocString || [];
77
- const locStartColumnNumbers = columnTypes.LocStart || [];
78
- const locEndColumnNumbers = columnTypes.LocEnd || [];
79
- const locRefColumnNumbers = columnTypes.LocRef || [];
80
- // if we have 2 or more columns of type location, make a feature from them
81
- if (locationColumnNumbers.length >= 2) {
82
- return makeAdHocSvFeatureFromTwoLocations(columns, locationColumnNumbers, row, rowNumber, isValidRefName);
83
- }
84
- if (locRefColumnNumbers.length >= 2 &&
85
- locStartColumnNumbers.length >= 2 &&
86
- locEndColumnNumbers.length >= 2) {
87
- return makeAdHocSvFeatureFromTwoRefStartEndSets(columns, locRefColumnNumbers, locStartColumnNumbers, locEndColumnNumbers, row, rowNumber);
88
- }
89
- return undefined;
90
- }
@@ -1,4 +0,0 @@
1
- export declare function getFeatureForRow(session: any, spreadsheetView: any, row: any, rowNumber: any): any;
2
- export declare function breakpointSplitViewSnapshotFromTableRow(svInspectorView: any, spreadsheetView: any, spreadsheet: any, row: any, rowNumber: any): any;
3
- export declare function openBreakpointSplitViewFromTableRow(svInspectorView: any, spreadsheetView: any, spreadsheet: any, row: any, rowNumber: any): void;
4
- export declare function canOpenBreakpointSplitViewFromTableRow(svInspectorView: any, spreadsheetView: any, spreadsheet: any, row: any, rowNumber: any): boolean;
@@ -1,42 +0,0 @@
1
- // @ts-nocheck
2
- import { SimpleFeature, getEnv, getSession } from '@jbrowse/core/util';
3
- import { makeAdHocSvFeature } from './adhocFeatureUtils';
4
- export function getFeatureForRow(session, spreadsheetView, row, rowNumber) {
5
- var _a, _b;
6
- return (((_a = row.extendedData) === null || _a === void 0 ? void 0 : _a.vcfFeature) ||
7
- ((_b = row.extendedData) === null || _b === void 0 ? void 0 : _b.feature) ||
8
- makeAdHocSvFeature(spreadsheetView.spreadsheet, rowNumber, row, session.assemblyManager.isValidRefName));
9
- }
10
- export function breakpointSplitViewSnapshotFromTableRow(svInspectorView, spreadsheetView, spreadsheet, row, rowNumber) {
11
- const { pluginManager } = getEnv(svInspectorView);
12
- const session = getSession(spreadsheetView);
13
- const featureData = getFeatureForRow(session, spreadsheet, row, rowNumber);
14
- if (featureData) {
15
- const feature = new SimpleFeature(featureData);
16
- session.setSelection(feature);
17
- return pluginManager
18
- .getViewType('BreakpointSplitView')
19
- .snapshotFromBreakendFeature(feature, svInspectorView.circularView);
20
- }
21
- return undefined;
22
- }
23
- export function openBreakpointSplitViewFromTableRow(svInspectorView, spreadsheetView, spreadsheet, row, rowNumber) {
24
- const viewSnapshot = breakpointSplitViewSnapshotFromTableRow(svInspectorView, spreadsheetView, spreadsheet, row, rowNumber);
25
- if (viewSnapshot) {
26
- // try to center the offsetPx
27
- const { circularView } = svInspectorView;
28
- viewSnapshot.views[0].offsetPx -= circularView.width / 2 + 100;
29
- viewSnapshot.views[1].offsetPx -= circularView.width / 2 + 100;
30
- const session = getSession(spreadsheetView);
31
- session.addView('BreakpointSplitView', viewSnapshot);
32
- }
33
- }
34
- export function canOpenBreakpointSplitViewFromTableRow(svInspectorView, spreadsheetView, spreadsheet, row, rowNumber) {
35
- try {
36
- return Boolean(breakpointSplitViewSnapshotFromTableRow(svInspectorView, spreadsheetView, spreadsheet, row, rowNumber));
37
- }
38
- catch (e) {
39
- console.error('Unable to open breakpoint split view from table row', e);
40
- return false;
41
- }
42
- }