@datagrok/bio 2.0.5 → 2.0.6
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 +115 -121
- package/dist/package.js +10 -106
- package/package.json +1 -1
- package/src/calculations/{fingerprints.ts → monomerLevelMols.ts} +12 -15
- package/src/package.ts +10 -18
- package/src/tests/renderers-test.ts +123 -15
- package/src/utils/convert.ts +1 -0
- package/{test-Bio-7770371320b2-4674dcdc.html → test-Bio-7770371320b2-046cde35.html} +103 -94
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Leonid Stolbov",
|
|
6
6
|
"email": "lstolbov@datagrok.ai"
|
|
7
7
|
},
|
|
8
|
-
"version": "2.0.
|
|
8
|
+
"version": "2.0.6",
|
|
9
9
|
"description": "Bio is a [package](https://datagrok.ai/help/develop/develop#packages) for the [Datagrok](https://datagrok.ai) platform",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
@@ -2,29 +2,24 @@ import * as grok from 'datagrok-api/grok';
|
|
|
2
2
|
import * as ui from 'datagrok-api/ui';
|
|
3
3
|
import * as DG from 'datagrok-api/dg';
|
|
4
4
|
|
|
5
|
+
import { getHelmMonomers } from '../package'
|
|
6
|
+
|
|
5
7
|
const V2000_ATOM_NAME_POS = 31;
|
|
6
8
|
|
|
7
|
-
export async function
|
|
8
|
-
const
|
|
9
|
-
|
|
9
|
+
export async function getMonomericMols(mcol: DG.Column, pattern: boolean = false): Promise<DG.Column> {
|
|
10
|
+
const monomers = getHelmMonomers(mcol);
|
|
11
|
+
let mols = await grok.functions.call('HELM:getMolFiles', {mcol: mcol});
|
|
10
12
|
|
|
11
13
|
let dict = new Map();
|
|
12
14
|
for(let i = 0; i < monomers.length; i++)
|
|
13
|
-
dict.set(monomers[i],
|
|
14
|
-
|
|
15
|
-
mols = changeToV3000(mols, dict);
|
|
15
|
+
dict.set(monomers[i], `${i + 1}`);
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
const mol = mod.get_mol(mols[i]);
|
|
19
|
-
const fp = mol.get_pattern_fp_as_uint8array();
|
|
20
|
-
fps.push(fp);
|
|
21
|
-
mol?.delete();
|
|
22
|
-
}
|
|
17
|
+
mols = changeToV3000(mols, dict, pattern);
|
|
23
18
|
|
|
24
|
-
return
|
|
19
|
+
return DG.Column.fromStrings('monomericMols', mols);
|
|
25
20
|
}
|
|
26
21
|
|
|
27
|
-
function changeToV3000(mols: Array<string>, dict: Map<string, string
|
|
22
|
+
function changeToV3000(mols: Array<string>, dict: Map<string, string>, pattern: boolean = false): Array<string> {
|
|
28
23
|
for (let i = 0; i < mols.length; i++) {
|
|
29
24
|
let curPos = 0;
|
|
30
25
|
let endPos = 0;
|
|
@@ -50,7 +45,9 @@ M V30 BEGIN CTAB
|
|
|
50
45
|
curPos = mol.indexOf('\n', curPos) + 1 + V2000_ATOM_NAME_POS;
|
|
51
46
|
endPos = mol.indexOf(' ', curPos);
|
|
52
47
|
const monomerName: string = mol.substring(curPos, endPos);
|
|
53
|
-
molV3000 +=
|
|
48
|
+
molV3000 += pattern ?
|
|
49
|
+
`M V30 ${atomRowI + 1} R${dict.get(monomerName)} 0.000 0.000 0 0\n` :
|
|
50
|
+
`M V30 ${atomRowI + 1} At 0.000 0.000 0 0 MASS=${dict.get(monomerName)}\n`;
|
|
54
51
|
}
|
|
55
52
|
|
|
56
53
|
molV3000 += 'M V30 END ATOM\n';
|
package/src/package.ts
CHANGED
|
@@ -32,7 +32,6 @@ import {
|
|
|
32
32
|
|
|
33
33
|
import {splitAlignedSequences} from '@datagrok-libraries/bio/src/utils/splitter';
|
|
34
34
|
import * as C from './utils/constants';
|
|
35
|
-
import {getFingerprints} from './calculations/fingerprints';
|
|
36
35
|
|
|
37
36
|
//tags: init
|
|
38
37
|
export async function initBio() {
|
|
@@ -56,6 +55,16 @@ export function separatorSequenceCellRenderer(): MacromoleculeSequenceCellRender
|
|
|
56
55
|
return new MacromoleculeSequenceCellRenderer();
|
|
57
56
|
}
|
|
58
57
|
|
|
58
|
+
//name: MacromoleculeDifferenceCellRenderer
|
|
59
|
+
//tags: cellRenderer
|
|
60
|
+
//meta.cellType: MacromoleculeDifference
|
|
61
|
+
//meta.columnTags: quality=MacromoleculeDifference
|
|
62
|
+
//output: grid_cell_renderer result
|
|
63
|
+
export function macromoleculeDifferenceCellRenderer(): MacromoleculeDifferenceCellRenderer {
|
|
64
|
+
return new MacromoleculeDifferenceCellRenderer();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
59
68
|
function checkInputColumnUi(
|
|
60
69
|
col: DG.Column, name: string, allowedNotations: string[] = [], allowedAlphabets: string[] = []
|
|
61
70
|
): boolean {
|
|
@@ -376,15 +385,6 @@ export function monomerCellRenderer(): MonomerCellRenderer {
|
|
|
376
385
|
return new MonomerCellRenderer();
|
|
377
386
|
}
|
|
378
387
|
|
|
379
|
-
//name: MacromoleculeDifferenceCellRenderer
|
|
380
|
-
//tags: cellRenderer
|
|
381
|
-
//meta.cellType: MacromoleculeDifference
|
|
382
|
-
//meta.columnTags: quality=MacromoleculeDifference
|
|
383
|
-
//output: grid_cell_renderer result
|
|
384
|
-
export function macromoleculeDifferenceCellRenderer(): MacromoleculeDifferenceCellRenderer {
|
|
385
|
-
return new MacromoleculeDifferenceCellRenderer();
|
|
386
|
-
}
|
|
387
|
-
|
|
388
388
|
//name: testDetectMacromolecule
|
|
389
389
|
//input: string path {choices: ['Demo:Files/', 'System:AppData/']}
|
|
390
390
|
//output: dataframe result
|
|
@@ -460,11 +460,3 @@ export function getHelmMonomers(seqCol: DG.Column<string>): string[] {
|
|
|
460
460
|
const stats = WebLogo.getStats(seqCol, 1, WebLogo.splitterAsHelm);
|
|
461
461
|
return Object.keys(stats.freq);
|
|
462
462
|
}
|
|
463
|
-
|
|
464
|
-
export async function macromoleculesFingerprints(mcol: DG.Column): Promise<Uint8Array[]> {
|
|
465
|
-
grok.functions.call('Chem:getRdKitModule');
|
|
466
|
-
const monomers = getHelmMonomers(mcol);
|
|
467
|
-
const mols = await grok.functions.call('HELM:getMolFiles', {mcol: mcol});
|
|
468
|
-
|
|
469
|
-
return getFingerprints(mols.toList(), monomers);
|
|
470
|
-
}
|
|
@@ -31,6 +31,18 @@ category('renderers', () => {
|
|
|
31
31
|
performanceTest(generateManySequences, 'Many sequences');
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
test('rendererMacromoleculeFasta', async () => {
|
|
35
|
+
await _rendererMacromoleculeFasta();
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('rendererMacromoleculeSeparator', async () => {
|
|
39
|
+
await _rendererMacromoleculeSeparator();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('rendererMacromoleculeDifference', async () => {
|
|
43
|
+
await _rendererMacromoleculeDifference();
|
|
44
|
+
});
|
|
45
|
+
|
|
34
46
|
test('afterMsa', async () => {
|
|
35
47
|
await _testAfterMsa();
|
|
36
48
|
});
|
|
@@ -39,10 +51,73 @@ category('renderers', () => {
|
|
|
39
51
|
await _testAfterConvert();
|
|
40
52
|
});
|
|
41
53
|
|
|
42
|
-
test('
|
|
54
|
+
test('selectRendererBySemType', async () => {
|
|
55
|
+
await _selectRendererBySemType();
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
test('setRendererManually', async () => {
|
|
43
59
|
await _setRendererManually();
|
|
44
60
|
});
|
|
45
61
|
|
|
62
|
+
async function _rendererMacromoleculeFasta() {
|
|
63
|
+
const csv: string = await grok.dapi.files.readAsText('System:AppData/Bio/samples/sample_FASTA.csv');
|
|
64
|
+
const df: DG.DataFrame = DG.DataFrame.fromCsv(csv);
|
|
65
|
+
|
|
66
|
+
const seqCol = df.getCol('Sequence');
|
|
67
|
+
const semType: string = await grok.functions.call('Bio:detectMacromolecule', {col: seqCol});
|
|
68
|
+
if (semType)
|
|
69
|
+
seqCol.semType = semType;
|
|
70
|
+
|
|
71
|
+
const tv: DG.TableView = grok.shell.addTableView(df);
|
|
72
|
+
// call to calculate 'cell.renderer' tag
|
|
73
|
+
await grok.data.detectSemanticTypes(df);
|
|
74
|
+
|
|
75
|
+
dfList.push(df);
|
|
76
|
+
tvList.push(tv);
|
|
77
|
+
|
|
78
|
+
const resCellRenderer = seqCol.getTag(DG.TAGS.CELL_RENDERER);
|
|
79
|
+
expect(resCellRenderer, 'sequence');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async function _rendererMacromoleculeSeparator() {
|
|
83
|
+
const csv: string = await grok.dapi.files.readAsText('System:AppData/Bio/samples/sample_SEPARATOR_PT.csv');
|
|
84
|
+
const df: DG.DataFrame = DG.DataFrame.fromCsv(csv);
|
|
85
|
+
|
|
86
|
+
const seqCol = df.getCol('sequence');
|
|
87
|
+
const semType: string = await grok.functions.call('Bio:detectMacromolecule', {col: seqCol});
|
|
88
|
+
if (semType)
|
|
89
|
+
seqCol.semType = semType;
|
|
90
|
+
|
|
91
|
+
const tv: DG.TableView = grok.shell.addTableView(df);
|
|
92
|
+
// call to calculate 'cell.renderer' tag
|
|
93
|
+
await grok.data.detectSemanticTypes(df);
|
|
94
|
+
|
|
95
|
+
dfList.push(df);
|
|
96
|
+
tvList.push(tv);
|
|
97
|
+
|
|
98
|
+
const resCellRenderer = seqCol.getTag(DG.TAGS.CELL_RENDERER);
|
|
99
|
+
expect(resCellRenderer, 'sequence');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async function _rendererMacromoleculeDifference() {
|
|
103
|
+
const seqDiffCol: DG.Column = DG.Column.fromStrings('SequencesDiff',
|
|
104
|
+
['meI/hHis/Aca/N/T/dK/Thr_PO3H2/Aca#D-Tyr_Et/Tyr_ab-dehydroMe/meN/E/N/dV']);
|
|
105
|
+
seqDiffCol.tags[DG.TAGS.UNITS] = 'separator';
|
|
106
|
+
seqDiffCol.tags[TAGS.SEPARATOR] = '/';
|
|
107
|
+
seqDiffCol.semType = SEM_TYPES.MACROMOLECULE_DIFFERENCE;
|
|
108
|
+
const df = DG.DataFrame.fromColumns([seqDiffCol]);
|
|
109
|
+
|
|
110
|
+
const tv: DG.TableView = grok.shell.addTableView(df);
|
|
111
|
+
// call to calculate 'cell.renderer' tag
|
|
112
|
+
await grok.data.detectSemanticTypes(df);
|
|
113
|
+
|
|
114
|
+
dfList.push(df);
|
|
115
|
+
tvList.push(tv);
|
|
116
|
+
|
|
117
|
+
const resCellRenderer = seqDiffCol.getTag(DG.TAGS.CELL_RENDERER);
|
|
118
|
+
expect(resCellRenderer, 'MacromoleculeDifference');
|
|
119
|
+
}
|
|
120
|
+
|
|
46
121
|
async function _testAfterMsa() {
|
|
47
122
|
const fastaTxt: string = await grok.dapi.files.readAsText('System:AppData/Bio/samples/sample_FASTA.fasta');
|
|
48
123
|
const df: DG.DataFrame = importFasta(fastaTxt)[0];
|
|
@@ -86,36 +161,69 @@ category('renderers', () => {
|
|
|
86
161
|
async function _testAfterConvert() {
|
|
87
162
|
const csv: string = await grok.dapi.files.readAsText('System:AppData/Bio/samples/sample_FASTA_PT.csv');
|
|
88
163
|
const df: DG.DataFrame = DG.DataFrame.fromCsv(csv);
|
|
89
|
-
const tv: DG.TableView = grok.shell.addTableView(df);
|
|
90
164
|
|
|
91
165
|
const srcCol: DG.Column = df.col('sequence')!;
|
|
92
|
-
// await grok.data.detectSemanticTypes(df);
|
|
93
166
|
const semType: string = await grok.functions.call('Bio:detectMacromolecule', {col: srcCol});
|
|
94
167
|
if (semType)
|
|
95
168
|
srcCol.semType = semType;
|
|
169
|
+
|
|
170
|
+
const tv: DG.TableView = grok.shell.addTableView(df);
|
|
171
|
+
// call to calculate 'cell.renderer' tag
|
|
96
172
|
await grok.data.detectSemanticTypes(df);
|
|
97
173
|
|
|
174
|
+
tvList.push(tv);
|
|
175
|
+
dfList.push(df);
|
|
176
|
+
|
|
98
177
|
const tgtCol: DG.Column = await convertDo(srcCol, NOTATION.SEPARATOR, '/');
|
|
99
|
-
|
|
178
|
+
|
|
179
|
+
const resCellRenderer = tgtCol.getTag(DG.TAGS.CELL_RENDERER);
|
|
180
|
+
expect(resCellRenderer, 'sequence');
|
|
100
181
|
|
|
101
182
|
// check tgtCol with UnitsHandler constructor
|
|
102
183
|
const uh: UnitsHandler = new UnitsHandler(tgtCol);
|
|
184
|
+
}
|
|
103
185
|
|
|
104
|
-
|
|
186
|
+
async function _selectRendererBySemType() {
|
|
187
|
+
/* There are renderers for semType Macromolecule and MacromoleculeDifference.
|
|
188
|
+
Misbehavior was by selecting Macromolecule renderers for MacromoleculeDifference semType column
|
|
189
|
+
/**/
|
|
190
|
+
const seqDiffCol: DG.Column = DG.Column.fromStrings('SequencesDiff',
|
|
191
|
+
['meI/hHis/Aca/N/T/dK/Thr_PO3H2/Aca#D-Tyr_Et/Tyr_ab-dehydroMe/meN/E/N/dV']);
|
|
192
|
+
seqDiffCol.tags[DG.TAGS.UNITS] = 'separator';
|
|
193
|
+
seqDiffCol.tags[TAGS.SEPARATOR] = '/';
|
|
194
|
+
seqDiffCol.semType = SEM_TYPES.MACROMOLECULE_DIFFERENCE;
|
|
195
|
+
const df = DG.DataFrame.fromColumns([seqDiffCol]);
|
|
196
|
+
const tv = grok.shell.addTableView(df);
|
|
105
197
|
dfList.push(df);
|
|
198
|
+
tvList.push(tv);
|
|
199
|
+
|
|
200
|
+
await delay(100);
|
|
201
|
+
const renderer = seqDiffCol.getTag(DG.TAGS.CELL_RENDERER);
|
|
202
|
+
if (renderer !== 'MacromoleculeDifference') // this is value of MacromoleculeDifferenceCR.cellType
|
|
203
|
+
throw new Error(`Units 'separator', separator '/' and semType 'MacromoleculeDifference' ` +
|
|
204
|
+
`have been manually set on column but after df was added as table, ` +
|
|
205
|
+
`view renderer has set to '${renderer}' instead of correct 'MacromoleculeDifference'.`);
|
|
106
206
|
}
|
|
107
207
|
|
|
108
208
|
async function _setRendererManually() {
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
209
|
+
const seqDiffCol: DG.Column = DG.Column.fromStrings('SequencesDiff',
|
|
210
|
+
['meI/hHis/Aca/N/T/dK/Thr_PO3H2/Aca#D-Tyr_Et/Tyr_ab-dehydroMe/meN/E/N/dV']);
|
|
211
|
+
seqDiffCol.tags[DG.TAGS.UNITS] = 'separator';
|
|
212
|
+
seqDiffCol.tags[TAGS.SEPARATOR] = '/';
|
|
213
|
+
seqDiffCol.semType = SEM_TYPES.MACROMOLECULE;
|
|
214
|
+
const tgtCellRenderer = 'MacromoleculeDifference';
|
|
215
|
+
seqDiffCol.setTag(DG.TAGS.CELL_RENDERER, tgtCellRenderer);
|
|
216
|
+
const df = DG.DataFrame.fromColumns([seqDiffCol]);
|
|
217
|
+
await grok.data.detectSemanticTypes(df);
|
|
218
|
+
const tv = grok.shell.addTableView(df);
|
|
219
|
+
dfList.push(df);
|
|
220
|
+
tvList.push(tv);
|
|
221
|
+
|
|
115
222
|
await delay(100);
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
118
|
-
throw new Error(`
|
|
119
|
-
`
|
|
223
|
+
const resCellRenderer = seqDiffCol.getTag(DG.TAGS.CELL_RENDERER);
|
|
224
|
+
if (resCellRenderer !== tgtCellRenderer) // this is value of MacromoleculeDifferenceCR.cellType
|
|
225
|
+
throw new Error(`Tag 'cell.renderer' has been manually set to '${tgtCellRenderer}' for column ` +
|
|
226
|
+
`but after df was added as table, tag 'cell.renderer' has reset to '${resCellRenderer}' ` +
|
|
227
|
+
`instead of manual '${tgtCellRenderer}'.`);
|
|
120
228
|
}
|
|
121
229
|
});
|
package/src/utils/convert.ts
CHANGED
|
@@ -79,6 +79,7 @@ export function convert(col: DG.Column): void {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
/** Creates a new column with converted sequences and detects its semantic type */
|
|
82
83
|
export async function convertDo(
|
|
83
84
|
srcCol: DG.Column, targetNotation: NOTATION, separator: string | null
|
|
84
85
|
): Promise<DG.Column> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=7770371320b2. Commit
|
|
1
|
+
<html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=7770371320b2. Commit 046cde35.</title><style type="text/css">html,
|
|
2
2
|
body {
|
|
3
3
|
font-family: Arial, Helvetica, sans-serif;
|
|
4
4
|
font-size: 1rem;
|
|
@@ -229,7 +229,13 @@ 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">Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=7770371320b2. Commit
|
|
232
|
+
</style></head><body><div id="jesthtml-content"><header><h1 id="title">Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=7770371320b2. Commit 046cde35.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-09-16 12:11:55</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">46.232s</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">28.972s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Failed : 197 : Bio.renderers.setRendererManually : Error: Tag 'cell.renderer' has been manually set to 'MacromoleculeDifference' for column but after df was added as table, tag 'cell.renderer' has reset to 'sequence' instead of manual 'MacromoleculeDifference'.
|
|
233
|
+
|
|
234
|
+
at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:68:20
|
|
235
|
+
at Generator.next (<anonymous>)
|
|
236
|
+
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
|
|
237
|
+
at runMicrotasks (<anonymous>)
|
|
238
|
+
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)
|
|
233
239
|
at Generator.next (<anonymous>)
|
|
234
240
|
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:28:58)
|
|
235
241
|
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
|
|
@@ -243,121 +249,124 @@ header {
|
|
|
243
249
|
at Generator.next (<anonymous>)
|
|
244
250
|
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
|
|
245
251
|
at runMicrotasks (<anonymous>)
|
|
246
|
-
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success :
|
|
252
|
+
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success : 6 : Bio.WebLogo.testGetStats : OK
|
|
247
253
|
Test result : Success : 0 : Bio.WebLogo.testGetAlphabetSimilarity : OK
|
|
248
254
|
Test result : Success : 3 : Bio.WebLogo.testPickupPaletteN1 : OK
|
|
249
|
-
Test result : Success :
|
|
250
|
-
Test result : Success :
|
|
251
|
-
Test result : Success :
|
|
255
|
+
Test result : Success : 1 : Bio.WebLogo.testPickupPaletteN1e : OK
|
|
256
|
+
Test result : Success : 2 : Bio.WebLogo.testPickupPaletteAA1 : OK
|
|
257
|
+
Test result : Success : 1 : Bio.WebLogo.testPickupPaletteX : OK
|
|
252
258
|
Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerSingle : OK
|
|
253
259
|
Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerShort : OK
|
|
254
260
|
Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerLong56 : OK
|
|
255
|
-
Test result : Success :
|
|
261
|
+
Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerComplexFirstPartShort : OK
|
|
256
262
|
Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerComplexFirstPartLong56 : OK
|
|
257
263
|
Test result : Success : 1 : Bio.Palettes.testPaletteN : OK
|
|
258
264
|
Test result : Success : 0 : Bio.Palettes.testPaletteAA : OK
|
|
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 :
|
|
276
|
-
Test result : Success :
|
|
277
|
-
Test result : Success :
|
|
278
|
-
Test result : Success :
|
|
279
|
-
Test result : Success :
|
|
280
|
-
Test result : Success :
|
|
281
|
-
Test result : Success :
|
|
282
|
-
Test result : Success :
|
|
283
|
-
Test result : Success :
|
|
284
|
-
Test result : Success :
|
|
285
|
-
Test result : Success :
|
|
286
|
-
Test result : Success :
|
|
287
|
-
Test result : Success :
|
|
288
|
-
Test result : Success :
|
|
289
|
-
Test result : Success :
|
|
290
|
-
Test result : Success :
|
|
291
|
-
Test result : Success :
|
|
292
|
-
Test result : Success :
|
|
293
|
-
Test result : Success :
|
|
294
|
-
Test result : Success :
|
|
265
|
+
Test result : Success : 54 : Bio.detectors.NegativeEmpty : OK
|
|
266
|
+
Test result : Success : 18 : Bio.detectors.Negative1 : OK
|
|
267
|
+
Test result : Success : 31 : Bio.detectors.Negative2 : OK
|
|
268
|
+
Test result : Success : 18 : Bio.detectors.Negative3 : OK
|
|
269
|
+
Test result : Success : 15 : Bio.detectors.NegativeSmiles : OK
|
|
270
|
+
Test result : Success : 10 : Bio.detectors.Dna1 : OK
|
|
271
|
+
Test result : Success : 26 : Bio.detectors.Rna1 : OK
|
|
272
|
+
Test result : Success : 48 : Bio.detectors.AA1 : OK
|
|
273
|
+
Test result : Success : 16 : Bio.detectors.MsaDna1 : OK
|
|
274
|
+
Test result : Success : 9 : Bio.detectors.MsaAA1 : OK
|
|
275
|
+
Test result : Success : 34 : Bio.detectors.SepDna : OK
|
|
276
|
+
Test result : Success : 12 : Bio.detectors.SepRna : OK
|
|
277
|
+
Test result : Success : 14 : Bio.detectors.SepPt : OK
|
|
278
|
+
Test result : Success : 8 : Bio.detectors.SepUn1 : OK
|
|
279
|
+
Test result : Success : 13 : Bio.detectors.SepUn2 : OK
|
|
280
|
+
Test result : Success : 6 : Bio.detectors.SepMsaN1 : OK
|
|
281
|
+
Test result : Success : 383 : Bio.detectors.SamplesFastaCsvPt : OK
|
|
282
|
+
Test result : Success : 7 : Bio.detectors.SamplesFastaCsvNegativeEntry : OK
|
|
283
|
+
Test result : Success : 14 : Bio.detectors.SamplesFastaCsvNegativeLength : OK
|
|
284
|
+
Test result : Success : 48 : Bio.detectors.SamplesFastaCsvNegativeUniProtKB : OK
|
|
285
|
+
Test result : Success : 117 : Bio.detectors.SamplesFastaFastaPt : OK
|
|
286
|
+
Test result : Success : 707 : Bio.detectors.samplesPeptidesComplexNegativeID : OK
|
|
287
|
+
Test result : Success : 17 : Bio.detectors.SamplesPeptidesComplexNegativeMeasured : OK
|
|
288
|
+
Test result : Success : 137 : Bio.detectors.SamplesPeptidesComplexNegativeValue : OK
|
|
289
|
+
Test result : Success : 162 : Bio.detectors.samplesMsaComplexUn : OK
|
|
290
|
+
Test result : Success : 24 : Bio.detectors.samplesMsaComplexNegativeActivity : OK
|
|
291
|
+
Test result : Success : 83 : Bio.detectors.samplesIdCsvNegativeID : OK
|
|
292
|
+
Test result : Success : 165 : Bio.detectors.samplesSarSmallCsvNegativeSmiles : OK
|
|
293
|
+
Test result : Success : 235 : Bio.detectors.samplesHelmCsvHELM : OK
|
|
294
|
+
Test result : Success : 16 : Bio.detectors.samplesHelmCsvNegativeActivity : OK
|
|
295
|
+
Test result : Success : 139 : Bio.detectors.samplesTestHelmNegativeID : OK
|
|
296
|
+
Test result : Success : 19 : Bio.detectors.samplesTestHelmNegativeTestType : OK
|
|
297
|
+
Test result : Success : 5 : Bio.detectors.samplesTestHelmPositiveHelmString : OK
|
|
298
|
+
Test result : Success : 8 : Bio.detectors.samplesTestHelmNegativeValid : OK
|
|
299
|
+
Test result : Success : 7 : Bio.detectors.samplesTestHelmNegativeMolWeight : OK
|
|
300
|
+
Test result : Success : 6 : Bio.detectors.samplesTestHelmNegativeMolFormula : OK
|
|
295
301
|
Test result : Success : 6 : Bio.detectors.samplesTestHelmNegativeSmiles : OK
|
|
296
|
-
Test result : Success :
|
|
297
|
-
Test result : Success :
|
|
298
|
-
Test result : Success :
|
|
299
|
-
Test result : Success :
|
|
300
|
-
Test result : Success :
|
|
301
|
-
Test result : Success :
|
|
302
|
-
Test result : Success :
|
|
303
|
-
Test result : Success :
|
|
304
|
-
Test result : Success :
|
|
305
|
-
Test result : Success :
|
|
306
|
-
Test result : Success :
|
|
307
|
-
Test result : Success :
|
|
308
|
-
Test result : Success :
|
|
309
|
-
Test result : Success :
|
|
310
|
-
Test result : Success :
|
|
311
|
-
Test result : Success :
|
|
312
|
-
Test result : Success :
|
|
313
|
-
Test result : Success :
|
|
314
|
-
Test result : Success :
|
|
315
|
-
Test result : Success :
|
|
302
|
+
Test result : Success : 733 : Bio.detectors.samplesTestDemogNegativeAll : OK
|
|
303
|
+
Test result : Success : 380 : Bio.detectors.samplesTestSmiles2NegativeSmiles : OK
|
|
304
|
+
Test result : Success : 113 : Bio.detectors.samplesTestActivityCliffsNegativeSmiles : OK
|
|
305
|
+
Test result : Success : 126 : Bio.detectors.samplesFastaPtPosSequence : OK
|
|
306
|
+
Test result : Success : 158 : Bio.detectors.samplesTestCerealNegativeCerealName : OK
|
|
307
|
+
Test result : Success : 229 : Bio.detectors.samplesTestSpgi100NegativeStereoCategory : OK
|
|
308
|
+
Test result : Success : 5 : Bio.detectors.samplesTestSpgi100NegativeScaffoldNames : OK
|
|
309
|
+
Test result : Success : 14 : Bio.detectors.samplesTestSpgi100NegativePrimaryScaffoldName : OK
|
|
310
|
+
Test result : Success : 6 : Bio.detectors.samplesTestSpgi100NegativeSampleName : OK
|
|
311
|
+
Test result : Success : 160 : Bio.detectors.samplesTestUnichemSourcesNegativeSrcUrl : OK
|
|
312
|
+
Test result : Success : 8 : Bio.detectors.samplesTestUnichemSourcesNegativeBaseIdUrl : OK
|
|
313
|
+
Test result : Success : 136 : Bio.detectors.samplesTestDmvOfficesNegativeOfficeName : OK
|
|
314
|
+
Test result : Success : 7 : Bio.detectors.samplesTestDmvOfficesNegativeCity : OK
|
|
315
|
+
Test result : Success : 184 : Bio.detectors.samplesTestAlertCollectionNegativeSmarts : OK
|
|
316
|
+
Test result : Success : 932 : Bio.MSA.isCorrect : OK
|
|
317
|
+
Test result : Success : 293 : Bio.MSA.isCorrectLong : OK
|
|
318
|
+
Test result : Success : 1441 : Bio.sequenceSpace.sequenceSpaceOpens : OK
|
|
319
|
+
Test result : Success : 7627 : Bio.sequenceSpace.sequenceSpaceOpensWithEmptyRows : OK
|
|
320
|
+
Test result : Success : 1467 : Bio.activityCliffs.activityCliffsOpen : OK
|
|
321
|
+
Test result : Success : 1356 : Bio.activityCliffs.activityCliffsOpenWithEmptyRows : OK
|
|
316
322
|
Test result : Success : 1 : Bio.splitters.helm1 : OK
|
|
317
323
|
Test result : Success : 1 : Bio.splitters.helm2 : OK
|
|
318
|
-
Test result : Success :
|
|
319
|
-
Test result : Success :
|
|
320
|
-
Test result : Success :
|
|
321
|
-
Test result : Success :
|
|
322
|
-
Test result : Success :
|
|
323
|
-
Test result : Success :
|
|
324
|
-
Test result : Success :
|
|
325
|
-
Test result : Success :
|
|
326
|
-
Test result : Success :
|
|
327
|
-
Test result : Success :
|
|
324
|
+
Test result : Success : 0 : Bio.splitters.helm3-multichar : OK
|
|
325
|
+
Test result : Success : 0 : Bio.splitters.testHelm1 : OK
|
|
326
|
+
Test result : Success : 0 : Bio.splitters.testHelm2 : OK
|
|
327
|
+
Test result : Success : 0 : Bio.splitters.testHelm3 : OK
|
|
328
|
+
Test result : Success : 518 : Bio.splitters.splitToMonomers : OK
|
|
329
|
+
Test result : Success : 157 : Bio.renderers.long sequence performance : OK
|
|
330
|
+
Test result : Success : 1230 : Bio.renderers.many sequence performance : OK
|
|
331
|
+
Test result : Success : 372 : Bio.renderers.rendererMacromoleculeFasta : OK
|
|
332
|
+
Test result : Success : 289 : Bio.renderers.rendererMacromoleculeSeparator : OK
|
|
333
|
+
Test result : Success : 126 : Bio.renderers.rendererMacromoleculeDifference : OK
|
|
334
|
+
Test result : Success : 812 : Bio.renderers.afterMsa : OK
|
|
335
|
+
Test result : Success : 351 : Bio.renderers.afterConvert : OK
|
|
336
|
+
Test result : Success : 178 : Bio.renderers.selectRendererBySemType : OK
|
|
328
337
|
Test result : Success : 5 : Bio.converters.testFastaPtToSeparator : OK
|
|
329
|
-
Test result : Success :
|
|
330
|
-
Test result : Success :
|
|
331
|
-
Test result : Success :
|
|
332
|
-
Test result : Success :
|
|
333
|
-
Test result : Success :
|
|
334
|
-
Test result : Success :
|
|
338
|
+
Test result : Success : 5 : Bio.converters.testFastaDnaToSeparator : OK
|
|
339
|
+
Test result : Success : 13 : Bio.converters.testFastaRnaToSeparator : OK
|
|
340
|
+
Test result : Success : 5 : Bio.converters.testFastaGapsToSeparator : OK
|
|
341
|
+
Test result : Success : 3 : Bio.converters.testFastaPtToHelm : OK
|
|
342
|
+
Test result : Success : 2 : Bio.converters.testFastaDnaToHelm : OK
|
|
343
|
+
Test result : Success : 11 : Bio.converters.testFastaRnaToHelm : OK
|
|
335
344
|
Test result : Success : 2 : Bio.converters.testFastaGapsToHelm : OK
|
|
336
|
-
Test result : Success :
|
|
345
|
+
Test result : Success : 1 : Bio.converters.testSeparatorPtToFasta : OK
|
|
337
346
|
Test result : Success : 1 : Bio.converters.testSeparatorDnaToFasta : OK
|
|
338
347
|
Test result : Success : 0 : Bio.converters.testSeparatorRnaToFasta : OK
|
|
339
|
-
Test result : Success :
|
|
340
|
-
Test result : Success :
|
|
348
|
+
Test result : Success : 0 : Bio.converters.testSeparatorGapsToFasta : OK
|
|
349
|
+
Test result : Success : 1 : Bio.converters.testSeparatorPtToHelm : OK
|
|
341
350
|
Test result : Success : 0 : Bio.converters.testSeparatorDnaToHelm : OK
|
|
342
351
|
Test result : Success : 1 : Bio.converters.testSeparatorRnaToHelm : OK
|
|
343
352
|
Test result : Success : 0 : Bio.converters.testSeparatorGapsToHelm : OK
|
|
344
353
|
Test result : Success : 1 : Bio.converters.testHelmDnaToFasta : OK
|
|
345
354
|
Test result : Success : 0 : Bio.converters.testHelmRnaToFasta : OK
|
|
346
355
|
Test result : Success : 0 : Bio.converters.testHelmPtToFasta : OK
|
|
347
|
-
Test result : Success :
|
|
348
|
-
Test result : Success :
|
|
356
|
+
Test result : Success : 1 : Bio.converters.testHelmDnaToSeparator : OK
|
|
357
|
+
Test result : Success : 0 : Bio.converters.testHelmRnaToSeparator : OK
|
|
349
358
|
Test result : Success : 0 : Bio.converters.testHelmPtToSeparator : OK
|
|
350
|
-
Test result : Success :
|
|
351
|
-
Test result : Success :
|
|
352
|
-
Test result : Success :
|
|
359
|
+
Test result : Success : 3 : Bio.converters.testHelmLoneRibose : OK
|
|
360
|
+
Test result : Success : 3 : Bio.converters.testHelmLoneDeoxyribose : OK
|
|
361
|
+
Test result : Success : 2 : Bio.converters.testHelmLonePhosphorus : OK
|
|
353
362
|
Test result : Success : 0 : Bio.fastaFileHandler.testNormalFormatting : OK
|
|
354
|
-
Test result : Success :
|
|
363
|
+
Test result : Success : 0 : Bio.fastaFileHandler.testExtraSpaces : OK
|
|
355
364
|
Test result : Success : 0 : Bio.fastaFileHandler.testExtraNewlines : OK
|
|
356
|
-
Test result : Success :
|
|
357
|
-
Test result : Success :
|
|
358
|
-
Test result : Success :
|
|
359
|
-
Test result : Success :
|
|
360
|
-
Test result : Success :
|
|
365
|
+
Test result : Success : 116 : Bio.WebLogo-positions.allPositions : OK
|
|
366
|
+
Test result : Success : 126 : Bio.WebLogo-positions.positions with shrinkEmptyTail option true (filterd) : OK
|
|
367
|
+
Test result : Success : 100 : Bio.WebLogo-positions.positions with skipEmptyPositions option : OK
|
|
368
|
+
Test result : Success : 4 : Bio.checkInputColumn.testMsaPos : OK
|
|
369
|
+
Test result : Success : 1 : Bio.checkInputColumn.testMsaNegHelm : OK
|
|
361
370
|
Test result : Success : 2 : Bio.checkInputColumn.testMsaNegUN : OK
|
|
362
|
-
Test result : Success :
|
|
371
|
+
Test result : Success : 1 : Bio.checkInputColumn.testGetActionFunctionMeta : OK
|
|
363
372
|
</pre></div></div></div></div></body></html>
|