react-msaview 4.3.0 → 4.4.1

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 (69) hide show
  1. package/bundle/index.js +15 -15
  2. package/bundle/index.js.LICENSE.txt +1 -9
  3. package/bundle/index.js.map +1 -1
  4. package/dist/colorSchemes.js +2 -2
  5. package/dist/colorSchemes.js.map +1 -1
  6. package/dist/components/VerticalScrollbar.js +2 -2
  7. package/dist/components/VerticalScrollbar.js.map +1 -1
  8. package/dist/components/dialogs/SettingsDialog.js +1 -1
  9. package/dist/components/dialogs/SettingsDialog.js.map +1 -1
  10. package/dist/components/header/{SettingsMenu.d.ts → ColorMenu.d.ts} +2 -2
  11. package/dist/components/header/ColorMenu.js +19 -0
  12. package/dist/components/header/ColorMenu.js.map +1 -0
  13. package/dist/components/header/Header.js +6 -2
  14. package/dist/components/header/Header.js.map +1 -1
  15. package/dist/components/header/HeaderInfoArea.js +3 -2
  16. package/dist/components/header/HeaderInfoArea.js.map +1 -1
  17. package/dist/components/header/HeaderMenu.js +15 -97
  18. package/dist/components/header/HeaderMenu.js.map +1 -1
  19. package/dist/components/header/MSAMenu.d.ts +6 -0
  20. package/dist/components/header/MSAMenu.js +44 -0
  21. package/dist/components/header/MSAMenu.js.map +1 -0
  22. package/dist/components/header/TreeMenu.d.ts +6 -0
  23. package/dist/components/header/TreeMenu.js +64 -0
  24. package/dist/components/header/TreeMenu.js.map +1 -0
  25. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +4 -4
  26. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  27. package/dist/components/msa/renderMSABlock.js +13 -9
  28. package/dist/components/msa/renderMSABlock.js.map +1 -1
  29. package/dist/model.d.ts +7 -1
  30. package/dist/model.js +54 -53
  31. package/dist/model.js.map +1 -1
  32. package/dist/rowCoordinateCalculations.d.ts +13 -2
  33. package/dist/rowCoordinateCalculations.js +60 -17
  34. package/dist/rowCoordinateCalculations.js.map +1 -1
  35. package/dist/rowCoordinateCalculations.test.js +96 -2
  36. package/dist/rowCoordinateCalculations.test.js.map +1 -1
  37. package/dist/seqCoordToRowSpecificGlobalCoord.d.ts +4 -0
  38. package/dist/seqCoordToRowSpecificGlobalCoord.js +15 -0
  39. package/dist/seqCoordToRowSpecificGlobalCoord.js.map +1 -0
  40. package/dist/seqCoordToRowSpecificGlobalCoord.test.d.ts +1 -0
  41. package/dist/seqCoordToRowSpecificGlobalCoord.test.js +42 -0
  42. package/dist/seqCoordToRowSpecificGlobalCoord.test.js.map +1 -0
  43. package/dist/util.d.ts +1 -6
  44. package/dist/util.js +5 -22
  45. package/dist/util.js.map +1 -1
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.js +1 -1
  48. package/package.json +1 -1
  49. package/src/colorSchemes.ts +2 -2
  50. package/src/components/VerticalScrollbar.tsx +2 -3
  51. package/src/components/dialogs/SettingsDialog.tsx +1 -1
  52. package/src/components/header/ColorMenu.tsx +33 -0
  53. package/src/components/header/Header.tsx +6 -2
  54. package/src/components/header/HeaderInfoArea.tsx +5 -2
  55. package/src/components/header/HeaderMenu.tsx +15 -110
  56. package/src/components/header/MSAMenu.tsx +55 -0
  57. package/src/components/header/TreeMenu.tsx +82 -0
  58. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +4 -4
  59. package/src/components/msa/renderMSABlock.ts +26 -22
  60. package/src/model.ts +73 -61
  61. package/src/rowCoordinateCalculations.test.ts +138 -2
  62. package/src/rowCoordinateCalculations.ts +95 -18
  63. package/src/seqCoordToRowSpecificGlobalCoord.test.ts +53 -0
  64. package/src/seqCoordToRowSpecificGlobalCoord.ts +20 -0
  65. package/src/util.ts +5 -28
  66. package/src/version.ts +1 -1
  67. package/dist/components/header/SettingsMenu.js +0 -141
  68. package/dist/components/header/SettingsMenu.js.map +0 -1
  69. package/src/components/header/SettingsMenu.tsx +0 -169
@@ -1,6 +1,6 @@
1
1
  import { getClustalXColor, getPercentIdentityColor } from '../../colorSchemes';
2
2
  export function renderMSABlock({ model, offsetX, offsetY, contrastScheme, ctx, theme, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, }) {
3
- const { colWidth, blockSize, rowHeight, fontSize, highResScaleFactor, actuallyShowDomains, leaves, } = model;
3
+ const { colWidth, blockSize, rowHeight, fontSize, highResScaleFactor, actuallyShowDomains, leaves, bgColor, } = model;
4
4
  const k = highResScaleFactorOverride || highResScaleFactor;
5
5
  const bx = blockSizeXOverride || blockSize;
6
6
  const by = blockSizeYOverride || blockSize;
@@ -8,7 +8,7 @@ export function renderMSABlock({ model, offsetX, offsetY, contrastScheme, ctx, t
8
8
  ctx.scale(k, k);
9
9
  ctx.translate(-offsetX, rowHeight / 2 - offsetY);
10
10
  ctx.textAlign = 'center';
11
- ctx.font = ctx.font.replace(/\d+px/, `${fontSize}px`);
11
+ ctx.font = ctx.font.replace(/\d+px/, `${bgColor ? '' : 'bold '}${fontSize}px`);
12
12
  const yStart = Math.max(0, Math.floor((offsetY - rowHeight) / rowHeight));
13
13
  const yEnd = Math.max(0, Math.ceil((offsetY + by + rowHeight) / rowHeight));
14
14
  const xStart = Math.max(0, Math.floor(offsetX / colWidth));
@@ -40,25 +40,28 @@ export function renderMSABlock({ model, offsetX, offsetY, contrastScheme, ctx, t
40
40
  }
41
41
  function drawTiles({ model, offsetX, ctx, visibleLeaves, theme, xStart, xEnd, }) {
42
42
  const { bgColor, colorSchemeName, colorScheme, columns, colWidth, rowHeight, } = model;
43
- for (const node of visibleLeaves) {
43
+ for (let i = 0, l1 = visibleLeaves.length; i < l1; i++) {
44
+ const node = visibleLeaves[i];
44
45
  const { data: { name }, } = node;
45
46
  const y = node.x;
46
47
  const str = columns[name]?.slice(xStart, xEnd);
47
48
  if (str) {
48
- for (let i = 0; i < str.length; i++) {
49
+ for (let i = 0, l2 = str.length; i < l2; i++) {
49
50
  const letter = str[i];
50
- const color = colorSchemeName === 'clustalx_protein_dynamic'
51
+ const r1 = colorSchemeName === 'clustalx_protein_dynamic';
52
+ const r2 = colorSchemeName === 'percent_identity_dynamic';
53
+ const color = r1
51
54
  ? getClustalXColor(
52
55
  // use model.colStats dot notation here: delay use of colStats
53
56
  // until absolutely needed
54
57
  model.colStats[xStart + i], model.colStatsSums[xStart + i], model, name, xStart + i)
55
- : colorSchemeName === 'percent_identity_dynamic'
58
+ : r2
56
59
  ? getPercentIdentityColor(
57
60
  // use model.colStats dot notation here: delay use of
58
61
  // colStats until absolutely needed
59
62
  model.colStats[xStart + i], model.colStatsSums[xStart + i], model, name, xStart + i)
60
63
  : colorScheme[letter.toUpperCase()];
61
- if (bgColor) {
64
+ if (bgColor || r1 || r2) {
62
65
  ctx.fillStyle = color || theme.palette.background.default;
63
66
  ctx.fillRect(i * colWidth + offsetX - (offsetX % colWidth), y - rowHeight, colWidth, rowHeight);
64
67
  }
@@ -69,12 +72,13 @@ function drawTiles({ model, offsetX, ctx, visibleLeaves, theme, xStart, xEnd, })
69
72
  function drawText({ model, offsetX, contrastScheme, ctx, visibleLeaves, xStart, xEnd, }) {
70
73
  const { bgColor, actuallyShowDomains, showMsaLetters, colorScheme, columns, colWidth, contrastLettering, rowHeight, } = model;
71
74
  if (showMsaLetters) {
72
- for (const node of visibleLeaves) {
75
+ for (let i = 0, l1 = visibleLeaves.length; i < l1; i++) {
76
+ const node = visibleLeaves[i];
73
77
  const { data: { name }, } = node;
74
78
  const y = node.x;
75
79
  const str = columns[name]?.slice(xStart, xEnd);
76
80
  if (str) {
77
- for (let i = 0; i < str.length; i++) {
81
+ for (let i = 0, l2 = str.length; i < l2; i++) {
78
82
  const letter = str[i];
79
83
  const color = colorScheme[letter.toUpperCase()];
80
84
  const contrast = contrastLettering
@@ -1 +1 @@
1
- {"version":3,"file":"renderMSABlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSABlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderMSABlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSABlock.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -734,13 +734,19 @@ declare function stateModelFactory(): import("mobx-state-tree").IModelType<{
734
734
  * #method
735
735
  * return a row-specific letter, or undefined if gap
736
736
  */
737
- mouseOverCoordToRowLetter(rowName: string, position: number): string | undefined;
737
+ mouseOverCoordToRowLetter(rowName: string, pos: number): string | undefined;
738
738
  /**
739
739
  * #method
740
740
  * return a row-specific sequence coordinate, skipping gaps, given a
741
741
  * global coordinate
742
742
  */
743
743
  mouseOverCoordToGapRemovedRowCoord(rowName: string, position: number): number | undefined;
744
+ /**
745
+ * #method
746
+ * return a row-specific sequence coordinate, skipping gaps, given a
747
+ * global coordinate
748
+ */
749
+ mouseOverCoordToGapRemovedRowCoordOneBased(rowName: string, position: number): number | undefined;
744
750
  /**
745
751
  * #method
746
752
  * return a global coordinate given a row-specific sequence coordinate
package/dist/model.js CHANGED
@@ -1,4 +1,4 @@
1
- import { groupBy, notEmpty, sum } from '@jbrowse/core/util';
1
+ import { clamp, fetchAndMaybeUnzipText, groupBy, localStorageGetBoolean, localStorageSetBoolean, notEmpty, sum, } from '@jbrowse/core/util';
2
2
  import { openLocation } from '@jbrowse/core/util/io';
3
3
  import { ElementId, FileLocation } from '@jbrowse/core/util/types/mst';
4
4
  import { colord } from 'colord';
@@ -8,7 +8,6 @@ import { parseEmfTree } from 'emf-js';
8
8
  import { saveAs } from 'file-saver';
9
9
  import { autorun, transaction } from 'mobx';
10
10
  import { addDisposer, cast, types } from 'mobx-state-tree';
11
- import { ungzip } from 'pako';
12
11
  import Stockholm from 'stockholm-js';
13
12
  import { blocksX, blocksY } from './calculateBlocks';
14
13
  import colorSchemes from './colorSchemes';
@@ -27,8 +26,9 @@ import EmfMSA from './parsers/EmfMSA';
27
26
  import FastaMSA from './parsers/FastaMSA';
28
27
  import StockholmMSA from './parsers/StockholmMSA';
29
28
  import { reparseTree } from './reparseTree';
30
- import { globalCoordToRowSpecificCoord, mouseOverCoordToGlobalCoord, } from './rowCoordinateCalculations';
31
- import { clamp, collapse, generateNodeIds, isGzip, len, localStorageGetBoolean, localStorageSetBoolean, maxLength, setBrLength, skipBlanks, } from './util';
29
+ import { mouseOverCoordToGapRemovedRowCoord, mouseOverCoordToGlobalCoord, } from './rowCoordinateCalculations';
30
+ import { seqCoordToRowSpecificGlobalCoord } from './seqCoordToRowSpecificGlobalCoord';
31
+ import { collapse, generateNodeIds, isBlank, len, maxLength, setBrLength, skipBlanks, } from './util';
32
32
  const defaultRowHeight = 16;
33
33
  const defaultColWidth = 12;
34
34
  const showZoomStarKey = 'msa-showZoomStar';
@@ -547,11 +547,11 @@ function stateModelFactory() {
547
547
  */
548
548
  get tree() {
549
549
  const text = self.data.tree;
550
- return text
551
- ? reparseTree(generateNodeIds(text.startsWith('BioTreeContainer')
550
+ return reparseTree(text
551
+ ? generateNodeIds(text.startsWith('BioTreeContainer')
552
552
  ? flatToTree(parseAsn1(text))
553
- : parseNewick(text.startsWith('SEQ') ? parseEmfTree(text).tree : text)))
554
- : reparseTree(this.MSA?.getTree() || {
553
+ : parseNewick(text.startsWith('SEQ') ? parseEmfTree(text).tree : text))
554
+ : this.MSA?.getTree() || {
555
555
  noTree: true,
556
556
  children: [],
557
557
  id: 'empty',
@@ -617,16 +617,18 @@ function stateModelFactory() {
617
617
  if (hideGaps) {
618
618
  const strs = this.leaves
619
619
  .map(leaf => this.MSA?.getRow(leaf.data.name))
620
- .filter((item) => !!item);
620
+ .filter(notEmpty);
621
621
  if (strs.length) {
622
- for (let i = 0; i < strs[0].length; i++) {
622
+ const s0len = strs[0].length;
623
+ for (let i = 0; i < s0len; i++) {
623
624
  let counter = 0;
624
- for (const str of strs) {
625
- if (str[i] === '-') {
625
+ const l = strs.length;
626
+ for (let j = 0; j < l; j++) {
627
+ if (isBlank(strs[j][i])) {
626
628
  counter++;
627
629
  }
628
630
  }
629
- if (counter / strs.length >= realAllowedGappyness / 100) {
631
+ if (counter / l >= realAllowedGappyness / 100) {
630
632
  blanks.push(i);
631
633
  }
632
634
  }
@@ -838,14 +840,14 @@ function stateModelFactory() {
838
840
  */
839
841
  zoomOutHorizontal() {
840
842
  self.colWidth = Math.max(1, Math.floor(self.colWidth * 0.75));
841
- self.scrollX = clamp(self.maxScrollX, self.scrollX, 0);
843
+ self.scrollX = clamp(self.scrollX, self.maxScrollX, 0);
842
844
  },
843
845
  /**
844
846
  * #action
845
847
  */
846
848
  zoomInHorizontal() {
847
849
  self.colWidth = Math.ceil(self.colWidth * 1.5);
848
- self.scrollX = clamp(self.maxScrollX, self.scrollX, 0);
850
+ self.scrollX = clamp(self.scrollX, self.maxScrollX, 0);
849
851
  },
850
852
  /**
851
853
  * #action
@@ -866,7 +868,7 @@ function stateModelFactory() {
866
868
  transaction(() => {
867
869
  self.colWidth = Math.ceil(self.colWidth * 1.5);
868
870
  self.rowHeight = Math.ceil(self.rowHeight * 1.5);
869
- self.scrollX = clamp(self.maxScrollX, self.scrollX, 0);
871
+ self.scrollX = clamp(self.scrollX, self.maxScrollX, 0);
870
872
  });
871
873
  },
872
874
  /**
@@ -876,7 +878,7 @@ function stateModelFactory() {
876
878
  transaction(() => {
877
879
  self.colWidth = Math.max(1, Math.floor(self.colWidth * 0.75));
878
880
  self.rowHeight = Math.max(1.5, Math.floor(self.rowHeight * 0.75));
879
- self.scrollX = clamp(self.maxScrollX, self.scrollX, 0);
881
+ self.scrollX = clamp(self.scrollX, self.maxScrollX, 0);
880
882
  });
881
883
  },
882
884
  /**
@@ -889,19 +891,19 @@ function stateModelFactory() {
889
891
  * #action
890
892
  */
891
893
  doScrollY(deltaY) {
892
- self.scrollY = clamp(-self.totalHeight + 10, self.scrollY + deltaY, 0);
894
+ self.scrollY = clamp(self.scrollY + deltaY, -self.totalHeight + 10, 0);
893
895
  },
894
896
  /**
895
897
  * #action
896
898
  */
897
899
  doScrollX(deltaX) {
898
- self.scrollX = clamp(self.maxScrollX, self.scrollX + deltaX, 0);
900
+ self.scrollX = clamp(self.scrollX + deltaX, self.maxScrollX, 0);
899
901
  },
900
902
  /**
901
903
  * #action
902
904
  */
903
905
  setScrollX(n) {
904
- self.scrollX = clamp(self.maxScrollX, n, 0);
906
+ self.scrollX = clamp(n, self.maxScrollX, 0);
905
907
  },
906
908
  /**
907
909
  * #action
@@ -1007,9 +1009,9 @@ function stateModelFactory() {
1007
1009
  * #method
1008
1010
  * return a row-specific letter, or undefined if gap
1009
1011
  */
1010
- mouseOverCoordToRowLetter(rowName, position) {
1012
+ mouseOverCoordToRowLetter(rowName, pos) {
1011
1013
  const { rowMap, blanks } = self;
1012
- return rowMap.get(rowName)?.[mouseOverCoordToGlobalCoord(blanks, position)];
1014
+ return rowMap.get(rowName)?.[mouseOverCoordToGlobalCoord(blanks, pos)];
1013
1015
  },
1014
1016
  /**
1015
1017
  * #method
@@ -1017,16 +1019,21 @@ function stateModelFactory() {
1017
1019
  * global coordinate
1018
1020
  */
1019
1021
  mouseOverCoordToGapRemovedRowCoord(rowName, position) {
1020
- const { rowMap, blanks } = self;
1021
- const seq = rowMap.get(rowName);
1022
- if (seq !== undefined) {
1023
- const pos2 = mouseOverCoordToGlobalCoord(blanks, position);
1024
- const pos1 = globalCoordToRowSpecificCoord(seq, pos2);
1025
- return seq[pos1] === '-' || !seq[pos1] ? undefined : pos1;
1026
- }
1027
- else {
1028
- return undefined;
1029
- }
1022
+ return mouseOverCoordToGapRemovedRowCoord({
1023
+ rowName,
1024
+ position,
1025
+ rowMap: self.rowMap,
1026
+ blanks: self.blanks,
1027
+ });
1028
+ },
1029
+ /**
1030
+ * #method
1031
+ * return a row-specific sequence coordinate, skipping gaps, given a
1032
+ * global coordinate
1033
+ */
1034
+ mouseOverCoordToGapRemovedRowCoordOneBased(rowName, position) {
1035
+ const val = this.mouseOverCoordToGapRemovedRowCoord(rowName, position);
1036
+ return val !== undefined ? val + 1 : undefined;
1030
1037
  },
1031
1038
  /**
1032
1039
  * #method
@@ -1036,21 +1043,12 @@ function stateModelFactory() {
1036
1043
  seqCoordToRowSpecificGlobalCoord(rowName, position) {
1037
1044
  const { rowNames, rows } = self;
1038
1045
  const index = rowNames.indexOf(rowName);
1039
- if (index !== -1 && rows[index]) {
1040
- const row = rows[index][1];
1041
- let k = 0;
1042
- let i = 0;
1043
- for (; k < position; i++) {
1044
- if (row[i] !== '-') {
1045
- k++;
1046
- }
1047
- else if (k >= position) {
1048
- break;
1049
- }
1050
- }
1051
- return i;
1052
- }
1053
- return 0;
1046
+ return index !== -1 && rows[index]
1047
+ ? seqCoordToRowSpecificGlobalCoord({
1048
+ row: rows[index][1],
1049
+ position,
1050
+ })
1051
+ : 0;
1054
1052
  },
1055
1053
  }))
1056
1054
  .views(self => ({
@@ -1180,7 +1178,11 @@ function stateModelFactory() {
1180
1178
  * #action
1181
1179
  */
1182
1180
  reset() {
1183
- self.setData({ tree: '', msa: '' });
1181
+ self.setData({
1182
+ tree: '',
1183
+ msa: '',
1184
+ });
1185
+ self.resetZoom();
1184
1186
  self.setError(undefined);
1185
1187
  self.setScrollY(0);
1186
1188
  self.setScrollX(0);
@@ -1244,7 +1246,7 @@ function stateModelFactory() {
1244
1246
  if (treeFilehandle) {
1245
1247
  try {
1246
1248
  self.setLoadingTree(true);
1247
- self.setTree(await openLocation(treeFilehandle).readFile('utf8'));
1249
+ self.setTree(await fetchAndMaybeUnzipText(openLocation(treeFilehandle)));
1248
1250
  if (treeFilehandle.locationType === 'BlobLocation') {
1249
1251
  // clear filehandle after loading if from a local file
1250
1252
  self.setTreeFilehandle(undefined);
@@ -1264,7 +1266,7 @@ function stateModelFactory() {
1264
1266
  const { treeMetadataFilehandle } = self;
1265
1267
  if (treeMetadataFilehandle) {
1266
1268
  try {
1267
- self.setTreeMetadata(await openLocation(treeMetadataFilehandle).readFile('utf8'));
1269
+ self.setTreeMetadata(await fetchAndMaybeUnzipText(openLocation(treeMetadataFilehandle)));
1268
1270
  }
1269
1271
  catch (e) {
1270
1272
  console.error(e);
@@ -1278,9 +1280,8 @@ function stateModelFactory() {
1278
1280
  if (msaFilehandle) {
1279
1281
  try {
1280
1282
  self.setLoadingMSA(true);
1281
- const res = await openLocation(msaFilehandle).readFile();
1282
- const buf = isGzip(res) ? ungzip(res) : res;
1283
- const txt = new TextDecoder('utf8').decode(buf);
1283
+ self.setError(undefined);
1284
+ const txt = await fetchAndMaybeUnzipText(openLocation(msaFilehandle));
1284
1285
  transaction(() => {
1285
1286
  self.setMSA(txt);
1286
1287
  if (msaFilehandle.locationType === 'BlobLocation') {
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,13 @@
1
- export declare function mouseOverCoordToGlobalCoord(blanks: number[], pos: number): number;
2
- export declare function globalCoordToRowSpecificCoord(seq: string, pos: number): number;
1
+ export declare function mouseOverCoordToGlobalCoord(blanks: number[], position: number): number;
2
+ export declare function globalCoordToRowSpecificCoord(seq: string, position: number): number;
3
+ export declare function mouseOverCoordToGapRemovedRowCoord({ rowName, position, rowMap, blanks, }: {
4
+ rowName: string;
5
+ position: number;
6
+ rowMap: Map<string, string>;
7
+ blanks: number[];
8
+ }): number | undefined;
9
+ export declare function mouseOverCoordToGapRemovedCoord({ seq, blanks, position, }: {
10
+ seq: string;
11
+ blanks: number[];
12
+ position: number;
13
+ }): number | undefined;
@@ -1,26 +1,69 @@
1
- export function mouseOverCoordToGlobalCoord(blanks, pos) {
2
- let i = 0; // 'mouse over coord'
3
- let j = 0; // 'position in blanks array'
4
- let k = 0; // 'global coord'/return value
5
- for (; i < pos; i++, k++) {
6
- // skip multiple gaps in a row
7
- while (j < blanks.length && blanks[j] - 1 === k) {
8
- j++;
9
- k++;
1
+ import { isBlank } from './util';
2
+ export function mouseOverCoordToGlobalCoord(blanks, position) {
3
+ let mousePosition = 0; // Current position in mouse coordinates
4
+ let blankArrayIndex = 0; // Current index in the blanks array
5
+ let globalPosition = 0; // Position in global coordinates (return value)
6
+ const blanksLen = blanks.length;
7
+ // Iterate until we reach the target mouse position
8
+ while (mousePosition < position) {
9
+ // Skip any blank positions in the sequence
10
+ while (blankArrayIndex < blanksLen &&
11
+ blanks[blankArrayIndex] - 1 === globalPosition) {
12
+ blankArrayIndex++;
13
+ globalPosition++;
10
14
  }
15
+ // Move to next position
16
+ mousePosition++;
17
+ globalPosition++;
11
18
  }
12
- return k;
19
+ return globalPosition;
13
20
  }
14
- export function globalCoordToRowSpecificCoord(seq, pos) {
15
- let k = 0;
16
- for (let i = 0; i < pos; i++) {
17
- if (seq[i] !== '-') {
18
- k++;
21
+ export function globalCoordToRowSpecificCoord(seq, position) {
22
+ // Initialize counter for non-gap characters
23
+ let nonGapCount = 0;
24
+ // Initialize position counter
25
+ let currentPosition = 0;
26
+ const sequenceLength = seq.length;
27
+ // Iterate until we reach the target position or end of sequence
28
+ while (currentPosition < position && currentPosition < sequenceLength) {
29
+ // If current character is not a gap, increment the non-gap counter
30
+ if (seq[currentPosition] !== '-') {
31
+ nonGapCount++;
19
32
  }
20
- else if (k >= pos) {
33
+ // If we've reached the target position in non-gap coordinates, break
34
+ else if (nonGapCount >= position) {
21
35
  break;
22
36
  }
37
+ currentPosition++;
23
38
  }
24
- return k;
39
+ return nonGapCount;
40
+ }
41
+ export function mouseOverCoordToGapRemovedRowCoord({ rowName, position, rowMap, blanks, }) {
42
+ const seq = rowMap.get(rowName);
43
+ return seq !== undefined
44
+ ? mouseOverCoordToGapRemovedCoord({
45
+ seq,
46
+ position,
47
+ blanks,
48
+ })
49
+ : undefined;
50
+ }
51
+ export function mouseOverCoordToGapRemovedCoord({ seq, blanks, position, }) {
52
+ // First convert the mouse position to global coordinates
53
+ const globalPos = mouseOverCoordToGlobalCoord(blanks, position);
54
+ const seqLen = seq.length;
55
+ // Check if the position in the sequence is a gap
56
+ if (globalPos < seqLen && isBlank(seq[globalPos])) {
57
+ return undefined;
58
+ }
59
+ // Count non-gap characters up to the global position
60
+ let nonGapCount = 0;
61
+ for (let i = 0; i < globalPos && i < seqLen; i++) {
62
+ if (!isBlank(seq[i])) {
63
+ nonGapCount++;
64
+ }
65
+ }
66
+ // If we're at a valid position, return the count of non-gap characters
67
+ return globalPos < seqLen ? nonGapCount : undefined;
25
68
  }
26
69
  //# sourceMappingURL=rowCoordinateCalculations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rowCoordinateCalculations.js","sourceRoot":"","sources":["../src/rowCoordinateCalculations.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,MAAgB,EAAE,GAAW;IACvE,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,qBAAqB;IAC/B,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,6BAA6B;IACvC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,8BAA8B;IAExC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,8BAA8B;QAC9B,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,CAAC,EAAE,CAAA;YACH,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW,EAAE,GAAW;IACpE,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"rowCoordinateCalculations.js","sourceRoot":"","sources":["../src/rowCoordinateCalculations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,MAAM,UAAU,2BAA2B,CACzC,MAAgB,EAChB,QAAgB;IAEhB,IAAI,aAAa,GAAG,CAAC,CAAA,CAAC,wCAAwC;IAC9D,IAAI,eAAe,GAAG,CAAC,CAAA,CAAC,oCAAoC;IAC5D,IAAI,cAAc,GAAG,CAAC,CAAA,CAAC,gDAAgD;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA;IAE/B,mDAAmD;IACnD,OAAO,aAAa,GAAG,QAAQ,EAAE,CAAC;QAChC,2CAA2C;QAC3C,OACE,eAAe,GAAG,SAAS;YAC3B,MAAM,CAAC,eAAe,CAAE,GAAG,CAAC,KAAK,cAAc,EAC/C,CAAC;YACD,eAAe,EAAE,CAAA;YACjB,cAAc,EAAE,CAAA;QAClB,CAAC;QAED,wBAAwB;QACxB,aAAa,EAAE,CAAA;QACf,cAAc,EAAE,CAAA;IAClB,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW,EAAE,QAAgB;IACzE,4CAA4C;IAC5C,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,8BAA8B;IAC9B,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAA;IAEjC,gEAAgE;IAChE,OAAO,eAAe,GAAG,QAAQ,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;QACtE,mEAAmE;QACnE,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;YACjC,WAAW,EAAE,CAAA;QACf,CAAC;QACD,qEAAqE;aAChE,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAK;QACP,CAAC;QACD,eAAe,EAAE,CAAA;IACnB,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,EACjD,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,GAMP;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC/B,OAAO,GAAG,KAAK,SAAS;QACtB,CAAC,CAAC,+BAA+B,CAAC;YAC9B,GAAG;YACH,QAAQ;YACR,MAAM;SACP,CAAC;QACJ,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,EAC9C,GAAG,EACH,MAAM,EACN,QAAQ,GAKT;IACC,yDAAyD;IACzD,MAAM,SAAS,GAAG,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IAEzB,iDAAiD;IACjD,IAAI,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,qDAAqD;IACrD,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,WAAW,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,OAAO,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;AACrD,CAAC"}