@jbrowse/plugin-linear-genome-view 2.4.2 → 2.5.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 (180) hide show
  1. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +0 -1
  2. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +3 -4
  3. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +7 -3
  4. package/dist/BaseLinearDisplay/components/TooLargeMessage.js.map +1 -1
  5. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +0 -1
  6. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +75 -14
  7. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +38 -32
  8. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  9. package/dist/BaseLinearDisplay/models/configSchema.d.ts +35 -1
  10. package/dist/BaseLinearDisplay/models/configSchema.js +9 -0
  11. package/dist/BaseLinearDisplay/models/configSchema.js.map +1 -1
  12. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +10 -6
  13. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  14. package/dist/BaseLinearDisplay/models/util.d.ts +6 -2
  15. package/dist/BaseLinearDisplay/models/util.js +4 -4
  16. package/dist/BaseLinearDisplay/models/util.js.map +1 -1
  17. package/dist/BasicTrack/configSchema.d.ts +73 -1
  18. package/dist/FeatureTrack/configSchema.d.ts +75 -1
  19. package/dist/LinearBareDisplay/configSchema.d.ts +28 -1
  20. package/dist/LinearBareDisplay/model.d.ts +62 -11
  21. package/dist/LinearBareDisplay/model.js +2 -2
  22. package/dist/LinearBareDisplay/model.js.map +1 -1
  23. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +0 -1
  24. package/dist/LinearBasicDisplay/configSchema.d.ts +28 -1
  25. package/dist/LinearBasicDisplay/configSchema.js +0 -9
  26. package/dist/LinearBasicDisplay/configSchema.js.map +1 -1
  27. package/dist/LinearBasicDisplay/model.d.ts +71 -10
  28. package/dist/LinearGenomeView/components/CenterLine.d.ts +0 -1
  29. package/dist/LinearGenomeView/components/Cytobands.d.ts +22 -23
  30. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +0 -1
  31. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +0 -1
  32. package/dist/LinearGenomeView/components/GetSequenceDialog.js +14 -16
  33. package/dist/LinearGenomeView/components/GetSequenceDialog.js.map +1 -1
  34. package/dist/LinearGenomeView/components/Gridlines.d.ts +0 -1
  35. package/dist/LinearGenomeView/components/Header.d.ts +0 -1
  36. package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  37. package/dist/LinearGenomeView/components/ImportForm.d.ts +0 -1
  38. package/dist/LinearGenomeView/components/ImportForm.js +4 -7
  39. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -1
  40. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +0 -1
  41. package/dist/LinearGenomeView/components/LinearGenomeView.js +0 -4
  42. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  43. package/dist/LinearGenomeView/components/MiniControls.d.ts +0 -1
  44. package/dist/LinearGenomeView/components/OverviewScalebar.js +2 -1
  45. package/dist/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
  46. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +43 -36
  47. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -1
  48. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +0 -1
  49. package/dist/LinearGenomeView/components/SearchBox.d.ts +0 -1
  50. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +5 -3
  51. package/dist/LinearGenomeView/components/SearchResultsDialog.js +6 -82
  52. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -1
  53. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +8 -0
  54. package/dist/LinearGenomeView/components/SearchResultsTable.js +83 -0
  55. package/dist/LinearGenomeView/components/SearchResultsTable.js.map +1 -0
  56. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +0 -1
  57. package/dist/LinearGenomeView/components/TrackContainer.d.ts +0 -1
  58. package/dist/LinearGenomeView/components/TrackContainer.js +8 -2
  59. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -1
  60. package/dist/LinearGenomeView/components/TracksContainer.js +5 -7
  61. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -1
  62. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +0 -1
  63. package/dist/LinearGenomeView/components/ZoomControls.d.ts +0 -1
  64. package/dist/LinearGenomeView/components/util.js +1 -1
  65. package/dist/LinearGenomeView/components/util.js.map +1 -1
  66. package/dist/LinearGenomeView/model.d.ts +49 -36
  67. package/dist/LinearGenomeView/model.js +121 -198
  68. package/dist/LinearGenomeView/model.js.map +1 -1
  69. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +0 -1
  70. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +0 -1
  71. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +0 -1
  72. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +0 -1
  73. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +0 -1
  74. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +0 -1
  75. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +0 -1
  76. package/dist/LinearGenomeView/util.d.ts +29 -0
  77. package/dist/LinearGenomeView/util.js +79 -1
  78. package/dist/LinearGenomeView/util.js.map +1 -1
  79. package/dist/index.d.ts +189 -70
  80. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +0 -1
  81. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +3 -4
  82. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +7 -3
  83. package/esm/BaseLinearDisplay/components/TooLargeMessage.js.map +1 -1
  84. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +0 -1
  85. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +75 -14
  86. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +40 -34
  87. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  88. package/esm/BaseLinearDisplay/models/configSchema.d.ts +35 -1
  89. package/esm/BaseLinearDisplay/models/configSchema.js +9 -0
  90. package/esm/BaseLinearDisplay/models/configSchema.js.map +1 -1
  91. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +10 -6
  92. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  93. package/esm/BaseLinearDisplay/models/util.d.ts +6 -2
  94. package/esm/BaseLinearDisplay/models/util.js +2 -2
  95. package/esm/BaseLinearDisplay/models/util.js.map +1 -1
  96. package/esm/BasicTrack/configSchema.d.ts +73 -1
  97. package/esm/FeatureTrack/configSchema.d.ts +75 -1
  98. package/esm/LinearBareDisplay/configSchema.d.ts +28 -1
  99. package/esm/LinearBareDisplay/model.d.ts +62 -11
  100. package/esm/LinearBareDisplay/model.js +1 -1
  101. package/esm/LinearBareDisplay/model.js.map +1 -1
  102. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +0 -1
  103. package/esm/LinearBasicDisplay/configSchema.d.ts +28 -1
  104. package/esm/LinearBasicDisplay/configSchema.js +0 -9
  105. package/esm/LinearBasicDisplay/configSchema.js.map +1 -1
  106. package/esm/LinearBasicDisplay/model.d.ts +71 -10
  107. package/esm/LinearGenomeView/components/CenterLine.d.ts +0 -1
  108. package/esm/LinearGenomeView/components/Cytobands.d.ts +22 -23
  109. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +0 -1
  110. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +0 -1
  111. package/esm/LinearGenomeView/components/GetSequenceDialog.js +15 -17
  112. package/esm/LinearGenomeView/components/GetSequenceDialog.js.map +1 -1
  113. package/esm/LinearGenomeView/components/Gridlines.d.ts +0 -1
  114. package/esm/LinearGenomeView/components/Header.d.ts +0 -1
  115. package/esm/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  116. package/esm/LinearGenomeView/components/ImportForm.d.ts +0 -1
  117. package/esm/LinearGenomeView/components/ImportForm.js +5 -8
  118. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -1
  119. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +0 -1
  120. package/esm/LinearGenomeView/components/LinearGenomeView.js +0 -4
  121. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  122. package/esm/LinearGenomeView/components/MiniControls.d.ts +0 -1
  123. package/esm/LinearGenomeView/components/OverviewScalebar.js +2 -1
  124. package/esm/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
  125. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +43 -36
  126. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -1
  127. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +0 -1
  128. package/esm/LinearGenomeView/components/SearchBox.d.ts +0 -1
  129. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +5 -3
  130. package/esm/LinearGenomeView/components/SearchResultsDialog.js +7 -83
  131. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -1
  132. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +8 -0
  133. package/esm/LinearGenomeView/components/SearchResultsTable.js +77 -0
  134. package/esm/LinearGenomeView/components/SearchResultsTable.js.map +1 -0
  135. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +0 -1
  136. package/esm/LinearGenomeView/components/TrackContainer.d.ts +0 -1
  137. package/esm/LinearGenomeView/components/TrackContainer.js +8 -2
  138. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -1
  139. package/esm/LinearGenomeView/components/TracksContainer.js +5 -7
  140. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -1
  141. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +0 -1
  142. package/esm/LinearGenomeView/components/ZoomControls.d.ts +0 -1
  143. package/esm/LinearGenomeView/components/util.js +1 -1
  144. package/esm/LinearGenomeView/components/util.js.map +1 -1
  145. package/esm/LinearGenomeView/model.d.ts +49 -36
  146. package/esm/LinearGenomeView/model.js +122 -199
  147. package/esm/LinearGenomeView/model.js.map +1 -1
  148. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +0 -1
  149. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +0 -1
  150. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +0 -1
  151. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +0 -1
  152. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +0 -1
  153. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +0 -1
  154. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +0 -1
  155. package/esm/LinearGenomeView/util.d.ts +29 -0
  156. package/esm/LinearGenomeView/util.js +76 -0
  157. package/esm/LinearGenomeView/util.js.map +1 -1
  158. package/esm/index.d.ts +189 -70
  159. package/package.json +3 -3
  160. package/src/BaseLinearDisplay/components/TooLargeMessage.tsx +10 -6
  161. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +46 -36
  162. package/src/BaseLinearDisplay/models/configSchema.ts +10 -0
  163. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +19 -13
  164. package/src/BaseLinearDisplay/models/util.ts +10 -4
  165. package/src/LinearBareDisplay/model.ts +1 -1
  166. package/src/LinearBasicDisplay/configSchema.ts +0 -10
  167. package/src/LinearGenomeView/components/GetSequenceDialog.tsx +15 -25
  168. package/src/LinearGenomeView/components/ImportForm.tsx +4 -14
  169. package/src/LinearGenomeView/components/LinearGenomeView.tsx +0 -14
  170. package/src/LinearGenomeView/components/OverviewScalebar.tsx +2 -1
  171. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +107 -65
  172. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +17 -112
  173. package/src/LinearGenomeView/components/SearchResultsTable.tsx +121 -0
  174. package/src/LinearGenomeView/components/TrackContainer.tsx +12 -3
  175. package/src/LinearGenomeView/components/TracksContainer.tsx +9 -6
  176. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +11 -11
  177. package/src/LinearGenomeView/components/util.ts +2 -1
  178. package/src/LinearGenomeView/index.test.ts +10 -12
  179. package/src/LinearGenomeView/model.ts +163 -236
  180. package/src/LinearGenomeView/util.ts +98 -0
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { LinearGenomeViewModel } from '..';
3
2
  type LGV = LinearGenomeViewModel;
4
3
  export default function SVGScalebar({ model, fontSize, }: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export default function SVGTrackLabel({ trackLabels, trackName, fontSize, trackLabelOffset, x, }: {
3
2
  trackName: string;
4
3
  trackLabels: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
2
  import { LinearGenomeViewModel } from '..';
4
3
  type LGV = LinearGenomeViewModel;
@@ -1,3 +1,4 @@
1
+ import { AssemblyManager, ParsedLocString } from '@jbrowse/core/util';
1
2
  /**
2
3
  * Given a scale ( bp/px ) and minimum distances (px) between major and minor
3
4
  * gridlines, return an object like `{ majorPitch: bp, minorPitch: bp }` giving
@@ -12,3 +13,31 @@ export declare function makeTicks(start: number, end: number, bpPerPx: number, e
12
13
  base: number;
13
14
  index: number;
14
15
  }[];
16
+ /**
17
+ * Generate location objects for a set of parsed locstrings, which includes
18
+ * translating the refNames to assembly-canonical refNames and adding the
19
+ * 'parentRegion'
20
+ *
21
+ * Used by navToLocations and navToLocString
22
+ */
23
+ export declare function generateLocations(regions: ParsedLocString[] | undefined, assemblyManager: AssemblyManager, assemblyName?: string): Promise<{
24
+ assemblyName: string;
25
+ parentRegion: import("@jbrowse/core/assemblyManager/assembly").BasicRegion;
26
+ refName: string;
27
+ start?: number | undefined;
28
+ end?: number | undefined;
29
+ reversed?: boolean | undefined;
30
+ }[]>;
31
+ /**
32
+ * Parses locString or space separated set of locStrings into location objects
33
+ * Example inputs:
34
+ * "chr1"
35
+ * "chr1:1-100"
36
+ * "chr1:1..100"
37
+ * "chr1 chr2"
38
+ * "chr1:1-100 chr2:1-100"
39
+ * "chr1 100 200" equivalent to "chr1:1-100"
40
+ *
41
+ * Used by navToLocString
42
+ */
43
+ export declare function parseLocStrings(input: string, assemblyName: string, isValidRefName: (str: string, assemblyName: string) => boolean): ParsedLocString[];
@@ -1,3 +1,4 @@
1
+ import { parseLocString, } from '@jbrowse/core/util';
1
2
  /**
2
3
  * Given a scale ( bp/px ) and minimum distances (px) between major and minor
3
4
  * gridlines, return an object like `{ majorPitch: bp, minorPitch: bp }` giving
@@ -59,4 +60,79 @@ export function makeTicks(start, end, bpPerPx, emitMajor = true, emitMinor = tru
59
60
  }
60
61
  return ticks;
61
62
  }
63
+ /**
64
+ * Generate location objects for a set of parsed locstrings, which includes
65
+ * translating the refNames to assembly-canonical refNames and adding the
66
+ * 'parentRegion'
67
+ *
68
+ * Used by navToLocations and navToLocString
69
+ */
70
+ export async function generateLocations(regions = [], assemblyManager, assemblyName) {
71
+ return Promise.all(regions.map(async (region) => {
72
+ const asmName = region.assemblyName || assemblyName;
73
+ if (!asmName) {
74
+ throw new Error('no assembly provided');
75
+ }
76
+ const asm = await assemblyManager.waitForAssembly(asmName);
77
+ const { refName } = region;
78
+ if (!asm) {
79
+ throw new Error(`assembly ${asmName} not found`);
80
+ }
81
+ const { regions } = asm;
82
+ if (!regions) {
83
+ throw new Error(`regions not loaded yet for ${asmName}`);
84
+ }
85
+ const canonicalRefName = asm.getCanonicalRefName(region.refName);
86
+ if (!canonicalRefName) {
87
+ throw new Error(`Could not find refName ${refName} in ${asm.name}`);
88
+ }
89
+ const parentRegion = regions.find(r => r.refName === canonicalRefName);
90
+ if (!parentRegion) {
91
+ throw new Error(`Could not find refName ${refName} in ${asmName}`);
92
+ }
93
+ return {
94
+ ...region,
95
+ assemblyName: asmName,
96
+ parentRegion,
97
+ };
98
+ }));
99
+ }
100
+ /**
101
+ * Parses locString or space separated set of locStrings into location objects
102
+ * Example inputs:
103
+ * "chr1"
104
+ * "chr1:1-100"
105
+ * "chr1:1..100"
106
+ * "chr1 chr2"
107
+ * "chr1:1-100 chr2:1-100"
108
+ * "chr1 100 200" equivalent to "chr1:1-100"
109
+ *
110
+ * Used by navToLocString
111
+ */
112
+ export function parseLocStrings(input, assemblyName, isValidRefName) {
113
+ const inputs = input
114
+ .split(/(\s+)/)
115
+ .map(f => f.trim())
116
+ .filter(f => !!f);
117
+ // first try interpreting as a whitespace-separated sequence of
118
+ // multiple locstrings
119
+ try {
120
+ return inputs.map(loc => parseLocString(loc, ref => isValidRefName(ref, assemblyName)));
121
+ }
122
+ catch (e) {
123
+ // if this fails, try interpreting as a whitespace-separated refname,
124
+ // start, end if start and end are integer inputs
125
+ const [refName, start, end] = inputs;
126
+ if (`${e}`.match(/Unknown reference sequence/) &&
127
+ Number.isInteger(+start) &&
128
+ Number.isInteger(+end)) {
129
+ return [
130
+ parseLocString(refName + ':' + start + '..' + end, ref => isValidRefName(ref, assemblyName)),
131
+ ];
132
+ }
133
+ else {
134
+ throw e;
135
+ }
136
+ }
137
+ }
62
138
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/LinearGenomeView/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/LinearGenomeView/util.ts"],"names":[],"mappings":"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"}