@datagrok-libraries/bio 5.44.4 → 5.45.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.
- package/CHANGELOG.md +9 -0
- package/package.json +6 -6
- package/src/helm/consts.d.ts +2 -2
- package/src/helm/consts.d.ts.map +1 -1
- package/src/helm/consts.js.map +1 -1
- package/src/helm/helm-helper.d.ts +5 -5
- package/src/helm/helm-helper.d.ts.map +1 -1
- package/src/helm/types.d.ts +4 -3
- package/src/helm/types.d.ts.map +1 -1
- package/src/monomer-works/monomer-hover.d.ts +3 -2
- package/src/monomer-works/monomer-hover.d.ts.map +1 -1
- package/src/monomer-works/monomer-hover.js +4 -3
- package/src/monomer-works/monomer-hover.js.map +1 -1
- package/src/monomer-works/monomer-utils.d.ts +6 -5
- package/src/monomer-works/monomer-utils.d.ts.map +1 -1
- package/src/monomer-works/monomer-utils.js +10 -11
- package/src/monomer-works/monomer-utils.js.map +1 -1
- package/src/monomer-works/seq-to-molfile.d.ts +2 -2
- package/src/monomer-works/seq-to-molfile.d.ts.map +1 -1
- package/src/monomer-works/seq-to-molfile.js +2 -3
- package/src/monomer-works/seq-to-molfile.js.map +1 -1
- package/src/monomer-works/to-atomic-level-utils.d.ts +2 -2
- package/src/monomer-works/to-atomic-level-utils.d.ts.map +1 -1
- package/src/monomer-works/to-atomic-level-utils.js.map +1 -1
- package/src/monomer-works/to-atomic-level.d.ts +5 -5
- package/src/monomer-works/to-atomic-level.d.ts.map +1 -1
- package/src/monomer-works/to-atomic-level.js +17 -14
- package/src/monomer-works/to-atomic-level.js.map +1 -1
- package/src/types/index.d.ts +6 -4
- package/src/types/index.d.ts.map +1 -1
- package/src/unknown.d.ts.map +1 -1
- package/src/unknown.js +2 -2
- package/src/unknown.js.map +1 -1
- package/src/utils/cell-renderer-async-base.d.ts +1 -1
- package/src/utils/cell-renderer-async-base.d.ts.map +1 -1
- package/src/utils/cell-renderer-async-base.js +5 -3
- package/src/utils/cell-renderer-async-base.js.map +1 -1
- package/src/utils/cell-renderer-consts.d.ts +2 -1
- package/src/utils/cell-renderer-consts.d.ts.map +1 -1
- package/src/utils/cell-renderer-monomer-placer.d.ts +6 -4
- package/src/utils/cell-renderer-monomer-placer.d.ts.map +1 -1
- package/src/utils/cell-renderer-monomer-placer.js +59 -47
- package/src/utils/cell-renderer-monomer-placer.js.map +1 -1
- package/src/utils/fasta-handler.d.ts.map +1 -1
- package/src/utils/fasta-handler.js +0 -3
- package/src/utils/fasta-handler.js.map +1 -1
- package/src/utils/generator.d.ts +2 -1
- package/src/utils/generator.d.ts.map +1 -1
- package/src/utils/generator.js +2 -3
- package/src/utils/generator.js.map +1 -1
- package/src/utils/macromolecule/consts.d.ts +1 -0
- package/src/utils/macromolecule/consts.d.ts.map +1 -1
- package/src/utils/macromolecule/consts.js +1 -0
- package/src/utils/macromolecule/consts.js.map +1 -1
- package/src/utils/macromolecule/scoring.d.ts +4 -2
- package/src/utils/macromolecule/scoring.d.ts.map +1 -1
- package/src/utils/macromolecule/scoring.js +8 -8
- package/src/utils/macromolecule/scoring.js.map +1 -1
- package/src/utils/macromolecule/seq-handler.d.ts +47 -0
- package/src/utils/macromolecule/seq-handler.d.ts.map +1 -0
- package/src/utils/macromolecule/seq-handler.js +8 -0
- package/src/utils/macromolecule/seq-handler.js.map +1 -0
- package/src/utils/macromolecule/types.d.ts +2 -1
- package/src/utils/macromolecule/types.d.ts.map +1 -1
- package/src/utils/macromolecule/types.js.map +1 -1
- package/src/utils/macromolecule/utils.d.ts +2 -1
- package/src/utils/macromolecule/utils.d.ts.map +1 -1
- package/src/utils/macromolecule/utils.js +4 -5
- package/src/utils/macromolecule/utils.js.map +1 -1
- package/src/utils/seq-helper.d.ts +2 -0
- package/src/utils/seq-helper.d.ts.map +1 -1
- package/src/utils/seq-helper.js.map +1 -1
- package/src/utils/splitter.d.ts +2 -1
- package/src/utils/splitter.d.ts.map +1 -1
- package/src/utils/splitter.js +2 -3
- package/src/utils/splitter.js.map +1 -1
- package/src/viewers/helm-service.d.ts +3 -1
- package/src/viewers/helm-service.d.ts.map +1 -1
- package/src/viewers/helm-service.js +2 -1
- package/src/viewers/helm-service.js.map +1 -1
- package/src/utils/seq-handler.d.ts +0 -167
- package/src/utils/seq-handler.d.ts.map +0 -1
- package/src/utils/seq-handler.js +0 -748
- package/src/utils/seq-handler.js.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as ui from 'datagrok-api/ui';
|
|
2
2
|
import * as DG from 'datagrok-api/dg';
|
|
3
3
|
import wu from 'wu';
|
|
4
|
-
import {
|
|
4
|
+
import { getSeqHelper } from './seq-helper';
|
|
5
5
|
import { ALPHABET, NOTATION, TAGS as bioTAGS } from './macromolecule';
|
|
6
6
|
import { CellRendererBackBase, getGridCellColTemp } from './cell-renderer-back-base';
|
|
7
7
|
import { getMonomerLibHelper } from '../monomer-works/monomer-utils';
|
|
8
8
|
import { errInfo } from './err-info';
|
|
9
9
|
import { DrawStyle, printLeftOrCentered, TAGS as mmcrTAGS } from './cell-renderer';
|
|
10
|
+
import { rendererSettingsChangedState } from './cell-renderer-consts';
|
|
10
11
|
import { HelmTypes } from '../helm/consts';
|
|
11
12
|
import { execMonomerHoverLinks } from '../monomer-works/monomer-hover';
|
|
12
13
|
export const undefinedColor = 'rgb(100,100,100)';
|
|
@@ -43,7 +44,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
43
44
|
this._processedMaxVisibleSeqLength = 0;
|
|
44
45
|
this._monomerLengthMap = {}; // caches the lengths to save time on g.measureText
|
|
45
46
|
this._monomerStructureMap = {}; // caches the atomic structures of monomers
|
|
46
|
-
this.
|
|
47
|
+
this.sysMonomerLib = null;
|
|
47
48
|
this.padding = 5;
|
|
48
49
|
this.props = this.propsProvider();
|
|
49
50
|
this._processedRows = DG.BitSet.create(this.tableCol.length);
|
|
@@ -59,21 +60,29 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
59
60
|
if (df.currentRowIdx === -1) {
|
|
60
61
|
this.tableCol.temp["reference-sequence" /* tempTAGS.referenceSequence */] = null;
|
|
61
62
|
this.tableCol.temp["current-word" /* tempTAGS.currentWord */] = null;
|
|
62
|
-
|
|
63
|
+
this.invalidateGrid();
|
|
63
64
|
}
|
|
64
65
|
}));
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
67
|
+
}
|
|
68
|
+
async init() {
|
|
69
|
+
await Promise.all([
|
|
70
|
+
(async () => {
|
|
71
|
+
this.seqHelper = await getSeqHelper();
|
|
72
|
+
this.invalidateGrid();
|
|
73
|
+
})(),
|
|
74
|
+
(async () => {
|
|
75
|
+
const libHelper = await getMonomerLibHelper();
|
|
76
|
+
this.sysMonomerLib = libHelper.getMonomerLib();
|
|
77
|
+
})(),
|
|
78
|
+
]);
|
|
79
|
+
this.subs.push(this.sysMonomerLib.onChanged.subscribe(() => {
|
|
80
|
+
this.reset();
|
|
81
|
+
}));
|
|
82
|
+
this.reset();
|
|
83
|
+
}
|
|
84
|
+
getMonomerLib() {
|
|
85
|
+
return this.tableCol.temp[".mm.cellRenderer.overriddenLibrary" /* MmcrTemps.overriddenLibrary */] ?? this.sysMonomerLib;
|
|
77
86
|
}
|
|
78
87
|
reset() {
|
|
79
88
|
if (this.propsProvider)
|
|
@@ -83,9 +92,15 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
83
92
|
this._monomerLengthMap = {};
|
|
84
93
|
this._monomerStructureMap = {};
|
|
85
94
|
super.reset();
|
|
95
|
+
this.invalidateGrid();
|
|
96
|
+
}
|
|
97
|
+
invalidateGrid() {
|
|
98
|
+
if (this.gridCol && this.gridCol.dart)
|
|
99
|
+
this.gridCol.grid?.invalidate();
|
|
86
100
|
}
|
|
87
101
|
/** Returns monomers lengths of the {@link rowIdx} and cumulative sums for borders, monomer places */
|
|
88
102
|
getCellMonomerLengths(rowIdx, newWidth) {
|
|
103
|
+
const sh = this.seqHelper.getSeqHandler(this.tableCol);
|
|
89
104
|
if (this.colWidth < newWidth) {
|
|
90
105
|
this.colWidth = newWidth;
|
|
91
106
|
this.dirty = true;
|
|
@@ -99,7 +114,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
99
114
|
this.logger.error(errMsg, undefined, errStack);
|
|
100
115
|
}
|
|
101
116
|
}
|
|
102
|
-
const res =
|
|
117
|
+
const res = sh.isMsa() ? this.getCellMonomerLengthsForSeqMsa() :
|
|
103
118
|
this.getCellMonomerLengthsForSeq(rowIdx);
|
|
104
119
|
const resSum = new Array(res.length + 1);
|
|
105
120
|
resSum[0] = 5; // padding
|
|
@@ -112,9 +127,10 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
112
127
|
// this.logger.debug(`${logPrefix}, start`);
|
|
113
128
|
if (this._monomerLengthList === null)
|
|
114
129
|
this._monomerLengthList = new Array(this.tableCol.length).fill(null);
|
|
130
|
+
const sh = this.seqHelper.getSeqHandler(this.tableCol);
|
|
115
131
|
const minMonWidth = this.props.separatorWidth + 1 * this.props.monomerCharWidth;
|
|
116
132
|
const maxVisibleSeqLength = Math.ceil(this.colWidth / minMonWidth);
|
|
117
|
-
const seqSS =
|
|
133
|
+
const seqSS = sh.getSplitted(rowIdx);
|
|
118
134
|
const visibleSeqLength = Math.min(maxVisibleSeqLength, seqSS.length);
|
|
119
135
|
let res = this._monomerLengthList[rowIdx];
|
|
120
136
|
if (res === null || res.length < visibleSeqLength) {
|
|
@@ -123,7 +139,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
123
139
|
for (let seqMonI = 0; seqMonI < visibleSeqLength; ++seqMonI) {
|
|
124
140
|
const seqMonLabel = seqSS.getOriginal(seqMonI);
|
|
125
141
|
const shortMon = this.props.monomerToShort(seqMonLabel, this.monomerLengthLimit);
|
|
126
|
-
const separatorWidth =
|
|
142
|
+
const separatorWidth = sh.isSeparator() ? this.separatorWidth : this.props.separatorWidth;
|
|
127
143
|
const seqMonWidth = separatorWidth + shortMon.length * this.props.monomerCharWidth;
|
|
128
144
|
res[seqMonI] = seqMonWidth;
|
|
129
145
|
seqWidth += seqMonWidth;
|
|
@@ -164,7 +180,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
164
180
|
for (let seqIdx = startIdx; seqIdx < endIdx; seqIdx++) {
|
|
165
181
|
if (this._processedRows.get(seqIdx) && maxVisibleSeqLength <= this._processedMaxVisibleSeqLength)
|
|
166
182
|
continue;
|
|
167
|
-
const seqSS =
|
|
183
|
+
const seqSS = this.seqHelper.getSeqHandler(this.tableCol)
|
|
168
184
|
.getSplitted(seqIdx, maxVisibleSeqLength);
|
|
169
185
|
const visibleSeqLength = Math.min(maxVisibleSeqLength, seqSS.length);
|
|
170
186
|
if (visibleSeqLength > res.length)
|
|
@@ -186,7 +202,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
186
202
|
/** Returns seq position for pointer x */
|
|
187
203
|
getPosition(rowIdx, x, width) {
|
|
188
204
|
const [_monomerMaxLengthList, monomerMaxLengthSumList] = this.getCellMonomerLengths(rowIdx, width);
|
|
189
|
-
const sh =
|
|
205
|
+
const sh = this.seqHelper.getSeqHandler(this.tableCol);
|
|
190
206
|
const seqSS = sh.getSplitted(rowIdx);
|
|
191
207
|
if (seqSS.length === 0)
|
|
192
208
|
return null;
|
|
@@ -204,14 +220,12 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
204
220
|
this.dirty = true;
|
|
205
221
|
}
|
|
206
222
|
}
|
|
207
|
-
isMsa() {
|
|
208
|
-
return this.props.seqHandler.isMsa();
|
|
209
|
-
}
|
|
210
223
|
render(g, x, y, w, h, gridCell, _cellStyle) {
|
|
224
|
+
if (!this.seqHelper)
|
|
225
|
+
return;
|
|
211
226
|
const gridCol = this.gridCol;
|
|
212
227
|
const tableCol = this.tableCol;
|
|
213
228
|
const dpr = window.devicePixelRatio;
|
|
214
|
-
const separatorWidth = this.props.separatorWidth;
|
|
215
229
|
// Cell renderer settings
|
|
216
230
|
let maxLengthOfMonomer = this.monomerLengthLimit;
|
|
217
231
|
if (mmcrTAGS.maxMonomerLength in tableCol.tags) {
|
|
@@ -224,17 +238,18 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
224
238
|
}
|
|
225
239
|
g.save();
|
|
226
240
|
try {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
241
|
+
const sh = this.seqHelper.getSeqHandler(tableCol);
|
|
242
|
+
if (tableCol.temp[".mm.cellRenderer.settingsChanged" /* MmcrTemps.rendererSettingsChanged */] === rendererSettingsChangedState.true ||
|
|
243
|
+
this.monomerLengthLimit != maxLengthOfMonomer) {
|
|
244
|
+
let gapLength = 0;
|
|
245
|
+
const msaGapLength = 8;
|
|
246
|
+
gapLength = tableCol.temp[".mm.cellRenderer.gapLength" /* MmcrTemps.gapLength */] ?? gapLength;
|
|
247
|
+
// this event means that the mm renderer settings have changed,
|
|
248
|
+
// particularly monomer representation and max width.
|
|
249
|
+
this.setMonomerLengthLimit(maxLengthOfMonomer);
|
|
250
|
+
this.setSeparatorWidth(sh.isMsa() ? msaGapLength : gapLength);
|
|
251
|
+
tableCol.temp[".mm.cellRenderer.settingsChanged" /* MmcrTemps.rendererSettingsChanged */] = rendererSettingsChangedState.false;
|
|
252
|
+
}
|
|
238
253
|
const [maxLengthWords, maxLengthWordsSum] = this.getCellMonomerLengths(gridCell.tableRowIndex, w);
|
|
239
254
|
const _maxIndex = maxLengthWords.length;
|
|
240
255
|
const value = gridCell.cell.value;
|
|
@@ -253,7 +268,6 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
253
268
|
const separator = tableCol.getTag(bioTAGS.separator) ?? '';
|
|
254
269
|
const minMonWidth = this.props.separatorWidth + 1 * this.props.monomerCharWidth;
|
|
255
270
|
const splitLimit = Math.ceil(w / minMonWidth);
|
|
256
|
-
const sh = SeqHandler.forColumn(tableCol);
|
|
257
271
|
const tempReferenceSequence = tableCol.temp["reference-sequence" /* tempTAGS.referenceSequence */];
|
|
258
272
|
const tempCurrentWord = this.tableCol.temp["current-word" /* tempTAGS.currentWord */];
|
|
259
273
|
if (tempCurrentWord && tableCol?.dataFrame?.currentRowIdx === -1)
|
|
@@ -266,21 +280,19 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
266
280
|
return wu.count(0).take(seqSS.length).map((posIdx) => seqSS.getOriginal(posIdx)).toArray();
|
|
267
281
|
})();
|
|
268
282
|
const subParts = sh.getSplitted(rowIdx);
|
|
269
|
-
/* let x1 = x; */
|
|
270
|
-
const color = undefinedColor;
|
|
271
283
|
let drawStyle = DrawStyle.classic;
|
|
272
284
|
if (aligned && aligned.includes('MSA') && units == NOTATION.SEPARATOR)
|
|
273
285
|
drawStyle = DrawStyle.MSA;
|
|
274
286
|
const visibleSeqLength = Math.min(subParts.length, splitLimit);
|
|
275
287
|
for (let posIdx = 0; posIdx < visibleSeqLength; ++posIdx) {
|
|
288
|
+
const om = subParts.getOriginal(posIdx);
|
|
276
289
|
const cm = subParts.getCanonical(posIdx);
|
|
277
290
|
let color = undefinedColor;
|
|
278
|
-
|
|
279
|
-
|
|
291
|
+
const monomerLib = this.getMonomerLib();
|
|
292
|
+
if (monomerLib) {
|
|
280
293
|
const biotype = sh.defaultBiotype;
|
|
281
294
|
//this.logger.debug(`${logPrefix}, biotype: ${biotype}, amino: ${amino}`);
|
|
282
|
-
|
|
283
|
-
color = wem.backgroundcolor;
|
|
295
|
+
color = monomerLib.getMonomerTextColor(biotype, cm);
|
|
284
296
|
}
|
|
285
297
|
g.fillStyle = undefinedColor;
|
|
286
298
|
const last = posIdx === subParts.length - 1;
|
|
@@ -291,7 +303,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
291
303
|
referenceSequence: referenceSequence, maxLengthOfMonomer: maxLengthOfMonomer,
|
|
292
304
|
monomerTextSizeMap: this._monomerLengthMap, logger: this.logger
|
|
293
305
|
};
|
|
294
|
-
printLeftOrCentered(g,
|
|
306
|
+
printLeftOrCentered(g, om, x + this.padding, y, w, h, opts);
|
|
295
307
|
if (minDistanceRenderer > w)
|
|
296
308
|
break;
|
|
297
309
|
}
|
|
@@ -307,7 +319,7 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
307
319
|
}
|
|
308
320
|
}
|
|
309
321
|
onMouseMove(gridCell, e) {
|
|
310
|
-
if (gridCell.tableRowIndex == null)
|
|
322
|
+
if (!this.seqHelper || gridCell.tableRowIndex == null)
|
|
311
323
|
return;
|
|
312
324
|
// if (gridCell.cell.column.getTag(bioTAGS.aligned) !== ALIGNMENT.SEQ_MSA)
|
|
313
325
|
// return;
|
|
@@ -325,10 +337,9 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
325
337
|
// const maxIndex = maxLengthWords.length;
|
|
326
338
|
const argsX = e.offsetX - gridCell.gridColumn.left + (gridCell.gridColumn.left - gridCellBounds.x);
|
|
327
339
|
const left = seqColTemp.getPosition(gridCell.tableRowIndex, argsX, gridCellBounds.width);
|
|
328
|
-
const
|
|
329
|
-
|
|
340
|
+
const sh = this.seqHelper.getSeqHandler(tableCol);
|
|
341
|
+
const seqSS = sh.getSplitted(gridCell.tableRowIndex);
|
|
330
342
|
if (left !== null && left < seqSS.length) {
|
|
331
|
-
const sh = SeqHandler.forColumn(tableCol);
|
|
332
343
|
const alphabet = sh.alphabet ?? ALPHABET.UN;
|
|
333
344
|
const seqMonomer = {
|
|
334
345
|
position: left,
|
|
@@ -338,8 +349,9 @@ export class MonomerPlacer extends CellRendererBackBase {
|
|
|
338
349
|
const tooltipElements = [];
|
|
339
350
|
let monomerDiv = seqColTemp._monomerStructureMap[seqMonomer.symbol];
|
|
340
351
|
if (!monomerDiv || true) {
|
|
352
|
+
const monomerLib = this.getMonomerLib();
|
|
341
353
|
monomerDiv = seqColTemp._monomerStructureMap[seqMonomer.symbol] = (() => {
|
|
342
|
-
return
|
|
354
|
+
return monomerLib ? monomerLib.getTooltip(seqMonomer.biotype, seqMonomer.symbol) :
|
|
343
355
|
ui.divText('Monomer library is not available');
|
|
344
356
|
})();
|
|
345
357
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-renderer-monomer-placer.js","sourceRoot":"","sources":["cell-renderer-monomer-placer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cell-renderer-monomer-placer.js","sourceRoot":"","sources":["cell-renderer-monomer-placer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fasta-handler.d.ts","sourceRoot":"","sources":["fasta-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fasta-handler.d.ts","sourceRoot":"","sources":["fasta-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,oCAAoC;AACpC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,eAAe,CAAgB;IAGvC,IAAW,iBAAiB,IAAI,MAAM,EAAE,CAAoC;IAE5E,IAAW,cAAc,IAAI,MAAM,EAAE,CAAiC;IAEtE;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAS1B,2DAA2D;IAC3D,OAAO,CAAC,YAAY;IAiBpB;;;;OAIG;IACI,WAAW,IAAI,EAAE,CAAC,SAAS,EAAG;gBAYzB,WAAW,EAAE,MAAM;CAIhC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
|
-
import { SeqHandler } from './seq-handler';
|
|
3
2
|
import { NOTATION } from './macromolecule/consts';
|
|
4
3
|
/** Class for parsing FASTA files */
|
|
5
4
|
export class FastaFileHandler {
|
|
@@ -44,8 +43,6 @@ export class FastaFileHandler {
|
|
|
44
43
|
const sequenceCol = DG.Column.fromStrings('sequence', this.sequencesArray);
|
|
45
44
|
sequenceCol.semType = DG.SEMTYPE.MACROMOLECULE;
|
|
46
45
|
sequenceCol.meta.units = NOTATION.FASTA;
|
|
47
|
-
// here should go the code from units handler
|
|
48
|
-
const sh = SeqHandler.forColumn(sequenceCol);
|
|
49
46
|
return [DG.DataFrame.fromColumns([
|
|
50
47
|
descriptionsArrayCol,
|
|
51
48
|
sequenceCol,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fasta-handler.js","sourceRoot":"","sources":["fasta-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"fasta-handler.js","sourceRoot":"","sources":["fasta-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,oCAAoC;AACpC,MAAM,OAAO,gBAAgB;IAI3B,2CAA2C;IAE3C,IAAW,iBAAiB,KAAe,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE5E,IAAW,cAAc,KAAe,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtE;;;;;;;OAOG;IACK,kBAAkB,CACxB,eAAuB,EACvB,aAAqB;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,2DAA2D;IACnD,YAAY;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,4CAA4C;QAEvE,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,mDAAmD;QAC9D,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,eAAe,KAAK,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACnF,eAAe,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,8BAA8B;IAChC,CAAC;IAED;;;;OAIG;IACI,WAAW;QAChB,MAAM,oBAAoB,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3E,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAExC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;gBAC/B,oBAAoB;gBACpB,WAAW;aACZ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,WAAmB;QA5DvB,uBAAkB,GAAa,EAAE,CAAC,CAAC,4BAA4B;QAC/D,oBAAe,GAAa,EAAE,CAAC,CAAC,wBAAwB;QA4D9D,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF"}
|
package/src/utils/generator.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import { ALPHABET, NOTATION } from './macromolecule';
|
|
3
|
+
import { ISeqHelper } from './seq-helper';
|
|
3
4
|
import { IMonomerLib } from '../types/index';
|
|
4
5
|
export declare function generateManySequences(): DG.Column[];
|
|
5
6
|
/** Generates the column 'MSA' with sequences length of order 10^6 and the 'Activity' float column. */
|
|
6
7
|
export declare function generateLongSequence(length?: number): DG.Column[];
|
|
7
|
-
export declare function generateLongSequence2(notation?: NOTATION, alphabet?: ALPHABET, separator?: string | undefined, monomerLib?: IMonomerLib | undefined, colName?: string, rowCount?: number, seqLength?: number): DG.Column;
|
|
8
|
+
export declare function generateLongSequence2(seqHelper: ISeqHelper, notation?: NOTATION, alphabet?: ALPHABET, separator?: string | undefined, monomerLib?: IMonomerLib | undefined, colName?: string, rowCount?: number, seqLength?: number): DG.Column;
|
|
8
9
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAC,QAAQ,EAAe,QAAQ,EAAO,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAItC,OAAO,EAAC,QAAQ,EAAe,QAAQ,EAAO,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAI3C,wBAAgB,qBAAqB,IAAI,EAAE,CAAC,MAAM,EAAE,CAQnD;AAED,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,MAAgB,GAAG,EAAE,CAAC,MAAM,EAAE,CAc1E;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,UAAU,EACzD,QAAQ,GAAE,QAA6B,EAAE,QAAQ,GAAE,QAAsB,EACzE,SAAS,GAAE,MAAM,GAAG,SAA+D,EACnF,UAAU,GAAE,WAAW,GAAG,SAAqB,EAC/C,OAAO,GAAE,MAAc,EAAE,QAAQ,GAAE,MAAY,EAAE,SAAS,GAAE,MAAgB,GAC3E,EAAE,CAAC,MAAM,CAqBX"}
|
package/src/utils/generator.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import wu from 'wu';
|
|
3
3
|
import { ALPHABET, getAlphabet, NOTATION, TAGS } from './macromolecule';
|
|
4
|
-
import { SeqHandler } from './seq-handler';
|
|
5
4
|
import { StringListSeqSplitted } from './macromolecule/utils';
|
|
6
5
|
import { GapOriginals } from './macromolecule/consts';
|
|
7
6
|
export function generateManySequences() {
|
|
@@ -24,7 +23,7 @@ export function generateLongSequence(length = 10 ** 5) {
|
|
|
24
23
|
columns.push(DG.Column.fromList(DG.COLUMN_TYPE.FLOAT, 'Activity', new Array(10 ** 2).fill(7.30751)));
|
|
25
24
|
return columns;
|
|
26
25
|
}
|
|
27
|
-
export function generateLongSequence2(notation = NOTATION.SEPARATOR, alphabet = ALPHABET.PT, separator = (notation === NOTATION.SEPARATOR ? '-' : undefined), monomerLib = undefined, colName = 'seq', rowCount = 100, seqLength = 10 ** 6) {
|
|
26
|
+
export function generateLongSequence2(seqHelper, notation = NOTATION.SEPARATOR, alphabet = ALPHABET.PT, separator = (notation === NOTATION.SEPARATOR ? '-' : undefined), monomerLib = undefined, colName = 'seq', rowCount = 100, seqLength = 10 ** 6) {
|
|
28
27
|
const alphabetSet = alphabet === ALPHABET.UN ?
|
|
29
28
|
monomerLib?.getMonomerSymbolsByType("PEPTIDE" /* PolymerTypes.PEPTIDE */) ?? [] : Array.from(getAlphabet(alphabet));
|
|
30
29
|
const alphabetSize = alphabetSet.length;
|
|
@@ -34,7 +33,7 @@ export function generateLongSequence2(notation = NOTATION.SEPARATOR, alphabet =
|
|
|
34
33
|
col.setTag(TAGS.alphabet, alphabet);
|
|
35
34
|
if (notation == NOTATION.SEPARATOR)
|
|
36
35
|
col.setTag(TAGS.separator, separator);
|
|
37
|
-
const sh =
|
|
36
|
+
const sh = seqHelper.getSeqHandler(col);
|
|
38
37
|
for (let rowI = 0; rowI < rowCount; rowI++) {
|
|
39
38
|
const seqMList = wu.count(0).take(seqLength)
|
|
40
39
|
.map((i) => { return alphabetSet[Math.floor(Math.random() * alphabetSize)]; })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,0EAA0E;AAC1E,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,IAAI,SAAS;IACmB,MAAM,WAAW;CAClD;AAED,0BAAkB,SAAS;IACzB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,cAAc;IACd,EAAE,OAAO;CACV;AAED,oBAAY,IAAI;IACd,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,YAAY,kBAAkB;IAC9B,mBAAmB,yBAAyB;IAC5C,SAAS,cAAc;IACvB,gBAAgB,sBAAsB;IACtC,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,OAAO,aAAa;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAa,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,MAAqD,CAAC;AAE9E,eAAO,MAAM,MAAM,EAAE,MAA0C,CAAC;AAChE,eAAO,MAAM,SAAS,EAAE,MAAyB,CAAC;AAElD,eAAO,MAAM,SAAS;;;;;;CASnB,CAAC;AAEJ,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAI7C,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,UAAU,EAAE,MAAW,CAAC;AAErC,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAKxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,0EAA0E;AAC1E,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,IAAI,SAAS;IACmB,MAAM,WAAW;CAClD;AAED,0BAAkB,SAAS;IACzB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,cAAc;IACd,EAAE,OAAO;CACV;AAED,oBAAY,IAAI;IACd,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,YAAY,kBAAkB;IAC9B,mBAAmB,yBAAyB;IAC5C,SAAS,cAAc;IACvB,gBAAgB,sBAAsB;IACtC,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,OAAO,aAAa;CACrB;AAED,OAAO,EAAC,IAAI,IAAI,OAAO,EAAC,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,MAAa,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,MAAqD,CAAC;AAE9E,eAAO,MAAM,MAAM,EAAE,MAA0C,CAAC;AAChE,eAAO,MAAM,SAAS,EAAE,MAAyB,CAAC;AAElD,eAAO,MAAM,SAAS;;;;;;CASnB,CAAC;AAEJ,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAI7C,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,UAAU,EAAE,MAAW,CAAC;AAErC,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAKxB,CAAC"}
|
|
@@ -27,6 +27,7 @@ export var TAGS;
|
|
|
27
27
|
TAGS["positionLabels"] = ".positionLabels";
|
|
28
28
|
TAGS["regions"] = ".regions";
|
|
29
29
|
})(TAGS || (TAGS = {}));
|
|
30
|
+
export { TAGS as BioTags };
|
|
30
31
|
export const positionSeparator = ', ';
|
|
31
32
|
export const monomerRe = /(?:\[([A-Za-z0-9_\-,()]+)\])|([A-Za-z\-])/g;
|
|
32
33
|
export const helmRe = /(PEPTIDE1|DNA1|RNA1)\{([^}]+)}/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,+BAA+B,CAAC,6BAAiB,CAAA;AACnD,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAOD,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,cAAc;IACd,qBAAS,CAAA;AACX,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,CAAN,IAAY,IAUX;AAVD,WAAY,IAAI;IACd,2BAAmB,CAAA;IACnB,6BAAqB,CAAA;IACrB,sCAA8B,CAAA;IAC9B,oDAA4C,CAAA;IAC5C,+BAAuB,CAAA;IACvB,8CAAsC,CAAA;IACtC,wCAAgC,CAAA;IAChC,0CAAkC,CAAA;IAClC,4BAAoB,CAAA;AACtB,CAAC,EAVW,IAAI,KAAJ,IAAI,QAUf;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAW,4CAA4C,CAAC;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAW,iCAAiC,CAAC;AAChE,MAAM,CAAC,MAAM,SAAS,GAAW,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI;IAAA;QAC3B,UAAK,GAAG;YACN,OAAO,EAAE,IAAI,GAAG,CAAS;gBACvB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;gBAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;aACjD,CAAC;YACF,GAAG,EAAE,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,GAAG,EAAE,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAC3C,CAAC;IACJ,CAAC;CAAA,EAAE,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IAC7D,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAC1D,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;CAC3D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAW,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAErB;IACF,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG;IACrB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE;IACxB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,+BAA+B,CAAC,6BAAiB,CAAA;AACnD,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAOD,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,cAAc;IACd,qBAAS,CAAA;AACX,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,CAAN,IAAY,IAUX;AAVD,WAAY,IAAI;IACd,2BAAmB,CAAA;IACnB,6BAAqB,CAAA;IACrB,sCAA8B,CAAA;IAC9B,oDAA4C,CAAA;IAC5C,+BAAuB,CAAA;IACvB,8CAAsC,CAAA;IACtC,wCAAgC,CAAA;IAChC,0CAAkC,CAAA;IAClC,4BAAoB,CAAA;AACtB,CAAC,EAVW,IAAI,KAAJ,IAAI,QAUf;AAED,OAAO,EAAC,IAAI,IAAI,OAAO,EAAC,CAAC;AAEzB,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAW,4CAA4C,CAAC;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAW,iCAAiC,CAAC;AAChE,MAAM,CAAC,MAAM,SAAS,GAAW,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI;IAAA;QAC3B,UAAK,GAAG;YACN,OAAO,EAAE,IAAI,GAAG,CAAS;gBACvB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;gBAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;aACjD,CAAC;YACF,GAAG,EAAE,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,GAAG,EAAE,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAC3C,CAAC;IACJ,CAAC;CAAA,EAAE,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IAC7D,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAC1D,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;CAC3D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAW,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAErB;IACF,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG;IACrB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE;IACxB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG;CACrB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import { ISeqSplitted } from '../../utils/macromolecule/types';
|
|
3
|
+
import { ISeqHelper } from '../seq-helper';
|
|
3
4
|
export declare enum SCORE {
|
|
4
5
|
IDENTITY = "identity",
|
|
5
6
|
SIMILARITY = "similarity"
|
|
@@ -9,8 +10,9 @@ export declare enum SCORE {
|
|
|
9
10
|
* @param {DG.Column<string>} col Sequences column to score. Must have Macromolecule semantic type.
|
|
10
11
|
* @param {string} ref Reference sequence to score against.
|
|
11
12
|
* @param {SCORE} scoring Scoring method.
|
|
13
|
+
* @param {ISeqHelper} seqHelper Helper for sequence operations.
|
|
12
14
|
* @returns {DG.Column<number>} Scores column. */
|
|
13
|
-
export declare function calculateScores(table: DG.DataFrame, col: DG.Column<string>, ref: string, scoring: SCORE): Promise<DG.Column<number>>;
|
|
15
|
+
export declare function calculateScores(table: DG.DataFrame, col: DG.Column<string>, ref: string, scoring: SCORE, seqHelper: ISeqHelper): Promise<DG.Column<number>>;
|
|
14
16
|
/** Calculates identity scores as fraction of matching monomers on the same position.
|
|
15
17
|
* @param {ISeqSplitted} reference Splitted reference sequence.
|
|
16
18
|
* @param {DG.DataFrame} positionsDf Table which only contains position columns with semantic type Monomer.
|
|
@@ -20,5 +22,5 @@ export declare function calculateIdentity(reference: ISeqSplitted, positionsDf:
|
|
|
20
22
|
* @param {ISeqSplitted} reference Splitted reference sequence.
|
|
21
23
|
* @param {DG.DataFrame} positionsDf Table which only contains position columns with semantic type Monomer.
|
|
22
24
|
* @return {DG.Column<number>} Scores column. */
|
|
23
|
-
export declare function calculateSimilarity(reference: ISeqSplitted, positionsDf: DG.DataFrame): Promise<DG.Column<number>>;
|
|
25
|
+
export declare function calculateSimilarity(reference: ISeqSplitted, positionsDf: DG.DataFrame, seqHelper: ISeqHelper): Promise<DG.Column<number>>;
|
|
24
26
|
//# sourceMappingURL=scoring.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["scoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["scoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,oBAAY,KAAK;IACf,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED;;;;;;iDAMiD;AACjD,wBAAsB,eAAe,CACnC,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,GAC9F,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAc5B;AAED;;;iDAGiD;AACjD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CA4BvG;AAED;;;gDAGgD;AAChD,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,GACxE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAI5B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import { sequenceChemSimilarity } from '../../monomer-works/monomer-utils';
|
|
3
3
|
import { splitAlignedSequences } from '../splitter';
|
|
4
|
-
import { SeqHandler } from '../seq-handler';
|
|
5
4
|
import { GAP_SYMBOL } from './consts';
|
|
6
5
|
export var SCORE;
|
|
7
6
|
(function (SCORE) {
|
|
@@ -13,15 +12,16 @@ export var SCORE;
|
|
|
13
12
|
* @param {DG.Column<string>} col Sequences column to score. Must have Macromolecule semantic type.
|
|
14
13
|
* @param {string} ref Reference sequence to score against.
|
|
15
14
|
* @param {SCORE} scoring Scoring method.
|
|
15
|
+
* @param {ISeqHelper} seqHelper Helper for sequence operations.
|
|
16
16
|
* @returns {DG.Column<number>} Scores column. */
|
|
17
|
-
export async function calculateScores(table, col, ref, scoring) {
|
|
18
|
-
const splitSeqDf = splitAlignedSequences(col);
|
|
19
|
-
const srcSh =
|
|
17
|
+
export async function calculateScores(table, col, ref, scoring, seqHelper) {
|
|
18
|
+
const splitSeqDf = splitAlignedSequences(col, seqHelper);
|
|
19
|
+
const srcSh = seqHelper.getSeqHandler(col);
|
|
20
20
|
const refCol = srcSh.getNewColumnFromList('ref', [ref]);
|
|
21
|
-
const refUh =
|
|
21
|
+
const refUh = seqHelper.getSeqHandler(refCol);
|
|
22
22
|
const refSplitted = refUh.getSplitted(0); // ref is at 0
|
|
23
23
|
const scoresCol = scoring === SCORE.IDENTITY ? calculateIdentity(refSplitted, splitSeqDf) :
|
|
24
|
-
scoring === SCORE.SIMILARITY ? await calculateSimilarity(refSplitted, splitSeqDf) : null;
|
|
24
|
+
scoring === SCORE.SIMILARITY ? await calculateSimilarity(refSplitted, splitSeqDf, seqHelper) : null;
|
|
25
25
|
if (scoresCol === null)
|
|
26
26
|
throw new Error(`In bio library: Unknown sequence scoring method: ${scoring}`);
|
|
27
27
|
scoresCol.name = table.columns.getUnusedName(scoresCol.name);
|
|
@@ -62,9 +62,9 @@ export function calculateIdentity(reference, positionsDf) {
|
|
|
62
62
|
* @param {ISeqSplitted} reference Splitted reference sequence.
|
|
63
63
|
* @param {DG.DataFrame} positionsDf Table which only contains position columns with semantic type Monomer.
|
|
64
64
|
* @return {DG.Column<number>} Scores column. */
|
|
65
|
-
export async function calculateSimilarity(reference, positionsDf) {
|
|
65
|
+
export async function calculateSimilarity(reference, positionsDf, seqHelper) {
|
|
66
66
|
const monomerColumns = positionsDf.columns.toList();
|
|
67
|
-
const scoresCol = await sequenceChemSimilarity(monomerColumns, reference);
|
|
67
|
+
const scoresCol = await sequenceChemSimilarity(monomerColumns, reference, seqHelper);
|
|
68
68
|
return scoresCol;
|
|
69
69
|
}
|
|
70
70
|
//# sourceMappingURL=scoring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["scoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as DG from 'datagrok-api/dg';
|
|
2
|
+
import { MmDistanceFunctionsNames } from '@datagrok-libraries/ml/src/macromolecule-distance-functions';
|
|
3
|
+
import { ISeqSplitted, SeqColStats } from './types';
|
|
4
|
+
import { NOTATION } from './consts';
|
|
5
|
+
import { HelmType } from '../../helm/types';
|
|
6
|
+
import { CellRendererBackBase } from '../cell-renderer-back-base';
|
|
7
|
+
export declare const SeqTemps: {
|
|
8
|
+
/** Column's temp slot name for a SeqHandler object */
|
|
9
|
+
seqHandler: string;
|
|
10
|
+
notationProvider: string;
|
|
11
|
+
};
|
|
12
|
+
export type ConvertFunc = (src: string) => string;
|
|
13
|
+
export type JoinerFunc = (src: ISeqSplitted) => string;
|
|
14
|
+
export interface ISeqHandler {
|
|
15
|
+
get alphabet(): string;
|
|
16
|
+
get notation(): NOTATION;
|
|
17
|
+
get separator(): string | undefined;
|
|
18
|
+
get aligned(): string;
|
|
19
|
+
get units(): string;
|
|
20
|
+
get defaultBiotype(): HelmType;
|
|
21
|
+
get maxLength(): number;
|
|
22
|
+
get length(): number;
|
|
23
|
+
get defaultGapOriginal(): string;
|
|
24
|
+
get stats(): SeqColStats;
|
|
25
|
+
get joiner(): JoinerFunc;
|
|
26
|
+
get posList(): string[];
|
|
27
|
+
isFasta(): boolean;
|
|
28
|
+
isMsa(): boolean;
|
|
29
|
+
isHelm(): boolean;
|
|
30
|
+
isSeparator(): boolean;
|
|
31
|
+
getSplitted(rowIdx: number, limit?: number): ISeqSplitted;
|
|
32
|
+
getHelm(rowIdx: number, options?: any): Promise<DG.SemanticValue<string>>;
|
|
33
|
+
getAlphabetSize(): number;
|
|
34
|
+
getAlphabetIsMultichar(): boolean;
|
|
35
|
+
getNewColumnFromList(name: string, seqList: string[]): DG.Column<string>;
|
|
36
|
+
convert(tgtNotation: NOTATION, tgtSeparator?: string): DG.Column<string>;
|
|
37
|
+
convertHelmToFastaSeparator(srcSeq: string, tgtNotation: string, tgtSeparator?: string, tgtGapOriginal?: string): string;
|
|
38
|
+
getRegion(startIdx: number | null, endIdx: number | null, name: string): DG.Column<string>;
|
|
39
|
+
getJoiner(opts?: {
|
|
40
|
+
notation: NOTATION;
|
|
41
|
+
separator?: string;
|
|
42
|
+
}): JoinerFunc;
|
|
43
|
+
getDistanceFunctionName(): MmDistanceFunctionsNames;
|
|
44
|
+
getConverter(tgtUnits: NOTATION, tgtSeparator?: string): ConvertFunc;
|
|
45
|
+
getRendererBack(gridCol: DG.GridColumn | null, tableCol: DG.Column<string>): CellRendererBackBase<string>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=seq-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seq-handler.d.ts","sourceRoot":"","sources":["seq-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AAErG,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ;IACnB,sDAAsD;;;CAGrD,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,QAAQ,IAAI,MAAM,CAAC;IACvB,IAAI,QAAQ,IAAI,QAAQ,CAAC;IACzB,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAAC;IAEpC,IAAI,OAAO,IAAI,MAAM,CAAC;IACtB,IAAI,KAAK,IAAI,MAAM,CAAC;IACpB,IAAI,cAAc,IAAI,QAAQ,CAAC;IAC/B,IAAI,SAAS,IAAI,MAAM,CAAC;IACxB,IAAI,MAAM,IAAI,MAAM,CAAC;IACrB,IAAI,kBAAkB,IAAI,MAAM,CAAC;IACjC,IAAI,KAAK,IAAI,WAAW,CAAC;IACzB,IAAI,MAAM,IAAI,UAAU,CAAC;IAEzB,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;IAExB,OAAO,IAAI,OAAO,CAAC;IACnB,KAAK,IAAI,OAAO,CAAC;IACjB,MAAM,IAAI,OAAO,CAAC;IAClB,WAAW,IAAI,OAAO,CAAC;IAGvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC1D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1E,eAAe,IAAI,MAAM,CAAC;IAC1B,sBAAsB,IAAI,OAAO,CAAC;IAClC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3F,SAAS,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC;IAEzE,uBAAuB,IAAI,wBAAwB,CAAC;IACpD,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACrE,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;CAC3G"}
|