@datagrok/peptides 1.3.3 → 1.3.4
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/dist/package-test.js +90 -103
- package/dist/package.js +53 -81
- package/package.json +2 -2
- package/src/model.ts +17 -22
- package/src/package-test.ts +4 -3
- package/src/tests/core.ts +8 -10
- package/src/utils/misc.ts +10 -12
- package/src/widgets/peptides.ts +29 -52
- package/{test-Peptides-916a90d7d48b-44350c85.html → test-Peptides-916a90d7d48b-d2f9014f.html} +28 -28
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagrok/peptides",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.4",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Volodymyr Dyma",
|
|
6
6
|
"email": "vdyma@datagrok.ai"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@datagrok-libraries/bio": "^5.1.0",
|
|
16
16
|
"@datagrok-libraries/ml": "^2.0.1",
|
|
17
17
|
"@datagrok-libraries/statistics": "^0.1.6",
|
|
18
|
-
"@datagrok-libraries/utils": "^1.
|
|
18
|
+
"@datagrok-libraries/utils": "^1.11.1",
|
|
19
19
|
"cash-dom": "latest",
|
|
20
20
|
"datagrok-api": "^1.6.0",
|
|
21
21
|
"file-loader": "^6.2.0",
|
package/src/model.ts
CHANGED
|
@@ -36,9 +36,9 @@ export class PeptidesModel {
|
|
|
36
36
|
edf: DG.DataFrame | null = null;
|
|
37
37
|
monomerPositionStatsDf!: DG.DataFrame;
|
|
38
38
|
clusterStatsDf!: DG.DataFrame;
|
|
39
|
-
_mutationCliffsSelection
|
|
40
|
-
_invariantMapSelection
|
|
41
|
-
_logoSummarySelection
|
|
39
|
+
_mutationCliffsSelection!: type.PositionToAARList;
|
|
40
|
+
_invariantMapSelection!: type.PositionToAARList;
|
|
41
|
+
_logoSummarySelection!: number[];
|
|
42
42
|
substitutionsInfo: type.SubstitutionsInfo = new Map();
|
|
43
43
|
isInitialized = false;
|
|
44
44
|
currentView!: DG.TableView;
|
|
@@ -375,14 +375,15 @@ export class PeptidesModel {
|
|
|
375
375
|
joinDataFrames(positionColumns: string[], splitSeqDf: DG.DataFrame, alphabet: string): void {
|
|
376
376
|
// append splitSeqDf columns to source table and make sure columns are not added more than once
|
|
377
377
|
const name = this.df.name;
|
|
378
|
+
const cols = this.df.columns;
|
|
378
379
|
for (const colName of positionColumns) {
|
|
379
380
|
const col = this.df.col(colName);
|
|
380
381
|
const newCol = splitSeqDf.getCol(colName);
|
|
381
382
|
if (col === null)
|
|
382
|
-
|
|
383
|
+
cols.add(newCol);
|
|
383
384
|
else {
|
|
384
|
-
|
|
385
|
-
|
|
385
|
+
cols.remove(colName);
|
|
386
|
+
cols.add(newCol);
|
|
386
387
|
}
|
|
387
388
|
CR.setAARRenderer(newCol, alphabet, this.sourceGrid);
|
|
388
389
|
}
|
|
@@ -409,21 +410,15 @@ export class PeptidesModel {
|
|
|
409
410
|
}
|
|
410
411
|
|
|
411
412
|
createScaledCol(activityScaling: string, splitSeqDf: DG.DataFrame): void {
|
|
412
|
-
const
|
|
413
|
-
scaleActivity(activityScaling, this.df.getCol(C.COLUMNS_NAMES.ACTIVITY));
|
|
413
|
+
const scaledCol = scaleActivity(activityScaling, this.df.getCol(C.COLUMNS_NAMES.ACTIVITY));
|
|
414
414
|
//TODO: make another func
|
|
415
|
-
const scaledCol = scaledDf.getCol(C.COLUMNS_NAMES.ACTIVITY_SCALED);
|
|
416
|
-
scaledCol.semType = C.SEM_TYPES.ACTIVITY_SCALED;
|
|
417
415
|
splitSeqDf.columns.add(scaledCol);
|
|
418
|
-
|
|
419
|
-
this.df.columns.replace(oldScaledCol, scaledCol);
|
|
416
|
+
this.df.columns.replace(C.COLUMNS_NAMES.ACTIVITY_SCALED, scaledCol);
|
|
420
417
|
const gridCol = this.sourceGrid.col(C.COLUMNS_NAMES.ACTIVITY_SCALED);
|
|
421
|
-
if (gridCol
|
|
422
|
-
gridCol.name =
|
|
423
|
-
this.df.tags[C.COLUMNS_NAMES.ACTIVITY_SCALED] = newColName;
|
|
424
|
-
}
|
|
418
|
+
if (gridCol)
|
|
419
|
+
gridCol.name = scaledCol.getTag('gridName');
|
|
425
420
|
|
|
426
|
-
this.sourceGrid.columns.setOrder([
|
|
421
|
+
this.sourceGrid.columns.setOrder([scaledCol.getTag('gridName')]);
|
|
427
422
|
}
|
|
428
423
|
|
|
429
424
|
calculateMonomerPositionStatistics(matrixDf: DG.DataFrame): DG.DataFrame {
|
|
@@ -964,10 +959,10 @@ export class PeptidesModel {
|
|
|
964
959
|
const getBitAt = (i: number): boolean => {
|
|
965
960
|
for (const position of positionList) {
|
|
966
961
|
const positionCol: DG.Column<string> = this.df.getCol(position);
|
|
967
|
-
if (this.
|
|
962
|
+
if (this.mutationCliffsSelection[position].includes(positionCol.get(i)!))
|
|
968
963
|
return true;
|
|
969
964
|
}
|
|
970
|
-
if (this.
|
|
965
|
+
if (this.logoSummarySelection.includes(clusterCol?.get(i)!))
|
|
971
966
|
return true;
|
|
972
967
|
return false;
|
|
973
968
|
};
|
|
@@ -982,7 +977,7 @@ export class PeptidesModel {
|
|
|
982
977
|
filter.init((i) => {
|
|
983
978
|
let result = true;
|
|
984
979
|
for (const position of positionList) {
|
|
985
|
-
const aarList = this.
|
|
980
|
+
const aarList = this.invariantMapSelection[position];
|
|
986
981
|
result &&= aarList.length == 0 || aarList.includes(this.df.get(position, i));
|
|
987
982
|
}
|
|
988
983
|
return result;
|
|
@@ -1077,9 +1072,9 @@ export class PeptidesModel {
|
|
|
1077
1072
|
|
|
1078
1073
|
this.df.tags[C.PEPTIDES_ANALYSIS] = 'true';
|
|
1079
1074
|
const scaledGridCol = this.sourceGrid.col(C.COLUMNS_NAMES.ACTIVITY_SCALED)!;
|
|
1080
|
-
scaledGridCol.name =
|
|
1075
|
+
scaledGridCol.name = scaledGridCol.column!.getTag('gridName');
|
|
1081
1076
|
scaledGridCol.format = '#.000';
|
|
1082
|
-
this.sourceGrid.columns.setOrder([
|
|
1077
|
+
this.sourceGrid.columns.setOrder([scaledGridCol.name]);
|
|
1083
1078
|
this.sourceGrid.props.allowColSelection = false;
|
|
1084
1079
|
|
|
1085
1080
|
this.df.temp[C.EMBEDDING_STATUS] = false;
|
package/src/package-test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
|
-
import {runTests, tests} from '@datagrok-libraries/utils/src/test';
|
|
2
|
+
import {runTests, tests, TestContext} from '@datagrok-libraries/utils/src/test';
|
|
3
3
|
|
|
4
4
|
import './tests/core';
|
|
5
5
|
import './tests/peptide-space-test';
|
|
@@ -10,8 +10,9 @@ export {tests};
|
|
|
10
10
|
//name: test
|
|
11
11
|
//input: string category {optional: true}
|
|
12
12
|
//input: string test {optional: true}
|
|
13
|
+
//input: object testContext {optional: true}
|
|
13
14
|
//output: dataframe result
|
|
14
|
-
export async function test(category: string, test: string): Promise<DG.DataFrame> {
|
|
15
|
-
const data = await runTests({category, test
|
|
15
|
+
export async function test(category: string, test: string, testContext: TestContext): Promise<DG.DataFrame> {
|
|
16
|
+
const data = await runTests({category, test, testContext});
|
|
16
17
|
return DG.DataFrame.fromObjects(data)!;
|
|
17
18
|
}
|
package/src/tests/core.ts
CHANGED
|
@@ -13,14 +13,14 @@ category('Core', () => {
|
|
|
13
13
|
let simpleTable: DG.DataFrame;
|
|
14
14
|
let simpleActivityCol: DG.Column<number>;
|
|
15
15
|
let simpleAlignedSeqCol: DG.Column<string>;
|
|
16
|
-
let
|
|
16
|
+
let simpleScaledCol: DG.Column<number>;
|
|
17
17
|
let scalingFormula: (x: number) => number;
|
|
18
18
|
let simpleScaledColName: string;
|
|
19
19
|
|
|
20
20
|
let complexTable: DG.DataFrame;
|
|
21
21
|
let complexActivityCol: DG.Column<number>;
|
|
22
22
|
let complexAlignedSeqCol: DG.Column<string>;
|
|
23
|
-
let
|
|
23
|
+
let complexScaledCol: DG.Column<number>;
|
|
24
24
|
let complexScaledColName: string;
|
|
25
25
|
const alignedSequenceCol = 'AlignedSequence';
|
|
26
26
|
|
|
@@ -35,10 +35,9 @@ category('Core', () => {
|
|
|
35
35
|
simpleAlignedSeqCol.tags[C.TAGS.ALPHABET] = 'PT';
|
|
36
36
|
simpleAlignedSeqCol.tags[DG.TAGS.UNITS] = 'fasta';
|
|
37
37
|
simpleAlignedSeqCol.tags['aligned'] = 'SEQ.MSA';
|
|
38
|
-
|
|
38
|
+
simpleScaledCol = scaleActivity('-lg', simpleActivityCol);
|
|
39
39
|
|
|
40
|
-
model = await startAnalysis(
|
|
41
|
-
simpleActivityCol, simpleAlignedSeqCol, null, simpleTable, scalingFormula, simpleScaledColName, '-lg', []);
|
|
40
|
+
model = await startAnalysis(simpleActivityCol, simpleAlignedSeqCol, null, simpleTable, simpleScaledCol, '-lg');
|
|
42
41
|
expect(model instanceof PeptidesModel, true);
|
|
43
42
|
|
|
44
43
|
if (model != null) {
|
|
@@ -57,10 +56,10 @@ category('Core', () => {
|
|
|
57
56
|
complexAlignedSeqCol.tags[DG.TAGS.UNITS] = 'separator';
|
|
58
57
|
complexAlignedSeqCol.tags['aligned'] = 'SEQ.MSA';
|
|
59
58
|
complexAlignedSeqCol.tags[C.TAGS.SEPARATOR] = '/';
|
|
60
|
-
|
|
59
|
+
complexScaledCol = scaleActivity('-lg', complexActivityCol);
|
|
61
60
|
|
|
62
61
|
model = await startAnalysis(
|
|
63
|
-
complexActivityCol, complexAlignedSeqCol, null, complexTable,
|
|
62
|
+
complexActivityCol, complexAlignedSeqCol, null, complexTable, complexScaledCol, '-lg');
|
|
64
63
|
expect(model instanceof PeptidesModel, true);
|
|
65
64
|
|
|
66
65
|
if (model != null) {
|
|
@@ -78,10 +77,9 @@ category('Core', () => {
|
|
|
78
77
|
simpleAlignedSeqCol.tags[C.TAGS.ALPHABET] = 'PT';
|
|
79
78
|
simpleAlignedSeqCol.tags[DG.TAGS.UNITS] = 'fasta';
|
|
80
79
|
simpleAlignedSeqCol.tags['aligned'] = 'SEQ.MSA';
|
|
81
|
-
|
|
80
|
+
simpleScaledCol = scaleActivity('-lg', simpleActivityCol);
|
|
82
81
|
|
|
83
|
-
model = await startAnalysis(
|
|
84
|
-
simpleActivityCol, simpleAlignedSeqCol, null, simpleTable, scalingFormula, simpleScaledColName, '-lg', []);
|
|
82
|
+
model = await startAnalysis(simpleActivityCol, simpleAlignedSeqCol, null, simpleTable, simpleScaledCol, '-lg');
|
|
85
83
|
let v = grok.shell.getTableView('Peptides analysis');
|
|
86
84
|
const d = v.dataFrame;
|
|
87
85
|
const layout = v.saveLayout();
|
package/src/utils/misc.ts
CHANGED
|
@@ -18,13 +18,10 @@ export function getSeparator(col: DG.Column<string>): string {
|
|
|
18
18
|
return col.getTag(C.TAGS.SEPARATOR) ?? '';
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export function scaleActivity(
|
|
22
|
-
): [DG.DataFrame, (x: number) => number, string] {
|
|
23
|
-
const tempDf = DG.DataFrame.create(activityCol.length);
|
|
24
|
-
|
|
21
|
+
export function scaleActivity(scaling: string, activityCol: DG.Column<number>): DG.Column<number> {
|
|
25
22
|
let formula = (x: number): number => x;
|
|
26
23
|
let newColName = 'activity';
|
|
27
|
-
switch (
|
|
24
|
+
switch (scaling) {
|
|
28
25
|
case 'none':
|
|
29
26
|
break;
|
|
30
27
|
case 'lg':
|
|
@@ -36,15 +33,16 @@ export function scaleActivity(activityScaling: string, activityCol: DG.Column<nu
|
|
|
36
33
|
newColName = `-Log10(${newColName})`;
|
|
37
34
|
break;
|
|
38
35
|
default:
|
|
39
|
-
throw new Error(`ScalingError: method \`${
|
|
36
|
+
throw new Error(`ScalingError: method \`${scaling}\` is not available.`);
|
|
40
37
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
const scaledCol = DG.Column.float(C.COLUMNS_NAMES.ACTIVITY_SCALED, activityCol.length).init((i) => {
|
|
39
|
+
const val = activityCol.get(i);
|
|
40
|
+
return val ? formula(val) : val;
|
|
41
|
+
});
|
|
42
|
+
scaledCol.semType = C.SEM_TYPES.ACTIVITY_SCALED;
|
|
43
|
+
scaledCol.setTag('gridName', newColName);
|
|
46
44
|
|
|
47
|
-
return
|
|
45
|
+
return scaledCol;
|
|
48
46
|
}
|
|
49
47
|
|
|
50
48
|
export function calculateBarsData(columns: DG.Column<string>[], selection: DG.BitSet): type.MonomerDfStats {
|
package/src/widgets/peptides.ts
CHANGED
|
@@ -26,32 +26,18 @@ export async function analyzePeptidesWidget(df: DG.DataFrame, col: DG.Column): P
|
|
|
26
26
|
if (funcs.length == 0)
|
|
27
27
|
return new DG.Widget(ui.label('Helm package is missing or out of date. Please install the latest version.'));
|
|
28
28
|
|
|
29
|
-
let
|
|
30
|
-
let scaledDf: DG.DataFrame;
|
|
31
|
-
let newScaledColName: string;
|
|
32
|
-
let scalingFormula: (x: number) => number;
|
|
29
|
+
let scaledCol: DG.Column<number>;
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const defaultActivityColumn: DG.Column<number> | null = df.col('activity') || df.col('IC50') || tempCol;
|
|
31
|
+
const defaultActivityColumn: DG.Column<number> | null =
|
|
32
|
+
df.col('activity') || df.col('IC50') || DG.Utils.firstOrNull(df.columns.numerical);;
|
|
38
33
|
const histogramHost = ui.div([], {id: 'pep-hist-host'});
|
|
39
34
|
|
|
40
|
-
const indexes: number[] = [];
|
|
41
|
-
const f = df.filter;
|
|
42
|
-
df.onFilterChanged.subscribe(() => {
|
|
43
|
-
for (let i = 0; i < f.length; ++i) {
|
|
44
|
-
if (f.get(i))
|
|
45
|
-
indexes.push(i);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
35
|
const activityScalingMethod = ui.choiceInput(
|
|
49
36
|
'Scaling', 'none', ['none', 'lg', '-lg'],
|
|
50
37
|
async (currentMethod: string): Promise<void> => {
|
|
51
|
-
|
|
52
|
-
scaleActivity(currentMethod, activityColumnChoice.value!, indexes.length !== 0 ? indexes : undefined);
|
|
38
|
+
scaledCol = scaleActivity(currentMethod, activityColumnChoice.value!);
|
|
53
39
|
|
|
54
|
-
const hist =
|
|
40
|
+
const hist = DG.DataFrame.fromColumns([scaledCol]).plot.histogram({
|
|
55
41
|
filteringEnabled: false,
|
|
56
42
|
valueColumnName: C.COLUMNS_NAMES.ACTIVITY_SCALED,
|
|
57
43
|
legendVisibility: 'Never',
|
|
@@ -65,9 +51,9 @@ export async function analyzePeptidesWidget(df: DG.DataFrame, col: DG.Column): P
|
|
|
65
51
|
});
|
|
66
52
|
activityScalingMethod.setTooltip('Function to apply for each value in activity column');
|
|
67
53
|
|
|
68
|
-
const activityScalingMethodState = (
|
|
54
|
+
const activityScalingMethodState = (): void => {
|
|
69
55
|
activityScalingMethod.enabled = (activityColumnChoice.value ?? false) &&
|
|
70
|
-
DG.Stats.fromColumn(activityColumnChoice.value
|
|
56
|
+
DG.Stats.fromColumn(activityColumnChoice.value!).min > 0;
|
|
71
57
|
activityScalingMethod.fireChanged();
|
|
72
58
|
};
|
|
73
59
|
const activityColumnChoice = ui.columnInput('Activity', df, defaultActivityColumn, activityScalingMethodState);
|
|
@@ -77,9 +63,14 @@ export async function analyzePeptidesWidget(df: DG.DataFrame, col: DG.Column): P
|
|
|
77
63
|
|
|
78
64
|
const inputsList = [activityColumnChoice, activityScalingMethod, clustersColumnChoice];
|
|
79
65
|
|
|
66
|
+
const bitsetChanged = df.filter.onChanged.subscribe(() => {
|
|
67
|
+
activityScalingMethodState();
|
|
68
|
+
})
|
|
69
|
+
|
|
80
70
|
const startBtn = ui.button('Launch SAR', async () => {
|
|
81
|
-
await startAnalysis(activityColumnChoice.value
|
|
82
|
-
|
|
71
|
+
await startAnalysis(activityColumnChoice.value!, col, clustersColumnChoice.value, df, scaledCol,
|
|
72
|
+
activityScalingMethod.value ?? 'none');
|
|
73
|
+
bitsetChanged.unsubscribe();
|
|
83
74
|
});
|
|
84
75
|
startBtn.style.alignSelf = 'center';
|
|
85
76
|
|
|
@@ -99,43 +90,30 @@ export async function analyzePeptidesWidget(df: DG.DataFrame, col: DG.Column): P
|
|
|
99
90
|
);
|
|
100
91
|
}
|
|
101
92
|
|
|
102
|
-
export async function startAnalysis(activityColumn: DG.Column<number
|
|
103
|
-
clustersColumn: DG.Column | null, currentDf: DG.DataFrame,
|
|
104
|
-
|
|
93
|
+
export async function startAnalysis(activityColumn: DG.Column<number>, peptidesCol: DG.Column<string>,
|
|
94
|
+
clustersColumn: DG.Column | null, currentDf: DG.DataFrame, scaledCol: DG.Column<number>, scaling: string,
|
|
95
|
+
): Promise<PeptidesModel | null> {
|
|
105
96
|
const progress = DG.TaskBarProgressIndicator.create('Loading SAR...');
|
|
106
97
|
let model = null;
|
|
107
|
-
if (activityColumn
|
|
108
|
-
const f = currentDf.filter;
|
|
98
|
+
if (activityColumn.type === DG.TYPE.FLOAT || activityColumn.type === DG.TYPE.INT) {
|
|
109
99
|
//prepare new DF
|
|
110
|
-
const newDf = DG.DataFrame.create(
|
|
111
|
-
const
|
|
112
|
-
let activityCol: DG.Column<number> | null = null;
|
|
100
|
+
const newDf = DG.DataFrame.create(currentDf.rowCount);
|
|
101
|
+
const newDfCols = newDf.columns;
|
|
113
102
|
for (const col of currentDf.columns.toList()) {
|
|
114
|
-
|
|
115
|
-
if (col === activityColumn)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
virtualCol = newDf.columns.addNewVirtual(
|
|
121
|
-
C.COLUMNS_NAMES.MACROMOLECULE, (i) => peptidesCol.get(getIndex(i)!), DG.TYPE.STRING);
|
|
122
|
-
} else
|
|
123
|
-
virtualCol = newDf.columns.addNewVirtual(col.name, (i) => col.get(getIndex(i)!), col.type as DG.TYPE);
|
|
124
|
-
virtualCol.setTag(C.TAGS.VISIBLE, '0');
|
|
103
|
+
const currentCol = newDfCols.add(col);
|
|
104
|
+
if (col === activityColumn)
|
|
105
|
+
currentCol.name = C.COLUMNS_NAMES.ACTIVITY;
|
|
106
|
+
else if (col === peptidesCol)
|
|
107
|
+
currentCol.name = C.COLUMNS_NAMES.MACROMOLECULE;
|
|
108
|
+
col.setTag(C.TAGS.VISIBLE, '0');
|
|
125
109
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const val = activityCol!.get(getIndex(i)!);
|
|
129
|
-
return val ? scaleNum(val) : val;
|
|
130
|
-
}, DG.TYPE.FLOAT);
|
|
131
|
-
activityScaledCol.semType = C.SEM_TYPES.ACTIVITY_SCALED;
|
|
110
|
+
activityColumn.semType = C.SEM_TYPES.ACTIVITY;
|
|
111
|
+
newDfCols.add(scaledCol);
|
|
132
112
|
newDf.name = 'Peptides analysis';
|
|
133
|
-
newDf.tags[C.COLUMNS_NAMES.ACTIVITY_SCALED] = newScaledColName;
|
|
134
113
|
if (clustersColumn) {
|
|
135
114
|
newDf.getCol(clustersColumn.name).name = C.COLUMNS_NAMES.CLUSTERS;
|
|
136
115
|
newDf.tags[C.TAGS.CLUSTERS] = C.COLUMNS_NAMES.CLUSTERS;
|
|
137
116
|
}
|
|
138
|
-
// newDf.tags[C.PEPTIDES_ANALYSIS] = 'true';
|
|
139
117
|
newDf.tags['scaling'] = scaling;
|
|
140
118
|
|
|
141
119
|
let monomerType = 'HELM_AA';
|
|
@@ -148,10 +126,9 @@ export async function startAnalysis(activityColumn: DG.Column<number> | null, pe
|
|
|
148
126
|
}
|
|
149
127
|
|
|
150
128
|
newDf.setTag('monomerType', monomerType);
|
|
151
|
-
|
|
152
129
|
model = await PeptidesModel.getInstance(newDf);
|
|
153
130
|
} else
|
|
154
|
-
grok.shell.error('The activity column must be of
|
|
131
|
+
grok.shell.error('The activity column must be of numeric type!');
|
|
155
132
|
progress.close();
|
|
156
133
|
return model;
|
|
157
134
|
}
|
package/{test-Peptides-916a90d7d48b-44350c85.html → test-Peptides-916a90d7d48b-d2f9014f.html}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<html><head><meta charset="utf-8"/><title>Peptides Test Report. Datagrok version datagrok/datagrok:latest SHA=916a90d7d48b. Commit
|
|
1
|
+
<html><head><meta charset="utf-8"/><title>Peptides Test Report. Datagrok version datagrok/datagrok:latest SHA=916a90d7d48b. Commit d2f9014f.</title><style type="text/css">html,
|
|
2
2
|
body {
|
|
3
3
|
font-family: Arial, Helvetica, sans-serif;
|
|
4
4
|
font-size: 1rem;
|
|
@@ -229,9 +229,9 @@ header {
|
|
|
229
229
|
font-size: 1rem;
|
|
230
230
|
padding: 0 0.5rem;
|
|
231
231
|
}
|
|
232
|
-
</style></head><body><div id="jesthtml-content"><header><h1 id="title">Peptides Test Report. Datagrok version datagrok/datagrok:latest SHA=916a90d7d48b. Commit
|
|
233
|
-
Test result : Failed :
|
|
234
|
-
Test result : Failed :
|
|
232
|
+
</style></head><body><div id="jesthtml-content"><header><h1 id="title">Peptides Test Report. Datagrok version datagrok/datagrok:latest SHA=916a90d7d48b. Commit d2f9014f.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-10-18 15:00:21</div><div id="summary"><div id="suite-summary"><div class="summary-total">Suites (1)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed">1 failed</div><div class="summary-pending summary-empty">0 pending</div></div><div id="test-summary"><div class="summary-total">Tests (1)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed">1 failed</div><div class="summary-pending summary-empty">0 pending</div></div></div></div><div id="suite-1" class="suite-container"><div class="suite-info"><div class="suite-path">/home/runner/work/public/public/packages/Peptides/src/__jest__/remote.test.ts</div><div class="suite-time warn">96.772s</div></div><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename"> </div><div class="test-title">TEST</div><div class="test-status">failed</div><div class="test-duration">78.593s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Failed : 459 : Peptides.Core.Start analysis: simple : Unable to get project asset "getMonomerLib"
|
|
233
|
+
Test result : Failed : 247 : Peptides.Core.Start analysis: сomplex : Unable to get project asset "getMonomerLib"
|
|
234
|
+
Test result : Failed : 532 : Peptides.Core.Save and load project : Unable to get project asset "getMonomerLib"
|
|
235
235
|
|
|
236
236
|
at /home/runner/work/public/public/packages/Peptides/src/__jest__/remote.test.ts:68:20
|
|
237
237
|
at Generator.next (<anonymous>)
|
|
@@ -249,28 +249,28 @@ Test result : Failed : 382 : Peptides.Core.Save and load project : Unable to get
|
|
|
249
249
|
at new Promise (<anonymous>)</pre><pre class="suite-consolelog-item-message">Testing Peptides package</pre></div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at /home/runner/work/public/public/packages/Peptides/src/__jest__/remote.test.ts:66:11
|
|
250
250
|
at Generator.next (<anonymous>)
|
|
251
251
|
at fulfilled (/home/runner/work/public/public/packages/Peptides/src/__jest__/remote.test.ts:31:58)
|
|
252
|
-
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success :
|
|
253
|
-
Test result : Success :
|
|
254
|
-
Test result : Success :
|
|
255
|
-
Test result : Success :
|
|
256
|
-
Test result : Success :
|
|
257
|
-
Test result : Success :
|
|
258
|
-
Test result : Success :
|
|
259
|
-
Test result : Success :
|
|
260
|
-
Test result : Success :
|
|
261
|
-
Test result : Success :
|
|
262
|
-
Test result : Success :
|
|
263
|
-
Test result : Success :
|
|
264
|
-
Test result : Success :
|
|
265
|
-
Test result : Success :
|
|
266
|
-
Test result : Success :
|
|
267
|
-
Test result : Success :
|
|
268
|
-
Test result : Success :
|
|
269
|
-
Test result : Success :
|
|
270
|
-
Test result : Success :
|
|
271
|
-
Test result : Success :
|
|
272
|
-
Test result : Success :
|
|
273
|
-
Test result : Success :
|
|
274
|
-
Test result : Success :
|
|
275
|
-
Test result : Success :
|
|
252
|
+
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success : 1 : Peptides.Peptide space.test_table.is_not_empty : OK
|
|
253
|
+
Test result : Success : 5431 : Peptides.Peptide space.PeptideSimilaritySpaceWidget.is_drawing : OK
|
|
254
|
+
Test result : Success : 3 : Peptides.Peptide space.test_deminsionality_reducer : OK
|
|
255
|
+
Test result : Success : 0 : Peptides.Peptide space.test_peptide_similarity_space_viewer : OK
|
|
256
|
+
Test result : Success : 4271 : Peptides.Peptide space.peptide_space.DimensinalityReducer.UMAP.Levenshtein.is_numeric : OK
|
|
257
|
+
Test result : Success : 3805 : Peptides.Peptide space.peptide_space.DimensinalityReducer.UMAP.Jaro-Winkler.is_numeric : OK
|
|
258
|
+
Test result : Success : 3355 : Peptides.Peptide space.peptide_space.DimensinalityReducer.t-SNE.Levenshtein.is_numeric : OK
|
|
259
|
+
Test result : Success : 3861 : Peptides.Peptide space.peptide_space.DimensinalityReducer.t-SNE.Jaro-Winkler.is_numeric : OK
|
|
260
|
+
Test result : Success : 202 : Peptides.Peptide space.peptide_space.DimensinalityReducer.SPE.Levenshtein.is_numeric : OK
|
|
261
|
+
Test result : Success : 687 : Peptides.Peptide space.peptide_space.DimensinalityReducer.SPE.Jaro-Winkler.is_numeric : OK
|
|
262
|
+
Test result : Success : 337 : Peptides.Peptide space.peptide_space.DimensinalityReducer.pSPE.Levenshtein.is_numeric : OK
|
|
263
|
+
Test result : Success : 639 : Peptides.Peptide space.peptide_space.DimensinalityReducer.pSPE.Jaro-Winkler.is_numeric : OK
|
|
264
|
+
Test result : Success : 7964 : Peptides.Peptide space.peptide_space.DimensinalityReducer.OriginalSPE.Levenshtein.is_numeric : OK
|
|
265
|
+
Test result : Success : 8785 : Peptides.Peptide space.peptide_space.DimensinalityReducer.OriginalSPE.Jaro-Winkler.is_numeric : OK
|
|
266
|
+
Test result : Success : 2114 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.UMAP.Levenshtein.is_proper : OK
|
|
267
|
+
Test result : Success : 3464 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.UMAP.Jaro-Winkler.is_proper : OK
|
|
268
|
+
Test result : Success : 3603 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.t-SNE.Levenshtein.is_proper : OK
|
|
269
|
+
Test result : Success : 4096 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.t-SNE.Jaro-Winkler.is_proper : OK
|
|
270
|
+
Test result : Success : 234 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.SPE.Levenshtein.is_proper : OK
|
|
271
|
+
Test result : Success : 733 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.SPE.Jaro-Winkler.is_proper : OK
|
|
272
|
+
Test result : Success : 349 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.pSPE.Levenshtein.is_proper : OK
|
|
273
|
+
Test result : Success : 679 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.pSPE.Jaro-Winkler.is_proper : OK
|
|
274
|
+
Test result : Success : 8408 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.OriginalSPE.Levenshtein.is_proper : OK
|
|
275
|
+
Test result : Success : 8267 : Peptides.Peptide space.peptide_space.PeptideSimilaritySpaceViewer.OriginalSPE.Jaro-Winkler.is_proper : OK
|
|
276
276
|
</pre></div></div></div></div></body></html>
|