@jbrowse/plugin-linear-comparative-view 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 (231) hide show
  1. package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
  2. package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +36 -60
  3. package/dist/LGVSyntenyDisplay/components/util.d.ts +9 -6
  4. package/dist/LGVSyntenyDisplay/components/util.js +6 -13
  5. package/dist/LGVSyntenyDisplay/configSchemaF.d.ts +19 -10
  6. package/dist/LGVSyntenyDisplay/configSchemaF.js +12 -9
  7. package/dist/LGVSyntenyDisplay/index.d.ts +1 -1
  8. package/dist/LGVSyntenyDisplay/index.js +1 -1
  9. package/dist/LGVSyntenyDisplay/model.d.ts +122 -69
  10. package/dist/LGVSyntenyDisplay/model.js +20 -37
  11. package/dist/LaunchLinearSyntenyView.d.ts +1 -1
  12. package/dist/LaunchLinearSyntenyView.js +1 -3
  13. package/dist/LinearComparativeDisplay/configSchemaF.d.ts +0 -3
  14. package/dist/LinearComparativeDisplay/configSchemaF.js +0 -6
  15. package/dist/LinearComparativeDisplay/index.d.ts +1 -1
  16. package/dist/LinearComparativeDisplay/stateModelFactory.d.ts +12 -69
  17. package/dist/LinearComparativeDisplay/stateModelFactory.js +13 -57
  18. package/dist/LinearComparativeView/components/Header.d.ts +2 -3
  19. package/dist/LinearComparativeView/components/Header.js +56 -86
  20. package/dist/LinearComparativeView/components/HeaderSearchBoxes.d.ts +2 -3
  21. package/dist/LinearComparativeView/components/HeaderSearchBoxes.js +5 -15
  22. package/dist/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +2 -3
  23. package/dist/LinearComparativeView/components/LinearComparativeRenderArea.js +17 -32
  24. package/dist/LinearComparativeView/components/LinearComparativeView.d.ts +2 -3
  25. package/dist/LinearComparativeView/components/LinearComparativeView.js +4 -9
  26. package/dist/LinearComparativeView/components/Rubberband.d.ts +2 -3
  27. package/dist/LinearComparativeView/components/Rubberband.js +36 -69
  28. package/dist/LinearComparativeView/components/VerticalGuide.d.ts +2 -3
  29. package/dist/LinearComparativeView/components/VerticalGuide.js +5 -9
  30. package/dist/LinearComparativeView/index.d.ts +1 -1
  31. package/dist/LinearComparativeView/index.js +17 -7
  32. package/dist/LinearComparativeView/model.d.ts +38 -90
  33. package/dist/LinearComparativeView/model.js +40 -107
  34. package/dist/LinearReadVsRef/LinearReadVsRef.d.ts +2 -3
  35. package/dist/LinearReadVsRef/LinearReadVsRef.js +10 -55
  36. package/dist/LinearReadVsRef/index.d.ts +1 -1
  37. package/dist/LinearReadVsRef/index.js +17 -9
  38. package/dist/LinearSyntenyDisplay/afterAttach.d.ts +1 -1
  39. package/dist/LinearSyntenyDisplay/afterAttach.js +8 -12
  40. package/dist/LinearSyntenyDisplay/components/Component.d.ts +2 -3
  41. package/dist/LinearSyntenyDisplay/components/Component.js +11 -36
  42. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +2 -3
  43. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +95 -106
  44. package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +3 -4
  45. package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.js +3 -6
  46. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
  47. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js +3 -4
  48. package/dist/LinearSyntenyDisplay/components/util.d.ts +3 -3
  49. package/dist/LinearSyntenyDisplay/components/util.js +0 -9
  50. package/dist/LinearSyntenyDisplay/configSchemaF.d.ts +1 -12
  51. package/dist/LinearSyntenyDisplay/configSchemaF.js +0 -15
  52. package/dist/LinearSyntenyDisplay/drawSynteny.d.ts +1 -1
  53. package/dist/LinearSyntenyDisplay/drawSynteny.js +1 -23
  54. package/dist/LinearSyntenyDisplay/index.d.ts +1 -1
  55. package/dist/LinearSyntenyDisplay/index.js +18 -9
  56. package/dist/LinearSyntenyDisplay/model.d.ts +8 -102
  57. package/dist/LinearSyntenyDisplay/model.js +18 -99
  58. package/dist/LinearSyntenyView/components/ExportSvgDialog.d.ts +2 -3
  59. package/dist/LinearSyntenyView/components/ExportSvgDialog.js +35 -76
  60. package/dist/LinearSyntenyView/components/Icons.d.ts +3 -4
  61. package/dist/LinearSyntenyView/components/Icons.js +3 -8
  62. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
  63. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +130 -0
  64. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
  65. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +39 -0
  66. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
  67. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +22 -0
  68. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +2 -3
  69. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +49 -150
  70. package/dist/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
  71. package/dist/LinearSyntenyView/components/ImportForm/doSubmit.js +43 -0
  72. package/dist/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
  73. package/dist/LinearSyntenyView/components/ImportForm/getAdapter.js +68 -0
  74. package/dist/LinearSyntenyView/components/ImportForm/util.js +1 -3
  75. package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
  76. package/dist/LinearSyntenyView/components/LinearSyntenyView.js +20 -10
  77. package/dist/LinearSyntenyView/index.d.ts +1 -1
  78. package/dist/LinearSyntenyView/index.js +17 -7
  79. package/dist/LinearSyntenyView/model.d.ts +54 -58
  80. package/dist/LinearSyntenyView/model.js +61 -56
  81. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
  82. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js +3 -6
  83. package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +2 -3
  84. package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +3 -11
  85. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +1 -1
  86. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +7 -24
  87. package/dist/LinearSyntenyView/types.d.ts +12 -0
  88. package/dist/LinearSyntenyView/types.js +2 -0
  89. package/dist/LinearSyntenyViewHelper/index.d.ts +1 -1
  90. package/dist/LinearSyntenyViewHelper/index.js +2 -2
  91. package/dist/LinearSyntenyViewHelper/stateModelFactory.d.ts +2 -14
  92. package/dist/LinearSyntenyViewHelper/stateModelFactory.js +2 -29
  93. package/dist/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
  94. package/dist/SyntenyFeatureDetail/LinkToSyntenyView.js +87 -0
  95. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
  96. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.js +5 -90
  97. package/dist/SyntenyFeatureDetail/index.d.ts +1 -1
  98. package/dist/SyntenyFeatureDetail/index.js +18 -14
  99. package/dist/SyntenyFeatureDetail/types.d.ts +9 -0
  100. package/dist/SyntenyFeatureDetail/types.js +2 -0
  101. package/dist/SyntenyTrack/configSchema.d.ts +1 -1
  102. package/dist/SyntenyTrack/configSchema.js +1 -9
  103. package/dist/SyntenyTrack/index.d.ts +1 -1
  104. package/dist/SyntenyTrack/index.js +1 -1
  105. package/dist/index.d.ts +1 -1
  106. package/dist/index.js +4 -4
  107. package/dist/util.d.ts +2 -2
  108. package/dist/util.js +1 -11
  109. package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
  110. package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +35 -36
  111. package/esm/LGVSyntenyDisplay/components/util.d.ts +9 -6
  112. package/esm/LGVSyntenyDisplay/components/util.js +6 -13
  113. package/esm/LGVSyntenyDisplay/configSchemaF.d.ts +19 -10
  114. package/esm/LGVSyntenyDisplay/configSchemaF.js +12 -9
  115. package/esm/LGVSyntenyDisplay/index.d.ts +1 -1
  116. package/esm/LGVSyntenyDisplay/index.js +1 -1
  117. package/esm/LGVSyntenyDisplay/model.d.ts +122 -69
  118. package/esm/LGVSyntenyDisplay/model.js +4 -31
  119. package/esm/LaunchLinearSyntenyView.d.ts +1 -1
  120. package/esm/LaunchLinearSyntenyView.js +1 -3
  121. package/esm/LinearComparativeDisplay/configSchemaF.d.ts +0 -3
  122. package/esm/LinearComparativeDisplay/configSchemaF.js +0 -6
  123. package/esm/LinearComparativeDisplay/index.d.ts +1 -1
  124. package/esm/LinearComparativeDisplay/stateModelFactory.d.ts +12 -69
  125. package/esm/LinearComparativeDisplay/stateModelFactory.js +14 -58
  126. package/esm/LinearComparativeView/components/Header.d.ts +2 -3
  127. package/esm/LinearComparativeView/components/Header.js +56 -63
  128. package/esm/LinearComparativeView/components/HeaderSearchBoxes.d.ts +2 -3
  129. package/esm/LinearComparativeView/components/HeaderSearchBoxes.js +5 -12
  130. package/esm/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +2 -3
  131. package/esm/LinearComparativeView/components/LinearComparativeRenderArea.js +17 -29
  132. package/esm/LinearComparativeView/components/LinearComparativeView.d.ts +2 -3
  133. package/esm/LinearComparativeView/components/LinearComparativeView.js +4 -9
  134. package/esm/LinearComparativeView/components/Rubberband.d.ts +2 -3
  135. package/esm/LinearComparativeView/components/Rubberband.js +36 -46
  136. package/esm/LinearComparativeView/components/VerticalGuide.d.ts +2 -3
  137. package/esm/LinearComparativeView/components/VerticalGuide.js +5 -6
  138. package/esm/LinearComparativeView/index.d.ts +1 -1
  139. package/esm/LinearComparativeView/model.d.ts +38 -90
  140. package/esm/LinearComparativeView/model.js +24 -101
  141. package/esm/LinearReadVsRef/LinearReadVsRef.d.ts +2 -3
  142. package/esm/LinearReadVsRef/LinearReadVsRef.js +10 -32
  143. package/esm/LinearReadVsRef/index.d.ts +1 -1
  144. package/esm/LinearReadVsRef/index.js +1 -3
  145. package/esm/LinearSyntenyDisplay/afterAttach.d.ts +1 -1
  146. package/esm/LinearSyntenyDisplay/afterAttach.js +8 -12
  147. package/esm/LinearSyntenyDisplay/components/Component.d.ts +2 -3
  148. package/esm/LinearSyntenyDisplay/components/Component.js +11 -13
  149. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +2 -3
  150. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +79 -100
  151. package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +3 -4
  152. package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.js +3 -3
  153. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
  154. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js +3 -4
  155. package/esm/LinearSyntenyDisplay/components/util.d.ts +3 -3
  156. package/esm/LinearSyntenyDisplay/components/util.js +2 -11
  157. package/esm/LinearSyntenyDisplay/configSchemaF.d.ts +1 -12
  158. package/esm/LinearSyntenyDisplay/configSchemaF.js +0 -15
  159. package/esm/LinearSyntenyDisplay/drawSynteny.d.ts +1 -1
  160. package/esm/LinearSyntenyDisplay/drawSynteny.js +1 -23
  161. package/esm/LinearSyntenyDisplay/index.d.ts +1 -1
  162. package/esm/LinearSyntenyDisplay/index.js +1 -2
  163. package/esm/LinearSyntenyDisplay/model.d.ts +8 -102
  164. package/esm/LinearSyntenyDisplay/model.js +1 -92
  165. package/esm/LinearSyntenyView/components/ExportSvgDialog.d.ts +2 -3
  166. package/esm/LinearSyntenyView/components/ExportSvgDialog.js +35 -53
  167. package/esm/LinearSyntenyView/components/Icons.d.ts +3 -4
  168. package/esm/LinearSyntenyView/components/Icons.js +3 -5
  169. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
  170. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +125 -0
  171. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
  172. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +37 -0
  173. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
  174. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +16 -0
  175. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +2 -3
  176. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +49 -127
  177. package/esm/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
  178. package/esm/LinearSyntenyView/components/ImportForm/doSubmit.js +40 -0
  179. package/esm/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
  180. package/esm/LinearSyntenyView/components/ImportForm/getAdapter.js +65 -0
  181. package/esm/LinearSyntenyView/components/ImportForm/util.js +1 -3
  182. package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
  183. package/esm/LinearSyntenyView/components/LinearSyntenyView.js +3 -3
  184. package/esm/LinearSyntenyView/index.d.ts +1 -1
  185. package/esm/LinearSyntenyView/model.d.ts +54 -58
  186. package/esm/LinearSyntenyView/model.js +44 -49
  187. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
  188. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js +3 -3
  189. package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +2 -3
  190. package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +4 -9
  191. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +1 -1
  192. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +8 -25
  193. package/esm/LinearSyntenyView/types.d.ts +12 -0
  194. package/esm/LinearSyntenyView/types.js +1 -0
  195. package/esm/LinearSyntenyViewHelper/index.d.ts +1 -1
  196. package/esm/LinearSyntenyViewHelper/index.js +2 -2
  197. package/esm/LinearSyntenyViewHelper/stateModelFactory.d.ts +2 -14
  198. package/esm/LinearSyntenyViewHelper/stateModelFactory.js +2 -29
  199. package/esm/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
  200. package/esm/SyntenyFeatureDetail/LinkToSyntenyView.js +52 -0
  201. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
  202. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.js +6 -68
  203. package/esm/SyntenyFeatureDetail/index.d.ts +1 -1
  204. package/esm/SyntenyFeatureDetail/index.js +1 -7
  205. package/esm/SyntenyFeatureDetail/types.d.ts +9 -0
  206. package/esm/SyntenyFeatureDetail/types.js +1 -0
  207. package/esm/SyntenyTrack/configSchema.d.ts +1 -1
  208. package/esm/SyntenyTrack/configSchema.js +1 -9
  209. package/esm/SyntenyTrack/index.d.ts +1 -1
  210. package/esm/SyntenyTrack/index.js +1 -1
  211. package/esm/index.d.ts +1 -1
  212. package/esm/index.js +4 -4
  213. package/esm/util.d.ts +2 -2
  214. package/esm/util.js +1 -11
  215. package/package.json +2 -4
  216. package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
  217. package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -194
  218. package/dist/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
  219. package/dist/LinearSyntenyView/components/ImportForm/Spacer.js +0 -10
  220. package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
  221. package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -59
  222. package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
  223. package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -52
  224. package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
  225. package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -169
  226. package/esm/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
  227. package/esm/LinearSyntenyView/components/ImportForm/Spacer.js +0 -4
  228. package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
  229. package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -34
  230. package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
  231. package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -23
@@ -1,5 +1,5 @@
1
- import { Instance } from 'mobx-state-tree';
2
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ import type { Instance } from 'mobx-state-tree';
3
3
  export declare function linearSyntenyViewHelperModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
4
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
5
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -7,21 +7,9 @@ export declare function linearSyntenyViewHelperModelFactory(pluginManager: Plugi
7
7
  height: import("mobx-state-tree").IType<number | undefined, number, number>;
8
8
  level: import("mobx-state-tree").ISimpleType<number>;
9
9
  }, {
10
- /**
11
- * #action
12
- */
13
10
  setHeight(n: number): number;
14
- /**
15
- * #action
16
- */
17
11
  showTrack(trackId: string, initialSnapshot?: {}): void;
18
- /**
19
- * #action
20
- */
21
12
  hideTrack(trackId: string): number;
22
- /**
23
- * #action
24
- */
25
13
  toggleTrack(trackId: string): boolean;
26
14
  } & {
27
15
  readonly assemblyNames: (string | undefined)[];
@@ -1,41 +1,20 @@
1
- import { getRoot, resolveIdentifier, types, getParent, } from 'mobx-state-tree';
2
- import { transaction } from 'mobx';
3
1
  import { ElementId } from '@jbrowse/core/util/types/mst';
2
+ import { transaction } from 'mobx';
3
+ import { getParent, getRoot, resolveIdentifier, types } from 'mobx-state-tree';
4
4
  export function linearSyntenyViewHelperModelFactory(pluginManager) {
5
5
  return types
6
6
  .model('LinearSyntenyViewHelper', {
7
- /**
8
- * #property
9
- */
10
7
  id: ElementId,
11
- /**
12
- * #property
13
- */
14
8
  type: 'LinearSyntenyViewHelper',
15
- /**
16
- * #property
17
- */
18
9
  tracks: types.array(pluginManager.pluggableMstType('track', 'stateModel')),
19
- /**
20
- * #property
21
- */
22
10
  height: 100,
23
- /**
24
- * #property
25
- */
26
11
  level: types.number,
27
12
  })
28
13
  .actions(self => ({
29
- /**
30
- * #action
31
- */
32
14
  setHeight(n) {
33
15
  self.height = n;
34
16
  return self.height;
35
17
  },
36
- /**
37
- * #action
38
- */
39
18
  showTrack(trackId, initialSnapshot = {}) {
40
19
  const schema = pluginManager.pluggableConfigSchemaType('track');
41
20
  const configuration = resolveIdentifier(schema, getRoot(self), trackId);
@@ -64,9 +43,6 @@ export function linearSyntenyViewHelperModelFactory(pluginManager) {
64
43
  ],
65
44
  }));
66
45
  },
67
- /**
68
- * #action
69
- */
70
46
  hideTrack(trackId) {
71
47
  const schema = pluginManager.pluggableConfigSchemaType('track');
72
48
  const config = resolveIdentifier(schema, getRoot(self), trackId);
@@ -78,9 +54,6 @@ export function linearSyntenyViewHelperModelFactory(pluginManager) {
78
54
  });
79
55
  return shownTracks.length;
80
56
  },
81
- /**
82
- * #action
83
- */
84
57
  toggleTrack(trackId) {
85
58
  const hiddenCount = this.hideTrack(trackId);
86
59
  if (!hiddenCount) {
@@ -0,0 +1,5 @@
1
+ import type { SyntenyFeatureDetailModel } from './types';
2
+ declare const LinkToSyntenyView: ({ model, }: {
3
+ model: SyntenyFeatureDetailModel;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default LinkToSyntenyView;
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { lazy } from 'react';
3
+ import { SimpleFeature, assembleLocString, getSession, } from '@jbrowse/core/util';
4
+ import { Link } from '@mui/material';
5
+ import { observer } from 'mobx-react';
6
+ const LaunchSyntenyViewDialog = lazy(() => import('../LGVSyntenyDisplay/components/LaunchSyntenyViewDialog'));
7
+ const LinkToSyntenyView = observer(function ({ model, }) {
8
+ const { featureData, view, level, trackId } = model;
9
+ return (_jsxs("ul", { children: [view.type === 'LinearSyntenyView' ? (_jsx("li", { children: _jsx(Link, { href: "#", onClick: event => {
10
+ var _a, _b;
11
+ event.preventDefault();
12
+ const { views } = view;
13
+ if (level !== undefined) {
14
+ (_a = views[level]) === null || _a === void 0 ? void 0 : _a.navTo(featureData);
15
+ (_b = views[level + 1]) === null || _b === void 0 ? void 0 : _b.navTo(featureData.mate);
16
+ }
17
+ else {
18
+ const f1 = featureData;
19
+ const f2 = featureData.mate;
20
+ const r1 = f1.assemblyName;
21
+ const r2 = f2.assemblyName;
22
+ const v1 = views.find(view => view.assemblyNames[0] === r1);
23
+ const v2 = views.find(view => view.assemblyNames[0] === r2);
24
+ if (!v1 || !v2) {
25
+ getSession(model).notify([
26
+ v1
27
+ ? `Unable to find ${assembleLocString(f1)} in synteny view`
28
+ : '',
29
+ v2
30
+ ? `Unable to find ${assembleLocString(f2)} in synteny view`
31
+ : '',
32
+ ].join(' ... '));
33
+ }
34
+ v1 === null || v1 === void 0 ? void 0 : v1.navTo(f1);
35
+ v2 === null || v2 === void 0 ? void 0 : v2.navTo(f2);
36
+ }
37
+ }, children: "Center view on this feature" }) })) : null, _jsx("li", { children: _jsx(Link, { href: "#", onClick: event => {
38
+ event.preventDefault();
39
+ const feature = new SimpleFeature(featureData);
40
+ const session = getSession(model);
41
+ session.queueDialog(handleClose => [
42
+ LaunchSyntenyViewDialog,
43
+ {
44
+ session,
45
+ feature,
46
+ trackId,
47
+ handleClose,
48
+ },
49
+ ]);
50
+ }, children: "Launch new linear synteny view on this feature" }) })] }));
51
+ });
52
+ export default LinkToSyntenyView;
@@ -1,14 +1,5 @@
1
- import React from 'react';
2
- import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
- interface SyntenyFeatureDetailModel {
4
- trackId: string;
5
- featureData: SimpleFeatureSerialized;
6
- level?: number;
7
- view: {
8
- type: string;
9
- };
10
- }
1
+ import type { SyntenyFeatureDetailModel } from './types';
11
2
  declare const SyntenyFeatureDetail: ({ model, }: {
12
3
  model: SyntenyFeatureDetailModel;
13
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
14
5
  export default SyntenyFeatureDetail;
@@ -1,72 +1,10 @@
1
- import React, { lazy } from 'react';
2
- import { Link, Paper } from '@mui/material';
3
- import { observer } from 'mobx-react';
4
- // locals
5
- import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
2
  import BaseFeatureDetail from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail';
7
- import { assembleLocString, getSession, SimpleFeature, } from '@jbrowse/core/util';
8
- // lazies
9
- const LaunchSyntenyViewDialog = lazy(() => import('../LGVSyntenyDisplay/components/LaunchSyntenyViewDialog'));
10
- const CustomLinker = observer(function ({ model, }) {
11
- const { featureData, view, level, trackId } = model;
12
- return (React.createElement("ul", null,
13
- view.type === 'LinearSyntenyView' ? (React.createElement("li", null,
14
- React.createElement(Link, { href: "#", onClick: event => {
15
- var _a, _b;
16
- event.preventDefault();
17
- const { views } = view;
18
- if (level !== undefined) {
19
- // level is "pre-known", and stored in the SyntenyFeatureWidget
20
- // model state e.g. when clicking on a feature from a
21
- // LinearSyntenyRendering
22
- (_a = views[level]) === null || _a === void 0 ? void 0 : _a.navTo(featureData);
23
- (_b = views[level + 1]) === null || _b === void 0 ? void 0 : _b.navTo(featureData.mate);
24
- }
25
- else {
26
- // best effort to find the right level. this is triggered for
27
- // example if a user clicks on a feature in a LGVSyntenyDisplay
28
- // in an existing LinearSyntenyView, there is no real proper
29
- // level "pre-known" to this situation
30
- const f1 = featureData;
31
- const f2 = featureData.mate;
32
- const r1 = f1.assemblyName;
33
- const r2 = f2.assemblyName;
34
- const v1 = views.find(view => view.assemblyNames[0] === r1);
35
- const v2 = views.find(view => view.assemblyNames[0] === r2);
36
- if (!v1 || !v2) {
37
- getSession(model).notify([
38
- v1
39
- ? `Unable to find ${assembleLocString(f1)} in synteny view`
40
- : '',
41
- v2
42
- ? `Unable to find ${assembleLocString(f2)} in synteny view`
43
- : '',
44
- ].join(' ... '));
45
- }
46
- v1 === null || v1 === void 0 ? void 0 : v1.navTo(f1);
47
- v2 === null || v2 === void 0 ? void 0 : v2.navTo(f2);
48
- }
49
- } }, "Center view on this feature"))) : null,
50
- React.createElement("li", null,
51
- React.createElement(Link, { href: "#", onClick: event => {
52
- event.preventDefault();
53
- const session = getSession(model);
54
- const feature = new SimpleFeature(featureData);
55
- session.queueDialog(handleClose => [
56
- LaunchSyntenyViewDialog,
57
- {
58
- model,
59
- feature,
60
- trackId,
61
- handleClose,
62
- },
63
- ]);
64
- } }, "Launch new linear synteny view on this feature"))));
65
- });
3
+ import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
4
+ import { Paper } from '@mui/material';
5
+ import { observer } from 'mobx-react';
6
+ import LinkToSyntenyView from './LinkToSyntenyView';
66
7
  const SyntenyFeatureDetail = observer(function ({ model, }) {
67
- return (React.createElement(Paper, { "data-testid": "alignment-side-drawer" },
68
- React.createElement(BaseFeatureDetail, { title: "Feature", model: model }),
69
- React.createElement(BaseCard, { title: "Link to view" },
70
- React.createElement(CustomLinker, { model: model }))));
8
+ return (_jsxs(Paper, { children: [_jsx(BaseFeatureDetail, { title: "Feature", model: model }), _jsx(BaseCard, { title: "Link to view", children: _jsx(LinkToSyntenyView, { model: model }) })] }));
71
9
  });
72
10
  export default SyntenyFeatureDetail;
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function SyntenyFeatureWidgetF(pluginManager: PluginManager): void;
@@ -1,18 +1,12 @@
1
1
  import { lazy } from 'react';
2
+ import { stateModelFactory as BaseFeatureWidgetStateModelF } from '@jbrowse/core/BaseFeatureWidget';
2
3
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
3
4
  import WidgetType from '@jbrowse/core/pluggableElementTypes/WidgetType';
4
5
  import { types } from 'mobx-state-tree';
5
- import { stateModelFactory as BaseFeatureWidgetStateModelF } from '@jbrowse/core/BaseFeatureWidget';
6
6
  const configSchema = ConfigurationSchema('SyntenyFeatureWidget', {});
7
7
  function stateModelF(pluginManager) {
8
8
  return types.compose(BaseFeatureWidgetStateModelF(pluginManager), types.model('SyntenyFeatureWidget', {
9
- /**
10
- * #property
11
- */
12
9
  type: types.literal('SyntenyFeatureWidget'),
13
- /**
14
- * #property
15
- */
16
10
  level: types.maybe(types.number),
17
11
  }));
18
12
  }
@@ -0,0 +1,9 @@
1
+ import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
2
+ export interface SyntenyFeatureDetailModel {
3
+ trackId: string;
4
+ featureData: SimpleFeatureSerialized;
5
+ level?: number;
6
+ view: {
7
+ type: string;
8
+ };
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
3
  name: {
4
4
  description: string;
@@ -1,15 +1,7 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes/models';
3
- /**
4
- * #config SyntenyTrack
5
- * extends
6
- * - [BaseTrack](../basetrack)
7
- */
8
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
3
+ function x() { }
9
4
  const configSchema = (pluginManager) => ConfigurationSchema('SyntenyTrack', {}, {
10
- /**
11
- * #baseConfiguration
12
- */
13
5
  baseConfiguration: createBaseTrackConfig(pluginManager),
14
6
  });
15
7
  export default configSchema;
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function registerSyntenyTrack(pluginManager: PluginManager): void;
@@ -1,5 +1,5 @@
1
- import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
2
1
  import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType';
2
+ import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
3
  import configSchemaF from './configSchema';
4
4
  export default function registerSyntenyTrack(pluginManager) {
5
5
  pluginManager.addTrackType(() => {
package/esm/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
- import PluginManager from '@jbrowse/core/PluginManager';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
3
  export default class LinearComparativeViewPlugin extends Plugin {
4
4
  name: string;
5
5
  install(pluginManager: PluginManager): void;
package/esm/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
2
  import { isAbstractMenuManager } from '@jbrowse/core/util';
3
3
  import CalendarIcon from '@mui/icons-material/CalendarViewDay';
4
+ import LGVSyntenyDisplayF from './LGVSyntenyDisplay';
5
+ import LaunchLinearSyntenyViewF from './LaunchLinearSyntenyView';
4
6
  import LinearComparativeDisplayF from './LinearComparativeDisplay';
5
7
  import LinearComparativeViewF from './LinearComparativeView';
8
+ import LinearReadVsRefMenuItemF from './LinearReadVsRef';
6
9
  import LinearSyntenyDisplayF from './LinearSyntenyDisplay';
7
- import LGVSyntenyDisplayF from './LGVSyntenyDisplay';
8
10
  import LinearSyntenyViewF from './LinearSyntenyView';
9
11
  import LinearSyntenyViewHelperF from './LinearSyntenyViewHelper';
10
- import LaunchLinearSyntenyViewF from './LaunchLinearSyntenyView';
11
- import SyntenyTrackF from './SyntenyTrack';
12
- import LinearReadVsRefMenuItemF from './LinearReadVsRef';
13
12
  import SyntenyFeatureWidgetF from './SyntenyFeatureDetail';
13
+ import SyntenyTrackF from './SyntenyTrack';
14
14
  export default class LinearComparativeViewPlugin extends Plugin {
15
15
  constructor() {
16
16
  super(...arguments);
package/esm/util.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Region } from '@jbrowse/core/util/types';
2
- import { Feature } from '@jbrowse/core/util/simpleFeature';
1
+ import type { Feature } from '@jbrowse/core/util/simpleFeature';
2
+ import type { Region } from '@jbrowse/core/util/types';
3
3
  export type LayoutRecord = [number, number, number, number];
4
4
  export interface ReducedLinearGenomeView {
5
5
  bpPerPx: number;
package/esm/util.js CHANGED
@@ -19,18 +19,14 @@ export function getTrackPos(view, trackConfigId) {
19
19
  const idx = view.tracks.findIndex(t => t.configuration === trackConfigId);
20
20
  let accum = 0;
21
21
  for (let i = 0; i < idx; i += 1) {
22
- accum += view.tracks[i].height + 3; // +1px for trackresizehandle
22
+ accum += view.tracks[i].height + 3;
23
23
  }
24
24
  return accum;
25
25
  }
26
- // Uses bpToPx to get the screen pixel coordinates but ignores some conditions
27
- // where bpToPx could return undefined
28
26
  export function getPxFromCoordinate(view, refName, coord) {
29
27
  var _a;
30
28
  return (((_a = bpToPx(view, { refName, coord })) === null || _a === void 0 ? void 0 : _a.offsetPx) || 0) - view.offsetPx;
31
29
  }
32
- // Retrieves the y-position of a layout record in a track
33
- // If track not found returns 0
34
30
  export function overlayYPos(trackConfigId, level, views, c, cond) {
35
31
  const track = views[level].tracks.find(t => t.configuration === trackConfigId);
36
32
  const ypos = track
@@ -40,11 +36,6 @@ export function overlayYPos(trackConfigId, level, views, c, cond) {
40
36
  : 0;
41
37
  return ypos + (cond ? cheight(c) : 0);
42
38
  }
43
- // Returns the pixel screen position of a refName:coord input, or undefined if
44
- // the input could not be located. Uses view.displayedRegions as a representation
45
- // of what is on the screen
46
- //
47
- // Note: does not consider that this refName:coord input could multi-match
48
39
  function bpToPx(view, { refName, coord }) {
49
40
  let offsetBp = 0;
50
41
  const index = view.displayedRegions.findIndex(r => {
@@ -64,7 +55,6 @@ function bpToPx(view, { refName, coord }) {
64
55
  }
65
56
  return undefined;
66
57
  }
67
- // Returns either 0 or height depending on condition
68
58
  export function interstitialYPos(cond, height) {
69
59
  return cond ? 0 : height;
70
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-linear-comparative-view",
3
- "version": "2.17.0",
3
+ "version": "3.0.0",
4
4
  "description": "JBrowse 2 linear comparative view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -36,9 +36,7 @@
36
36
  "clean": "rimraf dist esm *.tsbuildinfo"
37
37
  },
38
38
  "dependencies": {
39
- "@floating-ui/react": "^0.26.3",
40
39
  "@mui/icons-material": "^6.0.0",
41
- "clone": "^2.1.2",
42
40
  "copy-to-clipboard": "^3.3.1",
43
41
  "file-saver": "^2.0.0"
44
42
  },
@@ -61,5 +59,5 @@
61
59
  "publishConfig": {
62
60
  "access": "public"
63
61
  },
64
- "gitHead": "eed30b5e671f8f7823652d7cecc51aa89226de46"
62
+ "gitHead": "2c6897f1fa732b1db5b094d1dca197e333e95319"
65
63
  }
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { SnapshotIn } from 'mobx-state-tree';
3
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- type Conf = SnapshotIn<AnyConfigurationModel>;
5
- declare const ImportCustomTrack: ({ assembly1, assembly2, setUserOpenedSyntenyTrack, }: {
6
- assembly1: string;
7
- assembly2: string;
8
- setUserOpenedSyntenyTrack: (arg: Conf) => void;
9
- }) => React.JSX.Element;
10
- export default ImportCustomTrack;
@@ -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 material_1 = require("@mui/material");
28
- const ui_1 = require("@jbrowse/core/ui");
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, setUserOpenedSyntenyTrack, }) {
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
- setUserOpenedSyntenyTrack({
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
- setUserOpenedSyntenyTrack,
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,2 +0,0 @@
1
- import React from 'react';
2
- export default function Spacer(): React.JSX.Element;