@datagrok/bio 2.16.3 → 2.16.5
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/.eslintrc.json +1 -1
- package/CHANGELOG.md +19 -0
- package/dist/284.js +1 -1
- package/dist/284.js.map +1 -1
- package/dist/980.js +1 -1
- package/dist/980.js.map +1 -1
- package/dist/package-test.js +6 -6
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +2 -2
- package/dist/package.js.map +1 -1
- package/files/tests/placer_MSA.csv +5 -0
- package/package.json +3 -3
- package/src/global.d.ts +13 -0
- package/src/package.ts +1 -1
- package/src/tests/helm-tests.ts +46 -20
- package/src/tests/renderers-monomer-placer-tests.ts +57 -2
- package/src/utils/helm-to-molfile/converter/connection-list.ts +5 -5
- package/src/utils/helm-to-molfile/converter/helm.ts +19 -22
- package/src/utils/helm-to-molfile/converter/monomer-wrapper.ts +1 -2
- package/src/utils/monomer-lib/monomer-lib-base.ts +1 -1
- package/src/utils/monomer-lib/monomer-manager/monomer-manager.ts +66 -32
- package/src/viewers/web-logo-viewer.ts +19 -21
|
@@ -395,14 +395,14 @@ export class WebLogoViewer extends DG.JsViewer implements IWebLogoViewer {
|
|
|
395
395
|
|
|
396
396
|
// -- Data --
|
|
397
397
|
this.sequenceColumnName = this.string(PROPS.sequenceColumnName, defaults.sequenceColumnName,
|
|
398
|
-
{category: PROPS_CATS.DATA});
|
|
398
|
+
{category: PROPS_CATS.DATA, semType: DG.SEMTYPE.MACROMOLECULE});
|
|
399
399
|
const aggExcludeList = [DG.AGG.KEY, DG.AGG.PIVOT, DG.AGG.MISSING_VALUE_COUNT, DG.AGG.SKEW, DG.AGG.KURT,
|
|
400
400
|
DG.AGG.SELECTED_ROWS_COUNT];
|
|
401
401
|
const aggChoices = Object.values(DG.AGG).filter((agg) => !aggExcludeList.includes(agg));
|
|
402
402
|
this.valueAggrType = this.string(PROPS.valueAggrType, defaults.valueAggrType,
|
|
403
403
|
{category: PROPS_CATS.DATA, choices: aggChoices}) as DG.AggregationType;
|
|
404
404
|
this.valueColumnName = this.string(PROPS.valueColumnName, defaults.valueColumnName,
|
|
405
|
-
{category: PROPS_CATS.DATA});
|
|
405
|
+
{category: PROPS_CATS.DATA, columnTypeFilter: 'numerical'});
|
|
406
406
|
this.startPositionName = this.string(PROPS.startPositionName, defaults.startPositionName,
|
|
407
407
|
{category: PROPS_CATS.DATA});
|
|
408
408
|
this.endPositionName = this.string(PROPS.endPositionName, defaults.endPositionName,
|
|
@@ -1022,20 +1022,18 @@ export class WebLogoViewer extends DG.JsViewer implements IWebLogoViewer {
|
|
|
1022
1022
|
|
|
1023
1023
|
// 2022-05-05 askalkin instructed to show WebLogo based on filter (not selection)
|
|
1024
1024
|
const dfRowCount = this.dataFrame.rowCount;
|
|
1025
|
-
|
|
1025
|
+
const filterIndexes = dfFilter.getSelectedIndexes();
|
|
1026
1026
|
for (let jPos = 0; jPos < length; ++jPos) {
|
|
1027
1027
|
// Here we want to build lists of values for every monomer in position jPos
|
|
1028
|
-
for (
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
pmi.value = ++pmi.rowCount;
|
|
1038
|
-
}
|
|
1028
|
+
for (const rowI of filterIndexes) {
|
|
1029
|
+
const seqS: ISeqSplitted = this.seqHandler.getSplitted(rowI);
|
|
1030
|
+
const om: string = jPos + this.startPosition < seqS.length ? seqS.getCanonical(this.startPosition + jPos) :
|
|
1031
|
+
this.seqHandler.defaultGapOriginal;
|
|
1032
|
+
const cm: string = this.seqHandler.defaultGapOriginal === om ? GAP_SYMBOL : om;
|
|
1033
|
+
const pi = this.positions[jPos];
|
|
1034
|
+
const pmi = pi.getFreq(cm);
|
|
1035
|
+
++pi.sumRowCount;
|
|
1036
|
+
pmi.value = ++pmi.rowCount;
|
|
1039
1037
|
}
|
|
1040
1038
|
if (this.valueAggrType === DG.AGG.TOTAL_COUNT) continue;
|
|
1041
1039
|
|
|
@@ -1048,13 +1046,13 @@ export class WebLogoViewer extends DG.JsViewer implements IWebLogoViewer {
|
|
|
1048
1046
|
} catch { valueCol = null; }
|
|
1049
1047
|
if (!valueCol) continue; // fallback to TOTAL_COUNT
|
|
1050
1048
|
|
|
1051
|
-
for (
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1049
|
+
for (const rowI of filterIndexes) {
|
|
1050
|
+
const seqS: ISeqSplitted = this.seqHandler.getSplitted(rowI);
|
|
1051
|
+
const om: string = jPos + this.startPosition < seqS.length ? seqS.getCanonical(this.startPosition + jPos) :
|
|
1052
|
+
this.seqHandler.defaultGapOriginal;
|
|
1053
|
+
const cm: string = this.seqHandler.defaultGapOriginal === om ? GAP_SYMBOL : om;
|
|
1054
|
+
const value: number | null = valueCol.get(rowI);
|
|
1055
|
+
this.positions[jPos].getFreq(cm).push(value);
|
|
1058
1056
|
}
|
|
1059
1057
|
this.positions[jPos].aggregate(this.valueAggrType);
|
|
1060
1058
|
}
|