@jbrowse/plugin-dotplot-view 2.18.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 (111) hide show
  1. package/dist/DotplotDisplay/components/DotplotDisplay.d.ts +1 -2
  2. package/dist/DotplotDisplay/components/DotplotDisplay.js +6 -11
  3. package/dist/DotplotDisplay/stateModelFactory.d.ts +1 -2
  4. package/dist/DotplotDisplay/stateModelFactory.js +2 -3
  5. package/dist/DotplotRenderer/DotplotRenderer.d.ts +3 -3
  6. package/dist/DotplotRenderer/DotplotRenderer.js +17 -7
  7. package/dist/DotplotRenderer/components/DotplotRendering.d.ts +1 -2
  8. package/dist/DotplotRenderer/components/DotplotRendering.js +2 -5
  9. package/dist/DotplotView/components/Axes.d.ts +4 -5
  10. package/dist/DotplotView/components/Axes.js +23 -36
  11. package/dist/DotplotView/components/CursorIcon.d.ts +2 -3
  12. package/dist/DotplotView/components/CursorIcon.js +3 -5
  13. package/dist/DotplotView/components/DotplotControls.d.ts +1 -2
  14. package/dist/DotplotView/components/DotplotControls.js +89 -91
  15. package/dist/DotplotView/components/DotplotTooltipClick.d.ts +1 -2
  16. package/dist/DotplotView/components/DotplotTooltipClick.js +2 -6
  17. package/dist/DotplotView/components/DotplotTooltipMouseover.d.ts +1 -2
  18. package/dist/DotplotView/components/DotplotTooltipMouseover.js +3 -7
  19. package/dist/DotplotView/components/DotplotView.d.ts +1 -2
  20. package/dist/DotplotView/components/DotplotView.js +75 -80
  21. package/dist/DotplotView/components/DotplotWarnings.d.ts +1 -2
  22. package/dist/DotplotView/components/DotplotWarnings.js +26 -20
  23. package/dist/DotplotView/components/ExportSvgDialog.d.ts +1 -2
  24. package/dist/DotplotView/components/ExportSvgDialog.js +31 -64
  25. package/dist/DotplotView/components/Grid.d.ts +2 -3
  26. package/dist/DotplotView/components/Grid.js +17 -28
  27. package/dist/DotplotView/components/Header.d.ts +1 -2
  28. package/dist/DotplotView/components/Header.js +2 -21
  29. package/dist/DotplotView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +7 -0
  30. package/dist/DotplotView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +129 -0
  31. package/dist/DotplotView/components/ImportForm/ImportSyntenyTrackSelector.d.ts +3 -5
  32. package/dist/DotplotView/components/ImportForm/ImportSyntenyTrackSelector.js +12 -38
  33. package/dist/DotplotView/components/ImportForm/TrackSelector.d.ts +7 -0
  34. package/dist/DotplotView/components/ImportForm/TrackSelector.js +23 -0
  35. package/dist/DotplotView/components/ImportForm/getAdapter.d.ts +117 -0
  36. package/dist/DotplotView/components/ImportForm/getAdapter.js +68 -0
  37. package/dist/DotplotView/components/ImportForm/index.d.ts +2 -3
  38. package/dist/DotplotView/components/ImportForm/index.js +43 -92
  39. package/dist/DotplotView/components/PanButtons.d.ts +1 -2
  40. package/dist/DotplotView/components/PanButtons.js +14 -32
  41. package/dist/DotplotView/components/WarningDialog.d.ts +1 -2
  42. package/dist/DotplotView/components/WarningDialog.js +2 -9
  43. package/dist/DotplotView/index.js +17 -7
  44. package/dist/DotplotView/model.d.ts +6 -4
  45. package/dist/DotplotView/model.js +40 -30
  46. package/dist/DotplotView/svgcomponents/SVGBackground.d.ts +1 -2
  47. package/dist/DotplotView/svgcomponents/SVGBackground.js +2 -5
  48. package/dist/DotplotView/svgcomponents/SVGDotplotView.js +2 -16
  49. package/dist/DotplotView/types.d.ts +12 -0
  50. package/dist/DotplotView/types.js +2 -0
  51. package/dist/ServerSideRenderedBlockContent.d.ts +1 -2
  52. package/dist/ServerSideRenderedBlockContent.js +9 -34
  53. package/dist/ServerSideSyntenyRendering.d.ts +1 -2
  54. package/dist/ServerSideSyntenyRendering.js +3 -25
  55. package/esm/DotplotDisplay/components/DotplotDisplay.d.ts +1 -2
  56. package/esm/DotplotDisplay/components/DotplotDisplay.js +6 -8
  57. package/esm/DotplotDisplay/stateModelFactory.d.ts +1 -2
  58. package/esm/DotplotDisplay/stateModelFactory.js +2 -3
  59. package/esm/DotplotRenderer/DotplotRenderer.d.ts +3 -3
  60. package/esm/DotplotRenderer/components/DotplotRendering.d.ts +1 -2
  61. package/esm/DotplotRenderer/components/DotplotRendering.js +2 -2
  62. package/esm/DotplotView/components/Axes.d.ts +4 -5
  63. package/esm/DotplotView/components/Axes.js +23 -33
  64. package/esm/DotplotView/components/CursorIcon.d.ts +2 -3
  65. package/esm/DotplotView/components/CursorIcon.js +3 -5
  66. package/esm/DotplotView/components/DotplotControls.d.ts +1 -2
  67. package/esm/DotplotView/components/DotplotControls.js +89 -91
  68. package/esm/DotplotView/components/DotplotTooltipClick.d.ts +1 -2
  69. package/esm/DotplotView/components/DotplotTooltipClick.js +2 -6
  70. package/esm/DotplotView/components/DotplotTooltipMouseover.d.ts +1 -2
  71. package/esm/DotplotView/components/DotplotTooltipMouseover.js +3 -7
  72. package/esm/DotplotView/components/DotplotView.d.ts +1 -2
  73. package/esm/DotplotView/components/DotplotView.js +58 -73
  74. package/esm/DotplotView/components/DotplotWarnings.d.ts +1 -2
  75. package/esm/DotplotView/components/DotplotWarnings.js +9 -13
  76. package/esm/DotplotView/components/ExportSvgDialog.d.ts +1 -2
  77. package/esm/DotplotView/components/ExportSvgDialog.js +31 -41
  78. package/esm/DotplotView/components/Grid.d.ts +2 -3
  79. package/esm/DotplotView/components/Grid.js +17 -25
  80. package/esm/DotplotView/components/Header.d.ts +1 -2
  81. package/esm/DotplotView/components/Header.js +2 -21
  82. package/esm/DotplotView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +7 -0
  83. package/esm/DotplotView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +124 -0
  84. package/esm/DotplotView/components/ImportForm/ImportSyntenyTrackSelector.d.ts +3 -5
  85. package/esm/DotplotView/components/ImportForm/ImportSyntenyTrackSelector.js +12 -15
  86. package/esm/DotplotView/components/ImportForm/TrackSelector.d.ts +7 -0
  87. package/esm/DotplotView/components/ImportForm/TrackSelector.js +18 -0
  88. package/esm/DotplotView/components/ImportForm/getAdapter.d.ts +117 -0
  89. package/esm/DotplotView/components/ImportForm/getAdapter.js +65 -0
  90. package/esm/DotplotView/components/ImportForm/index.d.ts +2 -3
  91. package/esm/DotplotView/components/ImportForm/index.js +45 -71
  92. package/esm/DotplotView/components/PanButtons.d.ts +1 -2
  93. package/esm/DotplotView/components/PanButtons.js +14 -32
  94. package/esm/DotplotView/components/WarningDialog.d.ts +1 -2
  95. package/esm/DotplotView/components/WarningDialog.js +2 -6
  96. package/esm/DotplotView/model.d.ts +6 -4
  97. package/esm/DotplotView/model.js +25 -25
  98. package/esm/DotplotView/svgcomponents/SVGBackground.d.ts +1 -2
  99. package/esm/DotplotView/svgcomponents/SVGBackground.js +2 -2
  100. package/esm/DotplotView/svgcomponents/SVGDotplotView.js +2 -16
  101. package/esm/DotplotView/types.d.ts +12 -0
  102. package/esm/DotplotView/types.js +1 -0
  103. package/esm/ServerSideRenderedBlockContent.d.ts +1 -2
  104. package/esm/ServerSideRenderedBlockContent.js +9 -11
  105. package/esm/ServerSideSyntenyRendering.d.ts +1 -2
  106. package/esm/ServerSideSyntenyRendering.js +3 -2
  107. package/package.json +2 -2
  108. package/dist/DotplotView/components/ImportForm/ImportCustomTrack.d.ts +0 -11
  109. package/dist/DotplotView/components/ImportForm/ImportCustomTrack.js +0 -194
  110. package/esm/DotplotView/components/ImportForm/ImportCustomTrack.d.ts +0 -11
  111. package/esm/DotplotView/components/ImportForm/ImportCustomTrack.js +0 -169
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const react_1 = __importStar(require("react"));
27
- const ui_1 = require("@jbrowse/core/ui");
28
- const material_1 = require("@mui/material");
29
- const mobx_react_1 = require("mobx-react");
30
- const util_1 = require("./util");
31
- function getAdapter({ radioOption, assembly1, assembly2, fileLocation, indexFileLocation, bed1Location, bed2Location, }) {
32
- if (radioOption === '.paf') {
33
- return {
34
- type: 'PAFAdapter',
35
- pafLocation: fileLocation,
36
- queryAssembly: assembly1,
37
- targetAssembly: assembly2,
38
- };
39
- }
40
- else if (radioOption === '.out') {
41
- return {
42
- type: 'MashMapAdapter',
43
- outLocation: fileLocation,
44
- queryAssembly: assembly1,
45
- targetAssembly: assembly2,
46
- };
47
- }
48
- else if (radioOption === '.delta') {
49
- return {
50
- type: 'DeltaAdapter',
51
- deltaLocation: fileLocation,
52
- queryAssembly: assembly1,
53
- targetAssembly: assembly2,
54
- };
55
- }
56
- else if (radioOption === '.chain') {
57
- return {
58
- type: 'ChainAdapter',
59
- chainLocation: fileLocation,
60
- queryAssembly: assembly1,
61
- targetAssembly: assembly2,
62
- };
63
- }
64
- else if (radioOption === '.anchors') {
65
- return {
66
- type: 'MCScanAnchorsAdapter',
67
- mcscanAnchorsLocation: fileLocation,
68
- bed1Location,
69
- bed2Location,
70
- assemblyNames: [assembly1, assembly2],
71
- };
72
- }
73
- else if (radioOption === '.anchors.simple') {
74
- return {
75
- type: 'MCScanSimpleAnchorsAdapter',
76
- mcscanSimpleAnchorsLocation: fileLocation,
77
- bed1Location,
78
- bed2Location,
79
- assemblyNames: [assembly1, assembly2],
80
- };
81
- }
82
- else if (radioOption === '.pif.gz') {
83
- return {
84
- type: 'PairwiseIndexedPAFAdapter',
85
- pifGzLocation: fileLocation,
86
- index: { location: indexFileLocation },
87
- assemblyNames: [assembly1, assembly2],
88
- };
89
- }
90
- else {
91
- throw new Error(`Unknown to detect type ${radioOption} from filename (select radio button to clarify)`);
92
- }
93
- }
94
- const ImportCustomTrack = (0, mobx_react_1.observer)(function ({ assembly1, assembly2, setSessionTrackData, }) {
95
- const [bed2Location, setBed2Location] = (0, react_1.useState)();
96
- const [bed1Location, setBed1Location] = (0, react_1.useState)();
97
- const [fileLocation, setFileLocation] = (0, react_1.useState)();
98
- const [indexFileLocation, setIndexFileLocation] = (0, react_1.useState)();
99
- const [value, setValue] = (0, react_1.useState)('');
100
- const [error, setError] = (0, react_1.useState)();
101
- const fileName = (0, util_1.getName)(fileLocation);
102
- const radioOption = value || (fileName ? (0, util_1.extName)((0, util_1.stripGz)(fileName)) : '');
103
- (0, react_1.useEffect)(() => {
104
- try {
105
- if (fileLocation) {
106
- const fn = fileName ? (0, util_1.basename)(fileName) : 'MyTrack';
107
- const trackId = `${fn}-${Date.now()}`;
108
- setError(undefined);
109
- setSessionTrackData({
110
- trackId,
111
- name: fn,
112
- assemblyNames: [assembly2, assembly1],
113
- type: 'SyntenyTrack',
114
- adapter: getAdapter({
115
- radioOption,
116
- assembly1,
117
- assembly2,
118
- fileLocation,
119
- indexFileLocation,
120
- bed1Location,
121
- bed2Location,
122
- }),
123
- });
124
- }
125
- }
126
- catch (e) {
127
- console.error(e);
128
- setError(e);
129
- }
130
- }, [
131
- fileName,
132
- assembly1,
133
- assembly2,
134
- bed1Location,
135
- bed2Location,
136
- fileLocation,
137
- indexFileLocation,
138
- radioOption,
139
- setSessionTrackData,
140
- ]);
141
- return (react_1.default.createElement(material_1.Paper, { style: { padding: 12 } },
142
- error ? react_1.default.createElement(ui_1.ErrorMessage, { error: error }) : null,
143
- react_1.default.createElement(material_1.Typography, { style: { textAlign: 'center' } }, "Add a .paf, .out (MashMap), .delta (Mummer), .chain, .anchors or .anchors.simple (MCScan) file to view. These file types can also be gzipped. The first assembly should be the query sequence (e.g. left column of the PAF) and the second assembly should be the target sequence (e.g. right column of the PAF)"),
144
- react_1.default.createElement(material_1.RadioGroup, { value: radioOption, onChange: event => {
145
- setValue(event.target.value);
146
- } },
147
- react_1.default.createElement(material_1.Grid, { container: true, justifyContent: "center" },
148
- react_1.default.createElement(material_1.Grid, { item: true },
149
- react_1.default.createElement(material_1.FormControlLabel, { value: ".paf", control: react_1.default.createElement(material_1.Radio, null), label: ".paf" })),
150
- react_1.default.createElement(material_1.Grid, { item: true },
151
- react_1.default.createElement(material_1.FormControlLabel, { value: ".out", control: react_1.default.createElement(material_1.Radio, null), label: ".out" })),
152
- react_1.default.createElement(material_1.Grid, { item: true },
153
- react_1.default.createElement(material_1.FormControlLabel, { value: ".delta", control: react_1.default.createElement(material_1.Radio, null), label: ".delta" })),
154
- react_1.default.createElement(material_1.Grid, { item: true },
155
- react_1.default.createElement(material_1.FormControlLabel, { value: ".chain", control: react_1.default.createElement(material_1.Radio, null), label: ".chain" })),
156
- react_1.default.createElement(material_1.Grid, { item: true },
157
- react_1.default.createElement(material_1.FormControlLabel, { value: ".anchors", control: react_1.default.createElement(material_1.Radio, null), label: ".anchors" })),
158
- react_1.default.createElement(material_1.Grid, { item: true },
159
- react_1.default.createElement(material_1.FormControlLabel, { value: ".anchors.simple", control: react_1.default.createElement(material_1.Radio, null), label: ".anchors.simple" })),
160
- react_1.default.createElement(material_1.Grid, { item: true },
161
- react_1.default.createElement(material_1.FormControlLabel, { value: ".pif.gz", control: react_1.default.createElement(material_1.Radio, null), label: ".pif.gz" })))),
162
- react_1.default.createElement(material_1.Grid, { container: true, justifyContent: "center" },
163
- react_1.default.createElement(material_1.Grid, { item: true }, value === '.anchors' || value === '.anchors.simple' ? (react_1.default.createElement("div", null,
164
- react_1.default.createElement("div", { style: { margin: 20 } },
165
- "Open the ",
166
- value,
167
- " and .bed files for both genome assemblies from the MCScan (Python version) pipeline",
168
- ' ',
169
- react_1.default.createElement("a", { href: "https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)" }, "(more info)")),
170
- react_1.default.createElement("div", { style: { display: 'flex' } },
171
- react_1.default.createElement("div", null,
172
- react_1.default.createElement(ui_1.FileSelector, { name: ".anchors file", description: "", location: fileLocation, setLocation: loc => {
173
- setFileLocation(loc);
174
- } })),
175
- react_1.default.createElement("div", null,
176
- react_1.default.createElement(ui_1.FileSelector, { name: "genome 1 .bed (left column of anchors file)", description: "", location: bed1Location, setLocation: loc => {
177
- setBed1Location(loc);
178
- } })),
179
- react_1.default.createElement("div", null,
180
- react_1.default.createElement(ui_1.FileSelector, { name: "genome 2 .bed (right column of anchors file)", description: "", location: bed2Location, setLocation: loc => {
181
- setBed2Location(loc);
182
- } }))))) : value === '.pif.gz' ? (react_1.default.createElement("div", { style: { display: 'flex' } },
183
- react_1.default.createElement("div", null,
184
- react_1.default.createElement(ui_1.FileSelector, { name: `${value} location`, description: "", location: fileLocation, setLocation: loc => {
185
- setFileLocation(loc);
186
- } })),
187
- react_1.default.createElement("div", null,
188
- react_1.default.createElement(ui_1.FileSelector, { name: `${value} index location`, description: "", location: indexFileLocation, setLocation: loc => {
189
- setIndexFileLocation(loc);
190
- } })))) : (react_1.default.createElement(ui_1.FileSelector, { name: value ? `${value} location` : '', description: "", location: fileLocation, setLocation: loc => {
191
- setFileLocation(loc);
192
- } }))))));
193
- });
194
- exports.default = ImportCustomTrack;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
- import type { SnapshotIn } from 'mobx-state-tree';
4
- type Conf = SnapshotIn<AnyConfigurationModel>;
5
- declare const ImportCustomTrack: ({ assembly1, assembly2, setSessionTrackData, }: {
6
- sessionTrackData: Conf;
7
- assembly1: string;
8
- assembly2: string;
9
- setSessionTrackData: (arg: Conf) => void;
10
- }) => React.JSX.Element;
11
- export default ImportCustomTrack;
@@ -1,169 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { ErrorMessage, FileSelector } from '@jbrowse/core/ui';
3
- import { FormControlLabel, Grid, Paper, Radio, RadioGroup, Typography, } from '@mui/material';
4
- import { observer } from 'mobx-react';
5
- import { basename, extName, getName, stripGz } from './util';
6
- function getAdapter({ radioOption, assembly1, assembly2, fileLocation, indexFileLocation, bed1Location, bed2Location, }) {
7
- if (radioOption === '.paf') {
8
- return {
9
- type: 'PAFAdapter',
10
- pafLocation: fileLocation,
11
- queryAssembly: assembly1,
12
- targetAssembly: assembly2,
13
- };
14
- }
15
- else if (radioOption === '.out') {
16
- return {
17
- type: 'MashMapAdapter',
18
- outLocation: fileLocation,
19
- queryAssembly: assembly1,
20
- targetAssembly: assembly2,
21
- };
22
- }
23
- else if (radioOption === '.delta') {
24
- return {
25
- type: 'DeltaAdapter',
26
- deltaLocation: fileLocation,
27
- queryAssembly: assembly1,
28
- targetAssembly: assembly2,
29
- };
30
- }
31
- else if (radioOption === '.chain') {
32
- return {
33
- type: 'ChainAdapter',
34
- chainLocation: fileLocation,
35
- queryAssembly: assembly1,
36
- targetAssembly: assembly2,
37
- };
38
- }
39
- else if (radioOption === '.anchors') {
40
- return {
41
- type: 'MCScanAnchorsAdapter',
42
- mcscanAnchorsLocation: fileLocation,
43
- bed1Location,
44
- bed2Location,
45
- assemblyNames: [assembly1, assembly2],
46
- };
47
- }
48
- else if (radioOption === '.anchors.simple') {
49
- return {
50
- type: 'MCScanSimpleAnchorsAdapter',
51
- mcscanSimpleAnchorsLocation: fileLocation,
52
- bed1Location,
53
- bed2Location,
54
- assemblyNames: [assembly1, assembly2],
55
- };
56
- }
57
- else if (radioOption === '.pif.gz') {
58
- return {
59
- type: 'PairwiseIndexedPAFAdapter',
60
- pifGzLocation: fileLocation,
61
- index: { location: indexFileLocation },
62
- assemblyNames: [assembly1, assembly2],
63
- };
64
- }
65
- else {
66
- throw new Error(`Unknown to detect type ${radioOption} from filename (select radio button to clarify)`);
67
- }
68
- }
69
- const ImportCustomTrack = observer(function ({ assembly1, assembly2, setSessionTrackData, }) {
70
- const [bed2Location, setBed2Location] = useState();
71
- const [bed1Location, setBed1Location] = useState();
72
- const [fileLocation, setFileLocation] = useState();
73
- const [indexFileLocation, setIndexFileLocation] = useState();
74
- const [value, setValue] = useState('');
75
- const [error, setError] = useState();
76
- const fileName = getName(fileLocation);
77
- const radioOption = value || (fileName ? extName(stripGz(fileName)) : '');
78
- useEffect(() => {
79
- try {
80
- if (fileLocation) {
81
- const fn = fileName ? basename(fileName) : 'MyTrack';
82
- const trackId = `${fn}-${Date.now()}`;
83
- setError(undefined);
84
- setSessionTrackData({
85
- trackId,
86
- name: fn,
87
- assemblyNames: [assembly2, assembly1],
88
- type: 'SyntenyTrack',
89
- adapter: getAdapter({
90
- radioOption,
91
- assembly1,
92
- assembly2,
93
- fileLocation,
94
- indexFileLocation,
95
- bed1Location,
96
- bed2Location,
97
- }),
98
- });
99
- }
100
- }
101
- catch (e) {
102
- console.error(e);
103
- setError(e);
104
- }
105
- }, [
106
- fileName,
107
- assembly1,
108
- assembly2,
109
- bed1Location,
110
- bed2Location,
111
- fileLocation,
112
- indexFileLocation,
113
- radioOption,
114
- setSessionTrackData,
115
- ]);
116
- return (React.createElement(Paper, { style: { padding: 12 } },
117
- error ? React.createElement(ErrorMessage, { error: error }) : null,
118
- React.createElement(Typography, { style: { textAlign: 'center' } }, "Add a .paf, .out (MashMap), .delta (Mummer), .chain, .anchors or .anchors.simple (MCScan) file to view. These file types can also be gzipped. The first assembly should be the query sequence (e.g. left column of the PAF) and the second assembly should be the target sequence (e.g. right column of the PAF)"),
119
- React.createElement(RadioGroup, { value: radioOption, onChange: event => {
120
- setValue(event.target.value);
121
- } },
122
- React.createElement(Grid, { container: true, justifyContent: "center" },
123
- React.createElement(Grid, { item: true },
124
- React.createElement(FormControlLabel, { value: ".paf", control: React.createElement(Radio, null), label: ".paf" })),
125
- React.createElement(Grid, { item: true },
126
- React.createElement(FormControlLabel, { value: ".out", control: React.createElement(Radio, null), label: ".out" })),
127
- React.createElement(Grid, { item: true },
128
- React.createElement(FormControlLabel, { value: ".delta", control: React.createElement(Radio, null), label: ".delta" })),
129
- React.createElement(Grid, { item: true },
130
- React.createElement(FormControlLabel, { value: ".chain", control: React.createElement(Radio, null), label: ".chain" })),
131
- React.createElement(Grid, { item: true },
132
- React.createElement(FormControlLabel, { value: ".anchors", control: React.createElement(Radio, null), label: ".anchors" })),
133
- React.createElement(Grid, { item: true },
134
- React.createElement(FormControlLabel, { value: ".anchors.simple", control: React.createElement(Radio, null), label: ".anchors.simple" })),
135
- React.createElement(Grid, { item: true },
136
- React.createElement(FormControlLabel, { value: ".pif.gz", control: React.createElement(Radio, null), label: ".pif.gz" })))),
137
- React.createElement(Grid, { container: true, justifyContent: "center" },
138
- React.createElement(Grid, { item: true }, value === '.anchors' || value === '.anchors.simple' ? (React.createElement("div", null,
139
- React.createElement("div", { style: { margin: 20 } },
140
- "Open the ",
141
- value,
142
- " and .bed files for both genome assemblies from the MCScan (Python version) pipeline",
143
- ' ',
144
- React.createElement("a", { href: "https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)" }, "(more info)")),
145
- React.createElement("div", { style: { display: 'flex' } },
146
- React.createElement("div", null,
147
- React.createElement(FileSelector, { name: ".anchors file", description: "", location: fileLocation, setLocation: loc => {
148
- setFileLocation(loc);
149
- } })),
150
- React.createElement("div", null,
151
- React.createElement(FileSelector, { name: "genome 1 .bed (left column of anchors file)", description: "", location: bed1Location, setLocation: loc => {
152
- setBed1Location(loc);
153
- } })),
154
- React.createElement("div", null,
155
- React.createElement(FileSelector, { name: "genome 2 .bed (right column of anchors file)", description: "", location: bed2Location, setLocation: loc => {
156
- setBed2Location(loc);
157
- } }))))) : value === '.pif.gz' ? (React.createElement("div", { style: { display: 'flex' } },
158
- React.createElement("div", null,
159
- React.createElement(FileSelector, { name: `${value} location`, description: "", location: fileLocation, setLocation: loc => {
160
- setFileLocation(loc);
161
- } })),
162
- React.createElement("div", null,
163
- React.createElement(FileSelector, { name: `${value} index location`, description: "", location: indexFileLocation, setLocation: loc => {
164
- setIndexFileLocation(loc);
165
- } })))) : (React.createElement(FileSelector, { name: value ? `${value} location` : '', description: "", location: fileLocation, setLocation: loc => {
166
- setFileLocation(loc);
167
- } }))))));
168
- });
169
- export default ImportCustomTrack;