@datagrok-libraries/bio 5.39.29 → 5.40.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 (52) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/package.json +2 -2
  3. package/src/monomer-works/monomer-utils.d.ts.map +1 -1
  4. package/src/monomer-works/monomer-utils.js +34 -31
  5. package/src/monomer-works/monomer-utils.js.map +1 -1
  6. package/src/monomer-works/to-atomic-level.d.ts +4 -4
  7. package/src/monomer-works/to-atomic-level.d.ts.map +1 -1
  8. package/src/monomer-works/to-atomic-level.js +37 -38
  9. package/src/monomer-works/to-atomic-level.js.map +1 -1
  10. package/src/utils/cell-renderer-monomer-placer.d.ts +2 -4
  11. package/src/utils/cell-renderer-monomer-placer.d.ts.map +1 -1
  12. package/src/utils/cell-renderer-monomer-placer.js +13 -16
  13. package/src/utils/cell-renderer-monomer-placer.js.map +1 -1
  14. package/src/utils/cell-renderer.d.ts +2 -3
  15. package/src/utils/cell-renderer.d.ts.map +1 -1
  16. package/src/utils/cell-renderer.js +9 -8
  17. package/src/utils/cell-renderer.js.map +1 -1
  18. package/src/utils/fasta-handler.js +2 -2
  19. package/src/utils/fasta-handler.js.map +1 -1
  20. package/src/utils/macromolecule/alignment.d.ts +4 -3
  21. package/src/utils/macromolecule/alignment.d.ts.map +1 -1
  22. package/src/utils/macromolecule/alignment.js +25 -18
  23. package/src/utils/macromolecule/alignment.js.map +1 -1
  24. package/src/utils/macromolecule/consts.d.ts +2 -0
  25. package/src/utils/macromolecule/consts.d.ts.map +1 -1
  26. package/src/utils/macromolecule/consts.js +2 -0
  27. package/src/utils/macromolecule/consts.js.map +1 -1
  28. package/src/utils/macromolecule/index.d.ts +1 -1
  29. package/src/utils/macromolecule/index.d.ts.map +1 -1
  30. package/src/utils/macromolecule/index.js +1 -1
  31. package/src/utils/macromolecule/index.js.map +1 -1
  32. package/src/utils/macromolecule/scoring.d.ts +1 -1
  33. package/src/utils/macromolecule/scoring.d.ts.map +1 -1
  34. package/src/utils/macromolecule/scoring.js +7 -5
  35. package/src/utils/macromolecule/scoring.js.map +1 -1
  36. package/src/utils/macromolecule/types.d.ts +14 -2
  37. package/src/utils/macromolecule/types.d.ts.map +1 -1
  38. package/src/utils/macromolecule/types.js +2 -0
  39. package/src/utils/macromolecule/types.js.map +1 -1
  40. package/src/utils/macromolecule/utils.d.ts +30 -12
  41. package/src/utils/macromolecule/utils.d.ts.map +1 -1
  42. package/src/utils/macromolecule/utils.js +81 -40
  43. package/src/utils/macromolecule/utils.js.map +1 -1
  44. package/src/utils/{units-handler.d.ts → seq-handler.d.ts} +45 -24
  45. package/src/utils/seq-handler.d.ts.map +1 -0
  46. package/src/utils/{units-handler.js → seq-handler.js} +293 -211
  47. package/src/utils/seq-handler.js.map +1 -0
  48. package/src/utils/splitter.d.ts.map +1 -1
  49. package/src/utils/splitter.js +8 -11
  50. package/src/utils/splitter.js.map +1 -1
  51. package/src/utils/units-handler.d.ts.map +0 -1
  52. package/src/utils/units-handler.js.map +0 -1
@@ -1,3 +1,5 @@
1
+ /** Canonical gap symbol */
2
+ export const GAP_SYMBOL = '';
1
3
  /** Alphabet candidate type */
2
4
  export class CandidateType {
3
5
  constructor(name, alphabet, cutoff) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAgBA,8BAA8B;AAC9B,MAAM,OAAO,aAAa;IAKxB,YAAY,IAAY,EAAE,QAAqB,EAAE,MAAc;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IAKjD,YAAY,SAAwB,EAAE,IAAkB,EAAE,UAAkB;QAC1E,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAOA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAW,EAAE,CAAC;AA2BrC,8BAA8B;AAC9B,MAAM,OAAO,aAAa;IAKxB,YAAY,IAAY,EAAE,QAAqB,EAAE,MAAc;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IAKjD,YAAY,SAAwB,EAAE,IAAkB,EAAE,UAAkB;QAC1E,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -1,22 +1,44 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
- import { CandidateType, MonomerFreqs, SeqColStats, SplitterFunc } from './types';
2
+ import { CandidateType, ISeqSplitted, MonomerFreqs, SeqColStats, SeqSplittedBase, SplitterFunc } from './types';
3
3
  import { ALPHABET } from './consts';
4
4
  import { SeqPalette } from '../../seq-palettes';
5
+ export declare class StringListSeqSplitted implements ISeqSplitted {
6
+ private readonly mList;
7
+ private readonly gapOriginalMonomer;
8
+ get length(): number;
9
+ get canonicals(): SeqSplittedBase;
10
+ get originals(): SeqSplittedBase;
11
+ isGap(posIdx: number): boolean;
12
+ getCanonical(posIdx: number): string;
13
+ getOriginal(posIdx: number): string;
14
+ constructor(mList: SeqSplittedBase, gapOriginalMonomer: string);
15
+ }
16
+ export declare class FastaSimpleSeqSplitted implements ISeqSplitted {
17
+ private readonly seqS;
18
+ get length(): number;
19
+ get canonicals(): string;
20
+ get originals(): string;
21
+ isGap(posIdx: number): boolean;
22
+ getCanonical(posIdx: number): string;
23
+ getOriginal(posIdx: number): string;
24
+ constructor(seqS: string);
25
+ }
5
26
  /** Stats of sequences with specified splitter func, returns { freq, sameLength }.
6
27
  * @param {DG.Column} seqCol
7
28
  * @param {number} minLength
8
29
  * @param {SplitterFunc} splitter
9
30
  * @return { SeqColStats }, sameLength: boolean } stats of column sequences
10
31
  */
11
- export declare function getStatsForCol(seqCol: DG.Column, minLength: number, splitter: SplitterFunc): SeqColStats;
32
+ export declare function getStatsForCol(seqCol: DG.Column<string>, minLength: number, splitter: SplitterFunc): SeqColStats;
12
33
  /** Split sequence for single character monomers, square brackets multichar monomer names or gap symbol.
13
- * @param {any} seq object with sequence
34
+ * @param seq object with sequence
35
+ * @param getMonomer Source of the {@link seq} string
14
36
  * @return {string[]} array of monomers
15
37
  */
16
- export declare function splitterAsFasta(seq: any): string[];
17
- export declare function splitterAsFastaSimple(seq: any): string[];
38
+ export declare const splitterAsFasta: SplitterFunc;
39
+ export declare const splitterAsFastaSimple: SplitterFunc;
18
40
  /** Gets method to split sequence by separator
19
- * @param {string} separator
41
+ * @param separator Monomer separator
20
42
  * @param limit
21
43
  * @return {SplitterFunc}
22
44
  */
@@ -24,9 +46,10 @@ export declare function getSplitterWithSeparator(separator: string, limit?: numb
24
46
  /** Splits Helm string to monomers, but does not replace monomer names to other notation (e.g. for RNA).
25
47
  * Only for linear polymers, does not split RNA for ribose and phosphate monomers.
26
48
  * @param {string} seq Source string of HELM notation
49
+ * @param {ISeqSource} src Source of the {@link seq} string
27
50
  * @return {string[]}
28
51
  */
29
- export declare function splitterAsHelm(seq: any): string[];
52
+ export declare const splitterAsHelm: SplitterFunc;
30
53
  /** Func type to shorten a {@link monomerLabel} with length {@link limit} */
31
54
  export type MonomerToShortFunc = (monomerLabel: string, limit: number) => string;
32
55
  /** Get splitter method to split sequences to monomers (required for MacromoleculeDifferenceCellRenderer)
@@ -36,11 +59,6 @@ export type MonomerToShortFunc = (monomerLabel: string, limit: number) => string
36
59
  * @return {SplitterFunc}
37
60
  */
38
61
  export declare function getSplitter(units: string, separator: string, limit?: number | undefined): SplitterFunc;
39
- /** Generate splitter function for sequence column
40
- * @param {DG.Column} col
41
- * @return {SplitterFunc} Splitter function
42
- */
43
- export declare function getSplitterForColumn(col: DG.Column): SplitterFunc;
44
62
  /** Convert long monomer names to short ones */
45
63
  export declare function monomerToShort(amino: string, maxLengthOfMonomer: number): string;
46
64
  /** */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAmB,aAAa,EAAgB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAC,QAAQ,EAA2D,MAAM,UAAU,CAAC;AAI5F,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAK9C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,CAKxG;AAwBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAclD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAExD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAqB,GAAG,YAAY,CAI/G;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAgBjD;AAED,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAqB,GAAG,YAAY,CAWjH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,YAAY,CAGjE;AAID,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED,MAAM;AACN,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAW3D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,GAAE,MAAY,GAAG,MAAM,CAchH;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,SAAS,GAAE,MAAY,UAgBtG;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,UAAU,CAYlF;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAWhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CASvE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,58 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
2
  import wu from 'wu';
3
- import { CandidateSimType } from './types';
3
+ import { CandidateSimType, GAP_SYMBOL } from './types';
4
4
  import { Alphabets, candidateAlphabets, monomerRe, NOTATION } from './consts';
5
- import { UnitsHandler } from '../units-handler';
5
+ import { GapOriginals, SeqHandler } from '../seq-handler';
6
6
  import { Vector } from '@datagrok-libraries/utils/src/type-declarations';
7
7
  import { vectorDotProduct, vectorLength } from '@datagrok-libraries/utils/src/vector-operations';
8
8
  import { AminoacidsPalettes } from '../../aminoacids';
9
9
  import { NucleotidesPalettes } from '../../nucleotides';
10
10
  import { UnknownSeqPalettes } from '../../unknown';
11
+ export class StringListSeqSplitted {
12
+ get length() { return this.mList.length; }
13
+ get canonicals() { return this.mList; }
14
+ get originals() { return this.mList; }
15
+ isGap(posIdx) {
16
+ return this.getOriginal(posIdx) === this.gapOriginalMonomer;
17
+ }
18
+ getCanonical(posIdx) {
19
+ if (this.length <= posIdx)
20
+ throw new Error('Index out of bounds');
21
+ return this.mList[posIdx];
22
+ }
23
+ getOriginal(posIdx) {
24
+ if (this.length <= posIdx)
25
+ throw new Error('Index out of bounds');
26
+ return this.mList[posIdx];
27
+ }
28
+ constructor(mList, gapOriginalMonomer) {
29
+ this.mList = mList;
30
+ this.gapOriginalMonomer = gapOriginalMonomer;
31
+ }
32
+ }
33
+ export class FastaSimpleSeqSplitted {
34
+ get length() { return this.seqS.length; }
35
+ get canonicals() { return this.seqS; }
36
+ get originals() { return this.seqS; }
37
+ isGap(posIdx) {
38
+ return this.getOriginal(posIdx) === GapOriginals[NOTATION.FASTA];
39
+ }
40
+ getCanonical(posIdx) {
41
+ if (this.length <= posIdx)
42
+ throw new Error('Index out of bounds');
43
+ if (this.isGap(posIdx))
44
+ return GAP_SYMBOL;
45
+ return this.seqS[posIdx];
46
+ }
47
+ getOriginal(posIdx) {
48
+ if (this.length <= posIdx)
49
+ throw new Error('Index out of bounds');
50
+ return this.seqS[posIdx];
51
+ }
52
+ constructor(seqS) {
53
+ this.seqS = seqS;
54
+ }
55
+ }
11
56
  /** Stats of sequences with specified splitter func, returns { freq, sameLength }.
12
57
  * @param {DG.Column} seqCol
13
58
  * @param {number} minLength
@@ -16,8 +61,8 @@ import { UnknownSeqPalettes } from '../../unknown';
16
61
  */
17
62
  export function getStatsForCol(seqCol, minLength, splitter) {
18
63
  const cats = seqCol.categories;
19
- const splitted = wu(seqCol.getRawData())
20
- .map((catI) => splitter(seqCol.categories[catI]));
64
+ const splitted = wu.enumerate(seqCol.getRawData())
65
+ .map(([catI, rowIdx]) => splitter(cats[catI]));
21
66
  return getStats(splitted, minLength);
22
67
  }
23
68
  function getStats(splitted, minLength) {
@@ -30,44 +75,48 @@ function getStats(splitted, minLength) {
30
75
  else if (mSeq.length !== firstLength)
31
76
  sameLength = false;
32
77
  if (mSeq.length >= minLength) {
33
- for (const m of mSeq) {
34
- if (!(m in freq))
35
- freq[m] = 0;
36
- freq[m] += 1;
78
+ for (const cm of mSeq.canonicals) {
79
+ if (!(cm in freq))
80
+ freq[cm] = 0;
81
+ freq[cm] += 1;
37
82
  }
38
83
  }
39
84
  }
40
85
  return { freq: freq, sameLength: sameLength };
41
86
  }
42
87
  /** Split sequence for single character monomers, square brackets multichar monomer names or gap symbol.
43
- * @param {any} seq object with sequence
88
+ * @param seq object with sequence
89
+ * @param getMonomer Source of the {@link seq} string
44
90
  * @return {string[]} array of monomers
45
91
  */
46
- export function splitterAsFasta(seq) {
47
- // return seq.toString().replace(monomerRe, '.$1').slice(1).split('.').map((monomer: string) => {
48
- // if (monomer.startsWith('[') && monomer.endsWith(']'))
49
- // return monomer.slice(1, -1);
50
- // else if (monomer === '-')
51
- // return '';
52
- // else
53
- // return monomer;
54
- // });
55
- return wu(seq.toString().matchAll(monomerRe))
92
+ export const splitterAsFasta = (seq) => {
93
+ const mmList = wu(seq.toString().matchAll(monomerRe))
56
94
  .map((ma) => {
57
95
  return ma[2] ?? ma[1]; // preserve '-' as gap symbol for compatibility with simpleAsFastaSimple
58
96
  }).toArray();
59
- }
60
- export function splitterAsFastaSimple(seq) {
61
- return !seq ? [] : seq;
62
- }
97
+ return new StringListSeqSplitted(mmList, GapOriginals[NOTATION.FASTA]);
98
+ // return new Proxy(splittedList as object, {
99
+ // get(target: string[], p: string | symbol, receiver: any): any {
100
+ // const k = 11;
101
+ // }
102
+ // }) as ISeqSplitted;
103
+ };
104
+ export const splitterAsFastaSimple = (seq) => {
105
+ return !!seq ? new FastaSimpleSeqSplitted(seq) : new StringListSeqSplitted([], GapOriginals[NOTATION.FASTA]);
106
+ };
63
107
  /** Gets method to split sequence by separator
64
- * @param {string} separator
108
+ * @param separator Monomer separator
65
109
  * @param limit
66
110
  * @return {SplitterFunc}
67
111
  */
68
112
  export function getSplitterWithSeparator(separator, limit = undefined) {
69
113
  return (seq) => {
70
- return !seq ? [] : seq.replaceAll('\"-\"', '').replaceAll('\'-\'', '').split(separator, limit);
114
+ if (!seq)
115
+ return new StringListSeqSplitted([], GapOriginals[NOTATION.SEPARATOR]);
116
+ else {
117
+ const mmList = seq.replaceAll('\"-\"', '').replaceAll('\'-\'', '').split(separator, limit);
118
+ return new StringListSeqSplitted(mmList, GapOriginals[NOTATION.SEPARATOR]);
119
+ }
71
120
  };
72
121
  }
73
122
  const helmRe = /(PEPTIDE1|DNA1|RNA1)\{([^}]+)}/g;
@@ -75,9 +124,10 @@ const helmPp1Re = /\[([^\[\]]+)]/g;
75
124
  /** Splits Helm string to monomers, but does not replace monomer names to other notation (e.g. for RNA).
76
125
  * Only for linear polymers, does not split RNA for ribose and phosphate monomers.
77
126
  * @param {string} seq Source string of HELM notation
127
+ * @param {ISeqSource} src Source of the {@link seq} string
78
128
  * @return {string[]}
79
129
  */
80
- export function splitterAsHelm(seq) {
130
+ export const splitterAsHelm = (seq) => {
81
131
  helmRe.lastIndex = 0;
82
132
  const ea = helmRe.exec(seq.toString());
83
133
  const inSeq = ea ? ea[2] : null;
@@ -90,8 +140,8 @@ export function splitterAsHelm(seq) {
90
140
  return mm;
91
141
  };
92
142
  const mmList = inSeq ? inSeq.split('.') : [];
93
- return mmList.map(mmPostProcess);
94
- }
143
+ return new StringListSeqSplitted(mmList.map(mmPostProcess), GapOriginals[NOTATION.HELM]);
144
+ };
95
145
  /** Get splitter method to split sequences to monomers (required for MacromoleculeDifferenceCellRenderer)
96
146
  * @param {string} units
97
147
  * @param {string} separator
@@ -109,14 +159,6 @@ export function getSplitter(units, separator, limit = undefined) {
109
159
  throw new Error(`Unexpected units ${units} .`);
110
160
  // TODO: Splitter for HELM
111
161
  }
112
- /** Generate splitter function for sequence column
113
- * @param {DG.Column} col
114
- * @return {SplitterFunc} Splitter function
115
- */
116
- export function getSplitterForColumn(col) {
117
- const uh = UnitsHandler.getOrCreate(col);
118
- return uh.getSplitter();
119
- }
120
162
  const longMonomerPartRe = /([^\W_]+)/g;
121
163
  /** Convert long monomer names to short ones */
122
164
  export function monomerToShort(amino, maxLengthOfMonomer) {
@@ -173,9 +215,8 @@ export function detectAlphabet(freq, candidates, gapSymbol = '-') {
173
215
  const sim = candidatesSims.find((cs) => cs.similarity === maxSim);
174
216
  alphabetName = sim.name;
175
217
  }
176
- else {
218
+ else
177
219
  alphabetName = "UN" /* ALPHABET.UN */;
178
- }
179
220
  return alphabetName;
180
221
  }
181
222
  /** Selects a suitable palette based on column data
@@ -186,8 +227,8 @@ export function detectAlphabet(freq, candidates, gapSymbol = '-') {
186
227
  export function pickUpPalette(seqCol, minLength = 5) {
187
228
  let alphabet;
188
229
  if (seqCol.semType == DG.SEMTYPE.MACROMOLECULE) {
189
- const uh = UnitsHandler.getOrCreate(seqCol);
190
- alphabet = uh.alphabet;
230
+ const sh = SeqHandler.forColumn(seqCol);
231
+ alphabet = sh.alphabet;
191
232
  }
192
233
  else {
193
234
  const stats = getStatsForCol(seqCol, minLength, splitterAsFasta);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAC,gBAAgB,EAAuE,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAW,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAO,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,iDAAiD,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,iDAAiD,CAAC;AAE/F,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB,EAAE,SAAiB,EAAE,QAAsB;IACzF,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,MAAM,QAAQ,GAA2B,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAC7D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgC,EAAE,SAAiB;IACnE,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;QAC3B,IAAI,WAAW,IAAI,IAAI;YACrB,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;aACvB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;YAClC,UAAU,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;oBACd,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACd;SACF;KACF;IACD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,iGAAiG;IACjG,0DAA0D;IAC1D,mCAAmC;IACnC,8BAA8B;IAC9B,iBAAiB;IACjB,SAAS;IACT,sBAAsB;IACtB,MAAM;IAEN,OAAO,EAAE,CAAmB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,EAAoB,EAAE,EAAE;QAC5B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,wEAAwE;IACjG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAQ;IAC5C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAe,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,QAA4B,SAAS;IAC/F,OAAO,CAAC,GAAW,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjG,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAW,iCAAiC,CAAC;AACzD,MAAM,SAAS,GAAW,gBAAgB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,MAAM,EAAE,GAA2B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/C,MAAM,aAAa,GAAG,CAAC,EAAU,EAAU,EAAE;QAC3C,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;;YAEf,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,MAAM,GAAa,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAKD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,SAAiB,EAAE,QAA4B,SAAS;IACjG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChD,OAAO,eAAe,CAAC;SACpB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzD,OAAO,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpD,OAAO,cAAc,CAAC;;QAEtB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC;IAEjD,0BAA0B;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAc;IACjD,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,iBAAiB,GAAW,YAAY,CAAC;AAE/C,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,kBAA0B;IACtE,IAAI,KAAK,CAAC,MAAM,IAAI,kBAAkB;QACpC,OAAO,KAAK,CAAC;IACf,+FAA+F;IAC/F,MAAM,eAAe,GAA4B,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChF,MAAM,WAAW,GAAY,KAAK,CAAC,MAAM,GAAG,kBAAkB,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3F,CAAC;AAED,MAAM;AACN,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,QAAQ,QAAQ,EAAE;QAChB;YACE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B;YACE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B;YACE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,IAAI,CAAC,CAAC;KAC1D;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAkB,EAAE,QAAqB,EAAE,YAAoB,GAAG;IACtG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IACD,0FAA0F;IAC1F,MAAM,KAAK,GAAW,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,SAAS,GAAW,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,cAAc,CAAC,IAAkB,EAAE,UAA2B,EAAE,YAAoB,GAAG;IACrG,MAAM,cAAc,GAAuB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/D,OAAO,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,YAAoB,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,MAAM,CAAE,CAAC;QACnE,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;KACzB;SAAM;QACL,YAAY,yBAAc,CAAC;KAC5B;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,YAAoB,CAAC;IACpE,IAAI,QAAgB,CAAC;IACrB,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE;QAC9C,MAAM,EAAE,GAAiB,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;KACxB;SAAM;QACL,MAAM,KAAK,GAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9E,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;KAC3D;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,QAAQ,WAAW,EAAE;QACnB;YACE,OAAO,kBAAkB,CAAC,UAAU,CAAC;QACvC,8BAAkB;QAClB;YACE,OAAO,mBAAmB,CAAC,YAAY,CAAC;QAC1C,QAAQ;QACR;YACE,OAAO,kBAAkB,CAAC,KAAK,CAAC;KACnC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAgB;IAC3C,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzE,IAAI,MAAM,GAAqB,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,IAAI,IAAI,CAAC;IACX,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QACtC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
2
  import { NOTATION } from './macromolecule';
3
- import { ISeqSplitted, SeqColStats, SplitterFunc } from './macromolecule/types';
3
+ import { ISeqSplitted, SeqColStats, SplitterFunc, INotationProvider } from './macromolecule/types';
4
4
  import { MmDistanceFunctionsNames } from '@datagrok-libraries/ml/src/macromolecule-distance-functions';
5
5
  import { mmDistanceFunctionType } from '@datagrok-libraries/ml/src/macromolecule-distance-functions/types';
6
- export declare const Temps: {
7
- /** Column's temp slot name for a UnitsHandler object */
8
- uh: string;
6
+ export declare const SeqTemps: {
7
+ /** Column's temp slot name for a SeqHandler object */
8
+ seqHandler: string;
9
+ notationProvider: string;
9
10
  };
10
- export declare const GapSymbols: {
11
+ export declare const GapOriginals: {
11
12
  [units: string]: string;
12
13
  };
13
14
  export type ConvertFunc = (src: string) => string;
@@ -15,21 +16,25 @@ export type JoinerFunc = (src: ISeqSplitted) => string;
15
16
  /** Class for handling notation units in Macromolecule columns and
16
17
  * conversion of notation systems in Macromolecule columns
17
18
  */
18
- export declare class UnitsHandler {
19
+ export declare class SeqHandler {
19
20
  protected readonly _column: DG.Column;
21
+ protected readonly _columnVersion: number;
20
22
  protected readonly _units: string;
21
23
  protected readonly _notation: NOTATION;
22
- protected readonly _defaultGapSymbol: string;
24
+ protected readonly _defaultGapOriginal: string;
25
+ protected readonly notationProvider: INotationProvider | null;
23
26
  private _splitter;
24
- static setUnitsToFastaColumn(uh: UnitsHandler): void;
25
- static setUnitsToSeparatorColumn(uh: UnitsHandler, separator?: string): void;
26
- static setUnitsToHelmColumn(uh: UnitsHandler): void;
27
+ protected constructor(col: DG.Column<string>);
28
+ static setUnitsToFastaColumn(uh: SeqHandler): void;
29
+ static setUnitsToSeparatorColumn(uh: SeqHandler, separator?: string): void;
30
+ static setUnitsToHelmColumn(uh: SeqHandler): void;
27
31
  /** From detectMacromolecule */
28
- static setTags(uh: UnitsHandler): void;
32
+ static setTags(uh: SeqHandler): void;
29
33
  protected get column(): DG.Column;
34
+ get length(): number;
30
35
  get units(): string;
31
36
  get notation(): NOTATION;
32
- get defaultGapSymbol(): string;
37
+ get defaultGapOriginal(): string;
33
38
  get separator(): string | undefined;
34
39
  get aligned(): string;
35
40
  /** Alphabet name (upper case) */
@@ -37,9 +42,10 @@ export declare class UnitsHandler {
37
42
  protected get helmCompatible(): string | undefined;
38
43
  getAlphabetSize(): number;
39
44
  getAlphabetIsMultichar(): boolean;
45
+ private cached;
40
46
  private _splitted;
41
- /** */
42
- get splitted(): ISeqSplitted[];
47
+ private columnVersion;
48
+ getSplitted(rowIdx: number): ISeqSplitted;
43
49
  private _stats;
44
50
  get stats(): SeqColStats;
45
51
  private _maxLength;
@@ -54,7 +60,11 @@ export declare class UnitsHandler {
54
60
  isPeptide(): boolean;
55
61
  isMsa(): boolean;
56
62
  isHelmCompatible(): boolean;
57
- isGap(m: string): boolean;
63
+ /** Checks {@link om} for being a gap
64
+ * @param {string} om Original monomer of sequence symbol
65
+ * @return {boolean}
66
+ */
67
+ isGap(om: string): boolean;
58
68
  /** Associate notation types with the corresponding units */
59
69
  /**
60
70
  * @return {NOTATION} Notation associated with the units type
@@ -75,7 +85,8 @@ export declare class UnitsHandler {
75
85
  * @return {DG.Column}
76
86
  */
77
87
  protected getNewColumn(tgtNotation: NOTATION, tgtSeparator?: string, colName?: string, data?: string[]): DG.Column<string>;
78
- getNewColumnFromList(name: string, list: string[]): DG.Column<string>;
88
+ /** Creates a new column on data of {@link seqList} with the same tags */
89
+ getNewColumnFromList(name: string, seqList: string[]): DG.Column<string>;
79
90
  /**
80
91
  * Create a new empty column using templateCol as a template
81
92
  *
@@ -102,7 +113,8 @@ export declare class UnitsHandler {
102
113
  */
103
114
  static getNewColumnFromParams(len: number, name: string, units: string): DG.Column;
104
115
  /** Gets function to split seq value to monomers */
105
- getSplitter(limit?: number): SplitterFunc;
116
+ protected getSplitter(limit?: number): SplitterFunc;
117
+ split(seq: string): ISeqSplitted;
106
118
  getDistanceFunctionName(): MmDistanceFunctionsNames;
107
119
  getDistanceFunction(): mmDistanceFunctionType;
108
120
  checkHelmCompatibility(): Promise<boolean>;
@@ -113,14 +125,14 @@ export declare class UnitsHandler {
113
125
  /**
114
126
  * Convert HELM string to FASTA/SEPARATOR
115
127
  *
116
- * @param {string} helmPolymer A string to be converted
128
+ * @param {string} srcSeq A string to be converted
117
129
  * @param {string} tgtNotation Target notation: FASTA or SEPARATOR
118
130
  * @param {string} tgtSeparator Optional target separator (for HELM ->
119
- * @param {string | null} tgtGapSymbol Optional target gap symbol
131
+ * @param {string | null} tgtGapOriginal Optional target gap symbol
120
132
  * SEPARATOR)
121
133
  * @return {string} Converted string
122
134
  */
123
- convertHelmToFastaSeparator(helmPolymer: string, tgtNotation: string, tgtSeparator?: string, tgtGapSymbol?: string): string;
135
+ convertHelmToFastaSeparator(srcSeq: string, tgtNotation: string, tgtSeparator?: string, tgtGapOriginal?: string): string;
124
136
  /** Dispatcher method for notation conversion
125
137
  *
126
138
  * @param {NOTATION} tgtNotation Notation we want to convert to
@@ -135,10 +147,19 @@ export declare class UnitsHandler {
135
147
  */
136
148
  getRegion(startIdx: number | null, endIdx: number | null, name: string): DG.Column<string>;
137
149
  private _joiner?;
138
- getJoiner(): JoinerFunc;
150
+ get joiner(): JoinerFunc;
151
+ getJoiner(opts?: {
152
+ notation: NOTATION;
153
+ separator?: string;
154
+ }): JoinerFunc;
139
155
  getConverter(tgtUnits: NOTATION, tgtSeparator?: string | undefined): ConvertFunc;
140
- protected constructor(col: DG.Column<string>);
141
156
  /** Gets a column's UnitsHandler object from temp slot or creates a new and stores it to the temp slot. */
142
- static getOrCreate(col: DG.Column<string>): UnitsHandler;
157
+ static forColumn(col: DG.Column<string>): SeqHandler;
158
+ private joinToFasta;
159
+ private convertToFasta;
160
+ private convertToSeparator;
161
+ private convertToHelm;
162
+ /** Splits Helm sequence adjusting nucleotides to single char symbols. (!) Removes lone phosphorus. */
163
+ private splitterAsHelmNucl;
143
164
  }
144
- //# sourceMappingURL=units-handler.d.ts.map
165
+ //# sourceMappingURL=seq-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seq-handler.d.ts","sourceRoot":"","sources":["seq-handler.ts"],"names":[],"mappings":"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"}