@datagrok/bio 1.7.5 → 1.7.8
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/detectors.js +5 -5
- package/dist/package-test.js +247 -121
- package/dist/package.js +182 -111
- package/files/tests/testActivityCliffs.csv +311 -0
- package/files/tests/testCereal.csv +78 -0
- package/package.json +2 -2
- package/src/__jest__/remote.test.ts +30 -16
- package/src/__jest__/test-node.ts +1 -1
- package/src/const.ts +19 -19
- package/src/package.ts +3 -2
- package/src/tests/convert-test.ts +34 -10
- package/src/tests/detectors-test.ts +13 -1
- package/src/tests/splitters-test.ts +26 -0
- package/src/utils/cell-renderer.ts +0 -1
- package/src/utils/convert.ts +19 -5
- package/src/utils/multiple-sequence-alignment.ts +3 -2
- package/src/utils/utils.ts +10 -8
- package/test-Bio-34f75e5127b8-cdc230d8.html +339 -0
- package/test-Bio-34f75e5127b8-0507068d.html +0 -256
|
@@ -113,6 +113,8 @@ MWRSWY-CKHP
|
|
|
113
113
|
testIdCsv = 'testIdCsv',
|
|
114
114
|
testSmilesCsv = 'testSmilesCsv',
|
|
115
115
|
testSmiles2Csv = 'testSmiles2Csv',
|
|
116
|
+
testCerealCsv = 'testCerealCsv',
|
|
117
|
+
testActivityCliffsCsv = 'testActivityCliffsCsv',
|
|
116
118
|
}
|
|
117
119
|
|
|
118
120
|
const samples: { [key: string]: string } = {
|
|
@@ -128,6 +130,8 @@ MWRSWY-CKHP
|
|
|
128
130
|
'testIdCsv': 'System:AppData/Bio/tests/testId.csv',
|
|
129
131
|
'testSmilesCsv': 'System:AppData/Bio/tests/testSmiles.csv',
|
|
130
132
|
'testSmiles2Csv': 'System:AppData/Bio/tests/testSmiles2.csv',
|
|
133
|
+
'testActivityCliffsCsv': 'System:AppData/Bio/tests/testActivityCliffs.csv', // smiles
|
|
134
|
+
'testCerealCsv': 'System:AppData/Bio/tests/testCereal.csv',
|
|
131
135
|
};
|
|
132
136
|
|
|
133
137
|
const _samplesDfs: { [key: string]: Promise<DG.DataFrame> } = {};
|
|
@@ -303,8 +307,16 @@ MWRSWY-CKHP
|
|
|
303
307
|
await _testNeg(readSamples(Samples.testSmiles2Csv), 'SMILES');
|
|
304
308
|
});
|
|
305
309
|
|
|
310
|
+
test('samplesTestActivityCliffsNegativeSmiles', async () => {
|
|
311
|
+
await _testNeg(readSamples(Samples.testActivityCliffsCsv), 'smiles');
|
|
312
|
+
});
|
|
313
|
+
|
|
306
314
|
test('samplesFastaPtPosSequence', async () => {
|
|
307
|
-
await
|
|
315
|
+
await _testPos(readSamples(Samples.fastaPtCsv), 'sequence', 'fasta:SEQ:PT');
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
test('samplesTestCerealNegativeCerealName', async () => {
|
|
319
|
+
await _testNeg(readSamples(Samples.testCerealCsv), 'cereal_name');
|
|
308
320
|
});
|
|
309
321
|
});
|
|
310
322
|
|
|
@@ -21,10 +21,36 @@ category('splitters', () => {
|
|
|
21
21
|
['meI', 'hHis', 'Aca', 'N', 'T', 'dK', 'Thr_PO3H2', 'Aca',
|
|
22
22
|
'D-Tyr_Et', 'D-Dap', 'dV', 'E', 'N', 'pnG', 'Phe_4Me']
|
|
23
23
|
],
|
|
24
|
+
// HELM editor dialog returns HELM string with multichar monomer names in square brackets
|
|
25
|
+
helm3: [
|
|
26
|
+
'PEPTIDE1{[meI].[hHis].[Aca].N.T.[dK].[Thr_PO3H2].[Aca].[D-Tyr_Et].[D-Dap].[dV].E.N.[pnG].[Phe_4Me]}$$$',
|
|
27
|
+
['meI', 'hHis', 'Aca', 'N', 'T', 'dK', 'Thr_PO3H2', 'Aca',
|
|
28
|
+
'D-Tyr_Et', 'D-Dap', 'dV', 'E', 'N', 'pnG', 'Phe_4Me']
|
|
29
|
+
],
|
|
30
|
+
|
|
31
|
+
testHelm1: [
|
|
32
|
+
'RNA1{R(U)P.R(T)P.R(G)P.R(C)P.R(A)}$$$$',
|
|
33
|
+
['R(U)P', 'R(T)P', 'R(G)P', 'R(C)P', 'R(A)']
|
|
34
|
+
],
|
|
35
|
+
|
|
36
|
+
testHelm2: [
|
|
37
|
+
'RNA1{P.R(U)P.R(T)}$$$$',
|
|
38
|
+
['P', 'R(U)P', 'R(T)']
|
|
39
|
+
],
|
|
40
|
+
testHelm3: [
|
|
41
|
+
'RNA1{P.R(U).P.R(T)}$$$$',
|
|
42
|
+
['P', 'R(U)', 'P', 'R(T)']
|
|
43
|
+
],
|
|
24
44
|
};
|
|
25
45
|
|
|
26
46
|
test('helm1', async () => { await _testHelmSplitter(data.helm1[0], data.helm1[1]); });
|
|
27
47
|
test('helm2', async () => { await _testHelmSplitter(data.helm2[0], data.helm2[1]); });
|
|
48
|
+
test('helm3-multichar', async () => { await _testHelmSplitter(data.helm3[0], data.helm3[1]); });
|
|
49
|
+
|
|
50
|
+
// examples from Helm/tests/test.csv file
|
|
51
|
+
test('testHelm1', async () => { await _testHelmSplitter(data.testHelm1[0], data.testHelm1[1]); });
|
|
52
|
+
test('testHelm2', async () => { await _testHelmSplitter(data.testHelm2[0], data.testHelm2[1]); });
|
|
53
|
+
test('testHelm3', async () => { await _testHelmSplitter(data.testHelm3[0], data.testHelm3[1]); });
|
|
28
54
|
});
|
|
29
55
|
|
|
30
56
|
export async function _testHelmSplitter(src: string, tgt: string[]) {
|
package/src/utils/convert.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import * as ui from 'datagrok-api/ui';
|
|
3
3
|
import * as grok from 'datagrok-api/grok';
|
|
4
|
+
import $ from 'cash-dom';
|
|
4
5
|
|
|
5
6
|
import {Subscription} from 'rxjs';
|
|
6
7
|
import {NotationConverter, NOTATION} from '@datagrok-libraries/bio/src/utils/notation-converter';
|
|
@@ -27,14 +28,26 @@ export function convert(col: DG.Column): void {
|
|
|
27
28
|
const filteredNotations = notations.filter((e) => e !== current);
|
|
28
29
|
const targetNotationInput = ui.choiceInput('Convert to', filteredNotations[0], filteredNotations);
|
|
29
30
|
|
|
30
|
-
const separatorInput = ui.choiceInput('
|
|
31
|
+
const separatorInput = ui.choiceInput('Separator', separatorArray[0], separatorArray);
|
|
32
|
+
|
|
33
|
+
// hide the separator input for non-SEPARATOR target notations
|
|
34
|
+
if (targetNotationInput.value !== NOTATION.SEPARATOR)
|
|
35
|
+
$(separatorInput.root).hide();
|
|
36
|
+
else
|
|
37
|
+
$(separatorInput.root).show();
|
|
38
|
+
|
|
39
|
+
targetNotationInput.onChanged(async () => {
|
|
40
|
+
if (targetNotationInput.value !== NOTATION.SEPARATOR)
|
|
41
|
+
$(separatorInput.root).hide();
|
|
42
|
+
else
|
|
43
|
+
$(separatorInput.root).show();
|
|
44
|
+
});
|
|
31
45
|
|
|
32
46
|
if (convertDialog == null) {
|
|
33
47
|
convertDialog = ui.dialog('Convert sequence notation')
|
|
34
48
|
.add(ui.div([
|
|
35
49
|
ui.h1('Current notation: ' + current),
|
|
36
50
|
targetNotationInput.root,
|
|
37
|
-
// TODO: conditional separator input
|
|
38
51
|
separatorInput.root
|
|
39
52
|
]))
|
|
40
53
|
.onOK(async () => {
|
|
@@ -46,18 +59,19 @@ export function convert(col: DG.Column): void {
|
|
|
46
59
|
.show();
|
|
47
60
|
|
|
48
61
|
convertDialogSubs.push(convertDialog.onClose.subscribe((value) => {
|
|
49
|
-
convertDialogSubs.forEach((s) => {s.unsubscribe(); });
|
|
62
|
+
convertDialogSubs.forEach((s) => { s.unsubscribe(); });
|
|
50
63
|
convertDialogSubs = [];
|
|
51
64
|
convertDialog = null;
|
|
52
65
|
}));
|
|
53
66
|
}
|
|
54
67
|
}
|
|
55
68
|
|
|
56
|
-
export async function convertDo(
|
|
69
|
+
export async function convertDo(
|
|
70
|
+
srcCol: DG.Column, targetNotation: NOTATION, separator: string | null
|
|
71
|
+
): Promise<DG.Column> {
|
|
57
72
|
const converter = new NotationConverter(srcCol);
|
|
58
73
|
const newColumn = converter.convert(targetNotation, separator);
|
|
59
74
|
srcCol.dataFrame.columns.add(newColumn);
|
|
60
75
|
await grok.data.detectSemanticTypes(srcCol.dataFrame);
|
|
61
76
|
return newColumn;
|
|
62
77
|
}
|
|
63
|
-
|
|
@@ -30,9 +30,10 @@ function _fastaToStrings(fasta: string): string[] {
|
|
|
30
30
|
*
|
|
31
31
|
* @param {DG.Column} srcCol Column with sequences.
|
|
32
32
|
* @param {boolean} isAligned Whether the column is aligned.
|
|
33
|
+
* @param {string} unUsedName
|
|
33
34
|
* @return {Promise<DG.Column>} Aligned sequences.
|
|
34
35
|
*/
|
|
35
|
-
export async function runKalign(srcCol: DG.Column, isAligned = false): Promise<DG.Column> {
|
|
36
|
+
export async function runKalign(srcCol: DG.Column, isAligned = false, unUsedName: string = ''): Promise<DG.Column> {
|
|
36
37
|
let sequences = srcCol.toList();
|
|
37
38
|
|
|
38
39
|
if (isAligned)
|
|
@@ -56,7 +57,7 @@ export async function runKalign(srcCol: DG.Column, isAligned = false): Promise<D
|
|
|
56
57
|
throw new Error(`kalign output no result`);
|
|
57
58
|
|
|
58
59
|
const aligned = _fastaToStrings(buf).slice(0, sequences.length);
|
|
59
|
-
const tgtCol = DG.Column.fromStrings(
|
|
60
|
+
const tgtCol = DG.Column.fromStrings(unUsedName, aligned);
|
|
60
61
|
|
|
61
62
|
// units
|
|
62
63
|
const srcUnits = srcCol.getTag(DG.TAGS.UNITS);
|
package/src/utils/utils.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
2
|
import {WebLogo, SplitterFunc} from '@datagrok-libraries/bio/src/viewers/web-logo';
|
|
3
3
|
import * as grok from 'datagrok-api/grok';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
CAP_GROUP_NAME, CAP_GROUP_SMILES, jsonSdfMonomerLibDict, MONOMER_SYMBOL,
|
|
6
|
+
RGROUP_ALTER_ID, RGROUP_FIELD, RGROUP_LABEL, SDF_MONOMER_NAME
|
|
7
|
+
} from '../const';
|
|
5
8
|
|
|
6
9
|
export const HELM_CORE_LIB_FILENAME = '/samples/HELMCoreLibrary.json';
|
|
7
10
|
export const HELM_CORE_LIB_MONOMER_SYMBOL = 'symbol';
|
|
@@ -50,7 +53,7 @@ export function createJsonMonomerLibFromSdf(table: DG.DataFrame): any {
|
|
|
50
53
|
const resultLib = [];
|
|
51
54
|
for (let i = 0; i < table.rowCount; i++) {
|
|
52
55
|
const monomer: { [key: string]: string | any } = {};
|
|
53
|
-
Object.keys(jsonSdfMonomerLibDict).forEach(key => {
|
|
56
|
+
Object.keys(jsonSdfMonomerLibDict).forEach((key) => {
|
|
54
57
|
if (key === MONOMER_SYMBOL) {
|
|
55
58
|
const monomerSymbol = table.get(jsonSdfMonomerLibDict[key], i);
|
|
56
59
|
monomer[key] = monomerSymbol === '.' ? table.get(SDF_MONOMER_NAME, i) : monomerSymbol;
|
|
@@ -59,21 +62,20 @@ export function createJsonMonomerLibFromSdf(table: DG.DataFrame): any {
|
|
|
59
62
|
const jsonRgroups: any[] = [];
|
|
60
63
|
rgroups.forEach((g: string) => {
|
|
61
64
|
const rgroup: { [key: string]: string | any } = {};
|
|
62
|
-
const altAtom = g.substring(g.lastIndexOf(
|
|
63
|
-
|
|
65
|
+
const altAtom = g.substring(g.lastIndexOf(']') + 1);
|
|
66
|
+
const radicalNum = g.match(/\[R(\d+)\]/)![1];
|
|
64
67
|
rgroup[CAP_GROUP_SMILES] = altAtom === 'H' ? `[*:${radicalNum}][H]` : `O[*:${radicalNum}]`;
|
|
65
68
|
rgroup[RGROUP_ALTER_ID] = altAtom === 'H' ? `R${radicalNum}-H` : `R${radicalNum}-OH`;
|
|
66
69
|
rgroup[CAP_GROUP_NAME] = altAtom === 'H' ? `H` : `OH`;
|
|
67
70
|
rgroup[RGROUP_LABEL] = `R${radicalNum}`;
|
|
68
71
|
jsonRgroups.push(rgroup);
|
|
69
|
-
})
|
|
72
|
+
});
|
|
70
73
|
monomer[key] = jsonRgroups;
|
|
71
74
|
} else {
|
|
72
|
-
if((jsonSdfMonomerLibDict as { [key: string]: string | any })[key])
|
|
75
|
+
if ((jsonSdfMonomerLibDict as { [key: string]: string | any })[key])
|
|
73
76
|
monomer[key] = table.get((jsonSdfMonomerLibDict as { [key: string]: string | any })[key], i);
|
|
74
|
-
}
|
|
75
77
|
}
|
|
76
|
-
})
|
|
78
|
+
});
|
|
77
79
|
resultLib.push(monomer);
|
|
78
80
|
}
|
|
79
81
|
return resultLib;
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
<html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=34f75e5127b8. Commit cdc230d8.</title><style type="text/css">html,
|
|
2
|
+
body {
|
|
3
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
4
|
+
font-size: 1rem;
|
|
5
|
+
margin: 0;
|
|
6
|
+
padding: 0;
|
|
7
|
+
color: #333;
|
|
8
|
+
}
|
|
9
|
+
body {
|
|
10
|
+
padding: 2rem 1rem;
|
|
11
|
+
font-size: 0.85rem;
|
|
12
|
+
}
|
|
13
|
+
#jesthtml-content {
|
|
14
|
+
margin: 0 auto;
|
|
15
|
+
max-width: 70rem;
|
|
16
|
+
}
|
|
17
|
+
header {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
}
|
|
21
|
+
#title {
|
|
22
|
+
margin: 0;
|
|
23
|
+
flex-grow: 1;
|
|
24
|
+
}
|
|
25
|
+
#logo {
|
|
26
|
+
height: 4rem;
|
|
27
|
+
}
|
|
28
|
+
#timestamp {
|
|
29
|
+
color: #777;
|
|
30
|
+
margin-top: 0.5rem;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** SUMMARY */
|
|
34
|
+
#summary {
|
|
35
|
+
color: #333;
|
|
36
|
+
margin: 2rem 0;
|
|
37
|
+
display: flex;
|
|
38
|
+
font-family: monospace;
|
|
39
|
+
font-size: 1rem;
|
|
40
|
+
}
|
|
41
|
+
#summary > div {
|
|
42
|
+
margin-right: 2rem;
|
|
43
|
+
background: #eee;
|
|
44
|
+
padding: 1rem;
|
|
45
|
+
min-width: 15rem;
|
|
46
|
+
}
|
|
47
|
+
#summary > div:last-child {
|
|
48
|
+
margin-right: 0;
|
|
49
|
+
}
|
|
50
|
+
@media only screen and (max-width: 720px) {
|
|
51
|
+
#summary {
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
}
|
|
54
|
+
#summary > div {
|
|
55
|
+
margin-right: 0;
|
|
56
|
+
margin-top: 2rem;
|
|
57
|
+
}
|
|
58
|
+
#summary > div:first-child {
|
|
59
|
+
margin-top: 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.summary-total {
|
|
64
|
+
font-weight: bold;
|
|
65
|
+
margin-bottom: 0.5rem;
|
|
66
|
+
}
|
|
67
|
+
.summary-passed {
|
|
68
|
+
color: #4f8a10;
|
|
69
|
+
border-left: 0.4rem solid #4f8a10;
|
|
70
|
+
padding-left: 0.5rem;
|
|
71
|
+
}
|
|
72
|
+
.summary-failed,
|
|
73
|
+
.summary-obsolete-snapshots {
|
|
74
|
+
color: #d8000c;
|
|
75
|
+
border-left: 0.4rem solid #d8000c;
|
|
76
|
+
padding-left: 0.5rem;
|
|
77
|
+
}
|
|
78
|
+
.summary-pending {
|
|
79
|
+
color: #9f6000;
|
|
80
|
+
border-left: 0.4rem solid #9f6000;
|
|
81
|
+
padding-left: 0.5rem;
|
|
82
|
+
}
|
|
83
|
+
.summary-empty {
|
|
84
|
+
color: #999;
|
|
85
|
+
border-left: 0.4rem solid #999;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.test-result {
|
|
89
|
+
padding: 1rem;
|
|
90
|
+
margin-bottom: 0.25rem;
|
|
91
|
+
}
|
|
92
|
+
.test-result:last-child {
|
|
93
|
+
border: 0;
|
|
94
|
+
}
|
|
95
|
+
.test-result.passed {
|
|
96
|
+
background-color: #dff2bf;
|
|
97
|
+
color: #4f8a10;
|
|
98
|
+
}
|
|
99
|
+
.test-result.failed {
|
|
100
|
+
background-color: #ffbaba;
|
|
101
|
+
color: #d8000c;
|
|
102
|
+
}
|
|
103
|
+
.test-result.pending {
|
|
104
|
+
background-color: #ffdf61;
|
|
105
|
+
color: #9f6000;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.test-info {
|
|
109
|
+
display: flex;
|
|
110
|
+
justify-content: space-between;
|
|
111
|
+
}
|
|
112
|
+
.test-suitename {
|
|
113
|
+
width: 20%;
|
|
114
|
+
text-align: left;
|
|
115
|
+
font-weight: bold;
|
|
116
|
+
word-break: break-word;
|
|
117
|
+
}
|
|
118
|
+
.test-title {
|
|
119
|
+
width: 40%;
|
|
120
|
+
text-align: left;
|
|
121
|
+
font-style: italic;
|
|
122
|
+
}
|
|
123
|
+
.test-status {
|
|
124
|
+
width: 20%;
|
|
125
|
+
text-align: right;
|
|
126
|
+
}
|
|
127
|
+
.test-duration {
|
|
128
|
+
width: 10%;
|
|
129
|
+
text-align: right;
|
|
130
|
+
font-size: 0.75rem;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.failureMessages {
|
|
134
|
+
padding: 0 1rem;
|
|
135
|
+
margin-top: 1rem;
|
|
136
|
+
border-top: 1px dashed #d8000c;
|
|
137
|
+
}
|
|
138
|
+
.failureMessages.suiteFailure {
|
|
139
|
+
border-top: none;
|
|
140
|
+
}
|
|
141
|
+
.failureMsg {
|
|
142
|
+
white-space: pre-wrap;
|
|
143
|
+
white-space: -moz-pre-wrap;
|
|
144
|
+
white-space: -pre-wrap;
|
|
145
|
+
white-space: -o-pre-wrap;
|
|
146
|
+
word-wrap: break-word;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.suite-container {
|
|
150
|
+
margin-bottom: 2rem;
|
|
151
|
+
}
|
|
152
|
+
.suite-info {
|
|
153
|
+
padding: 1rem;
|
|
154
|
+
background-color: #eee;
|
|
155
|
+
color: #777;
|
|
156
|
+
display: flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
margin-bottom: 0.25rem;
|
|
159
|
+
}
|
|
160
|
+
.suite-info .suite-path {
|
|
161
|
+
word-break: break-all;
|
|
162
|
+
flex-grow: 1;
|
|
163
|
+
font-family: monospace;
|
|
164
|
+
font-size: 1rem;
|
|
165
|
+
}
|
|
166
|
+
.suite-info .suite-time {
|
|
167
|
+
margin-left: 0.5rem;
|
|
168
|
+
padding: 0.2rem 0.3rem;
|
|
169
|
+
font-size: 0.75rem;
|
|
170
|
+
}
|
|
171
|
+
.suite-info .suite-time.warn {
|
|
172
|
+
background-color: #d8000c;
|
|
173
|
+
color: #fff;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* CONSOLE LOGS */
|
|
177
|
+
.suite-consolelog {
|
|
178
|
+
margin-bottom: 0.25rem;
|
|
179
|
+
padding: 1rem;
|
|
180
|
+
background-color: #efefef;
|
|
181
|
+
}
|
|
182
|
+
.suite-consolelog-header {
|
|
183
|
+
font-weight: bold;
|
|
184
|
+
}
|
|
185
|
+
.suite-consolelog-item {
|
|
186
|
+
padding: 0.5rem;
|
|
187
|
+
}
|
|
188
|
+
.suite-consolelog-item pre {
|
|
189
|
+
margin: 0.5rem 0;
|
|
190
|
+
white-space: pre-wrap;
|
|
191
|
+
white-space: -moz-pre-wrap;
|
|
192
|
+
white-space: -pre-wrap;
|
|
193
|
+
white-space: -o-pre-wrap;
|
|
194
|
+
word-wrap: break-word;
|
|
195
|
+
}
|
|
196
|
+
.suite-consolelog-item-origin {
|
|
197
|
+
color: #777;
|
|
198
|
+
font-weight: bold;
|
|
199
|
+
}
|
|
200
|
+
.suite-consolelog-item-message {
|
|
201
|
+
color: #000;
|
|
202
|
+
font-size: 1rem;
|
|
203
|
+
padding: 0 0.5rem;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* OBSOLETE SNAPSHOTS */
|
|
207
|
+
.suite-obsolete-snapshots {
|
|
208
|
+
margin-bottom: 0.25rem;
|
|
209
|
+
padding: 1rem;
|
|
210
|
+
background-color: #ffbaba;
|
|
211
|
+
color: #d8000c;
|
|
212
|
+
}
|
|
213
|
+
.suite-obsolete-snapshots-header {
|
|
214
|
+
font-weight: bold;
|
|
215
|
+
}
|
|
216
|
+
.suite-obsolete-snapshots-item {
|
|
217
|
+
padding: 0.5rem;
|
|
218
|
+
}
|
|
219
|
+
.suite-obsolete-snapshots-item pre {
|
|
220
|
+
margin: 0.5rem 0;
|
|
221
|
+
white-space: pre-wrap;
|
|
222
|
+
white-space: -moz-pre-wrap;
|
|
223
|
+
white-space: -pre-wrap;
|
|
224
|
+
white-space: -o-pre-wrap;
|
|
225
|
+
word-wrap: break-word;
|
|
226
|
+
}
|
|
227
|
+
.suite-obsolete-snapshots-item-message {
|
|
228
|
+
color: #000;
|
|
229
|
+
font-size: 1rem;
|
|
230
|
+
padding: 0 0.5rem;
|
|
231
|
+
}
|
|
232
|
+
</style></head><body><div id="jesthtml-content"><header><h1 id="title">Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=34f75e5127b8. Commit cdc230d8.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-07-19 10:23:49</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/Bio/src/__jest__/remote.test.ts</div><div class="suite-time warn">179.806s</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">168.85s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Bio.MSA.is_correct : TypeError: Cannot read properties of undefined (reading 'split')
|
|
233
|
+
Test result : Bio.splitters.testHelm1 : Error: Expected R(U)P at position 0, got U
|
|
234
|
+
Test result : Bio.splitters.testHelm2 : Error: Expected R(U)P at position 1, got U
|
|
235
|
+
Test result : Bio.splitters.testHelm3 : Error: Expected R(U) at position 1, got U)
|
|
236
|
+
Test result : Bio.converters.testFastaGapsToSeparator : Error: Units are not specified in column
|
|
237
|
+
Test result : Bio.converters.testFastaGapsToHelm : Error: Units are not specified in column
|
|
238
|
+
Test result : Bio.converters.HelmDnaToFasta : Error: Units are not specified in column
|
|
239
|
+
Test result : Bio.converters.HelmDnaToSeparator : Error: Units are not specified in column
|
|
240
|
+
|
|
241
|
+
at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:67:20
|
|
242
|
+
at Generator.next (<anonymous>)
|
|
243
|
+
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
|
|
244
|
+
at runMicrotasks (<anonymous>)
|
|
245
|
+
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre></div></div></div><div class="suite-consolelog"><div class="suite-consolelog-header">Console Log</div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at Object.<anonymous> (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:63:11)
|
|
246
|
+
at Generator.next (<anonymous>)
|
|
247
|
+
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:28:58)
|
|
248
|
+
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Using web root: http://localhost:8080</pre></div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:40:11
|
|
249
|
+
at Generator.next (<anonymous>)
|
|
250
|
+
at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:34:71
|
|
251
|
+
at new Promise (<anonymous>)
|
|
252
|
+
at Object.<anonymous>.__awaiter (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:30:12)
|
|
253
|
+
at Object.<anonymous> (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:38:23)
|
|
254
|
+
at Promise.then.completed (/home/runner/work/public/public/packages/Bio/node_modules/jest-circus/build/utils.js:391:28)
|
|
255
|
+
at new Promise (<anonymous>)</pre><pre class="suite-consolelog-item-message">Testing Bio package</pre></div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:65:11
|
|
256
|
+
at Generator.next (<anonymous>)
|
|
257
|
+
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
|
|
258
|
+
at runMicrotasks (<anonymous>)
|
|
259
|
+
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Bio.WebLogo.testGetStats : OK
|
|
260
|
+
Test result : Bio.WebLogo.testGetAlphabetSimilarity : OK
|
|
261
|
+
Test result : Bio.WebLogo.testPickupPaletteN1 : OK
|
|
262
|
+
Test result : Bio.WebLogo.testPickupPaletteN1e : OK
|
|
263
|
+
Test result : Bio.WebLogo.testPickupPaletteAA1 : OK
|
|
264
|
+
Test result : Bio.WebLogo.testPickupPaletteX : OK
|
|
265
|
+
Test result : Bio.WebLogo.monomerToText.longMonomerSingle : OK
|
|
266
|
+
Test result : Bio.WebLogo.monomerToText.longMonomerShort : OK
|
|
267
|
+
Test result : Bio.WebLogo.monomerToText.longMonomerLong56 : OK
|
|
268
|
+
Test result : Bio.WebLogo.monomerToText.longMonomerComplexFirstPartShort : OK
|
|
269
|
+
Test result : Bio.WebLogo.monomerToText.longMonomerComplexFirstPartLong56 : OK
|
|
270
|
+
Test result : Bio.Palettes.testPaletteN : OK
|
|
271
|
+
Test result : Bio.Palettes.testPaletteAA : OK
|
|
272
|
+
Test result : Bio.detectors.Negative1 : OK
|
|
273
|
+
Test result : Bio.detectors.Negative2 : OK
|
|
274
|
+
Test result : Bio.detectors.Negative3 : OK
|
|
275
|
+
Test result : Bio.detectors.NegativeSmiles : OK
|
|
276
|
+
Test result : Bio.detectors.Dna1 : OK
|
|
277
|
+
Test result : Bio.detectors.Rna1 : OK
|
|
278
|
+
Test result : Bio.detectors.AA1 : OK
|
|
279
|
+
Test result : Bio.detectors.MsaDna1 : OK
|
|
280
|
+
Test result : Bio.detectors.MsaAA1 : OK
|
|
281
|
+
Test result : Bio.detectors.SepDna : OK
|
|
282
|
+
Test result : Bio.detectors.SepRna : OK
|
|
283
|
+
Test result : Bio.detectors.SepPt : OK
|
|
284
|
+
Test result : Bio.detectors.SepUn1 : OK
|
|
285
|
+
Test result : Bio.detectors.SepUn2 : OK
|
|
286
|
+
Test result : Bio.detectors.SepMsaN1 : OK
|
|
287
|
+
Test result : Bio.detectors.SamplesFastaCsvPt : OK
|
|
288
|
+
Test result : Bio.detectors.SamplesFastaCsvNegativeEntry : OK
|
|
289
|
+
Test result : Bio.detectors.SamplesFastaCsvNegativeLength : OK
|
|
290
|
+
Test result : Bio.detectors.SamplesFastaCsvNegativeUniProtKB : OK
|
|
291
|
+
Test result : Bio.detectors.SamplesFastaFastaPt : OK
|
|
292
|
+
Test result : Bio.detectors.samplesPeptidesComplexNegativeID : OK
|
|
293
|
+
Test result : Bio.detectors.SamplesPeptidesComplexNegativeMeasured : OK
|
|
294
|
+
Test result : Bio.detectors.SamplesPeptidesComplexNegativeValue : OK
|
|
295
|
+
Test result : Bio.detectors.samplesMsaComplexUn : OK
|
|
296
|
+
Test result : Bio.detectors.samplesMsaComplexNegativeActivity : OK
|
|
297
|
+
Test result : Bio.detectors.samplesIdCsvNegativeID : OK
|
|
298
|
+
Test result : Bio.detectors.samplesSarSmallCsvNegativeSmiles : OK
|
|
299
|
+
Test result : Bio.detectors.samplesHelmCsvHELM : OK
|
|
300
|
+
Test result : Bio.detectors.samplesHelmCsvNegativeActivity : OK
|
|
301
|
+
Test result : Bio.detectors.samplesTestHelmNegativeID : OK
|
|
302
|
+
Test result : Bio.detectors.samplesTestHelmNegativeTestType : OK
|
|
303
|
+
Test result : Bio.detectors.samplesTestHelmPositiveHelmString : OK
|
|
304
|
+
Test result : Bio.detectors.samplesTestHelmNegativeValid : OK
|
|
305
|
+
Test result : Bio.detectors.samplesTestHelmNegativeMolWeight : OK
|
|
306
|
+
Test result : Bio.detectors.samplesTestHelmNegativeMolFormula : OK
|
|
307
|
+
Test result : Bio.detectors.samplesTestHelmNegativeSmiles : OK
|
|
308
|
+
Test result : Bio.detectors.samplesTestDemogNegativeAll : OK
|
|
309
|
+
Test result : Bio.detectors.samplesTestSmiles2NegativeSmiles : OK
|
|
310
|
+
Test result : Bio.detectors.samplesTestActivityCliffsNegativeSmiles : OK
|
|
311
|
+
Test result : Bio.detectors.samplesFastaPtPosSequence : OK
|
|
312
|
+
Test result : Bio.detectors.samplesTestCerealNegativeCerealName : OK
|
|
313
|
+
Test result : Bio.MSA.test_table.is_not_empty : OK
|
|
314
|
+
Test result : Bio.sequenceSpace.sequenceSpaceOpens : OK
|
|
315
|
+
Test result : Bio.activityCliffs.activityCliffsOpen : OK
|
|
316
|
+
Test result : Bio.splitters.helm1 : OK
|
|
317
|
+
Test result : Bio.splitters.helm2 : OK
|
|
318
|
+
Test result : Bio.splitters.helm3-multichar : OK
|
|
319
|
+
Test result : Bio.renderers.afterMsa : OK
|
|
320
|
+
Test result : Bio.renderers.afterConvert : OK
|
|
321
|
+
Test result : Bio.converters.testFastaPtToSeparator : OK
|
|
322
|
+
Test result : Bio.converters.testFastaDnaToSeparator : OK
|
|
323
|
+
Test result : Bio.converters.testFastaRnaToSeparator : OK
|
|
324
|
+
Test result : Bio.converters.testFastaPtToHelm : OK
|
|
325
|
+
Test result : Bio.converters.testFastaDnaToHelm : OK
|
|
326
|
+
Test result : Bio.converters.testFastaRnaToHelm : OK
|
|
327
|
+
Test result : Bio.converters.testSeparatorPtToFasta : OK
|
|
328
|
+
Test result : Bio.converters.testSeparatorDnaToFasta : OK
|
|
329
|
+
Test result : Bio.converters.testSeparatorRnaToFasta : OK
|
|
330
|
+
Test result : Bio.converters.testSeparatorGapsToFasta : OK
|
|
331
|
+
Test result : Bio.converters.testSeparatorPtToHelm : OK
|
|
332
|
+
Test result : Bio.converters.testSeparatorDnaToHelm : OK
|
|
333
|
+
Test result : Bio.converters.testSeparatorRnaToHelm : OK
|
|
334
|
+
Test result : Bio.converters.testSeparatorGapsToHelm : OK
|
|
335
|
+
Test result : Bio.converters.HelmRnaToFasta : OK
|
|
336
|
+
Test result : Bio.converters.HelmPtToFasta : OK
|
|
337
|
+
Test result : Bio.converters.HelmRnaToSeparator : OK
|
|
338
|
+
Test result : Bio.converters.HelmPtToSeparator : OK
|
|
339
|
+
</pre></div></div></div></div></body></html>
|