@datagrok/bio 2.1.0 → 2.1.2
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 +278 -247
- package/dist/package.js +278 -247
- package/package.json +3 -3
- package/src/package.ts +23 -66
- package/src/tests/lib-tests.ts +30 -0
- package/src/widgets/representations.ts +1 -1
- package/{test-Bio-3afbd4014fa1-de511bfe.html → test-Bio-62cc009524f3-73ccfff9.html} +104 -104
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Leonid Stolbov",
|
|
6
6
|
"email": "lstolbov@datagrok.ai"
|
|
7
7
|
},
|
|
8
|
-
"version": "2.1.
|
|
8
|
+
"version": "2.1.2",
|
|
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",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@biowasm/aioli": "^3.1.0",
|
|
17
|
-
"@datagrok-libraries/bio": "^5.9.
|
|
17
|
+
"@datagrok-libraries/bio": "^5.9.14",
|
|
18
18
|
"@datagrok-libraries/chem-meta": "1.0.1",
|
|
19
19
|
"@datagrok-libraries/ml": "^6.2.2",
|
|
20
20
|
"@datagrok-libraries/utils": "^1.14.1",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"webpack-cli": "^4.6.0"
|
|
48
48
|
},
|
|
49
49
|
"grokDependencies": {
|
|
50
|
-
"@datagrok/chem": "
|
|
50
|
+
"@datagrok/chem": "latest",
|
|
51
51
|
"@datagrok/helm": "latest"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
package/src/package.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import * as grok from 'datagrok-api/grok';
|
|
3
3
|
import * as ui from 'datagrok-api/ui';
|
|
4
4
|
import * as DG from 'datagrok-api/dg';
|
|
5
|
-
import * as bio from '@datagrok-libraries/bio';
|
|
6
5
|
|
|
7
6
|
export const _package = new DG.Package();
|
|
8
7
|
|
|
@@ -13,7 +12,7 @@ import {SequenceAlignment, Aligned} from './seq_align';
|
|
|
13
12
|
import {getEmbeddingColsNames, sequenceSpace, sequenceSpaceByFingerprints} from './analysis/sequence-space';
|
|
14
13
|
import {getActivityCliffs} from '@datagrok-libraries/ml/src/viewers/activity-cliffs';
|
|
15
14
|
import {createLinesGrid, createPropPanelElement, createTooltipElement, getChemSimilaritiesMarix, getSimilaritiesMarix} from './analysis/sequence-activity-cliffs';
|
|
16
|
-
import {createJsonMonomerLibFromSdf, encodeMonomers, getMolfilesFromSeq} from '@datagrok-libraries/bio/src/
|
|
15
|
+
import {createJsonMonomerLibFromSdf, encodeMonomers, getMolfilesFromSeq} from '@datagrok-libraries/bio/src/monomer-works/monomer-utils';
|
|
17
16
|
import {HELM_CORE_LIB_FILENAME} from '@datagrok-libraries/bio/src/utils/const';
|
|
18
17
|
import {getMacroMol} from './utils/atomic-works';
|
|
19
18
|
import {MacromoleculeSequenceCellRenderer} from './utils/cell-renderer';
|
|
@@ -39,16 +38,18 @@ import {saveAsFastaUI} from './utils/save-as-fasta';
|
|
|
39
38
|
import {BioSubstructureFilter} from './widgets/bio-substructure-filter';
|
|
40
39
|
import { getMonomericMols } from './calculations/monomerLevelMols';
|
|
41
40
|
import { delay } from '@datagrok-libraries/utils/src/test';
|
|
42
|
-
import {Observable, Subject} from 'rxjs';
|
|
41
|
+
import {from, Observable, Subject} from 'rxjs';
|
|
42
|
+
import {Monomer, IMonomerLib, MonomerWorks, MonomerLib, readLibrary,
|
|
43
|
+
SeqPalette, UnitsHandler, WebLogoViewer, getStats, splitterAsHelm} from '@datagrok-libraries/bio';
|
|
43
44
|
|
|
44
45
|
const STORAGE_NAME = 'Libraries';
|
|
45
|
-
const LIB_PATH = 'libraries
|
|
46
|
-
const
|
|
46
|
+
const LIB_PATH = 'System:AppData/Bio/libraries';
|
|
47
|
+
const LIBS_PATH = 'libraries/';
|
|
47
48
|
|
|
48
|
-
let monomerLib:
|
|
49
|
+
let monomerLib: IMonomerLib | null = null;
|
|
49
50
|
export let hydrophobPalette: SeqPaletteCustom | null = null;
|
|
50
51
|
|
|
51
|
-
export class SeqPaletteCustom implements
|
|
52
|
+
export class SeqPaletteCustom implements SeqPalette {
|
|
52
53
|
private readonly _palette: { [m: string]: string };
|
|
53
54
|
constructor(palette: { [m: string]: string }) {
|
|
54
55
|
this._palette = palette;
|
|
@@ -67,7 +68,7 @@ export async function initBio() {
|
|
|
67
68
|
const module = await grok.functions.call('Chem:getRdKitModule');
|
|
68
69
|
|
|
69
70
|
|
|
70
|
-
const series = monomerLib!.
|
|
71
|
+
const series = monomerLib!.getMonomerMolsByType('PEPTIDE')!;
|
|
71
72
|
Object.keys(series).forEach(symbol => {
|
|
72
73
|
monomers.push(symbol);
|
|
73
74
|
const block = series[symbol].replaceAll('#R', 'O ');
|
|
@@ -90,67 +91,23 @@ export async function initBio() {
|
|
|
90
91
|
|
|
91
92
|
async function loadLibraries() {
|
|
92
93
|
let uploadedLibraries: string[] = Object.values(await grok.dapi.userDataStorage.get(STORAGE_NAME, true));
|
|
93
|
-
for (let i = 0; i <
|
|
94
|
+
for (let i = 0; i < uploadedLibraries.length; ++i)
|
|
94
95
|
await monomerManager(uploadedLibraries[i]);
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
//name: monomerManager
|
|
98
99
|
//input: string value
|
|
99
100
|
export async function monomerManager(value: string) {
|
|
100
|
-
let data: any[] = [];
|
|
101
|
-
let file;
|
|
102
|
-
let dfSdf;
|
|
103
|
-
if (value.endsWith('.sdf')) {
|
|
104
|
-
const funcList: DG.Func[] = DG.Func.find({package: 'Chem', name: 'importSdf'});
|
|
105
|
-
if (funcList.length === 1) {
|
|
106
|
-
file = await _package.files.readAsBytes(`${LIB_PATH}${value}`);
|
|
107
|
-
dfSdf = await grok.functions.call('Chem:importSdf', {bytes: file});
|
|
108
|
-
data = createJsonMonomerLibFromSdf(dfSdf[0]);
|
|
109
|
-
} else {
|
|
110
|
-
grok.shell.warning('Chem package is not installed');
|
|
111
|
-
}
|
|
112
|
-
} else {
|
|
113
|
-
const file = await _package.files.readAsText(`${LIB_PATH}${value}`);
|
|
114
|
-
data = JSON.parse(file);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
let monomers: { [type: string]: { [name: string]: bio.Monomer } } = {};
|
|
118
|
-
const types: string[] = [];
|
|
119
|
-
//group monomers by their type
|
|
120
|
-
data.forEach(monomer => {
|
|
121
|
-
let monomerAdd: bio.Monomer = {
|
|
122
|
-
'symbol': monomer['symbol'],
|
|
123
|
-
'name': monomer['name'],
|
|
124
|
-
'naturalAnalog': monomer['naturalAnalog'],
|
|
125
|
-
'molfile': monomer['molfile'],
|
|
126
|
-
'rgroups': monomer['rgroups'],
|
|
127
|
-
'polymerType': monomer['polymerType'],
|
|
128
|
-
'monomerType': monomer['monomerType'],
|
|
129
|
-
'data': {}
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
Object.keys(monomer).forEach(prop => {
|
|
133
|
-
if (!expectedMonomerData.includes(prop))
|
|
134
|
-
monomerAdd.data[prop] = monomer[prop];
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
if (!types.includes(monomer['polymerType'])) {
|
|
138
|
-
monomers[monomer['polymerType']] = {};
|
|
139
|
-
types.push(monomer['polymerType']);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
monomers[monomer['polymerType']][monomer['symbol']] = monomerAdd;
|
|
143
|
-
});
|
|
144
|
-
|
|
145
101
|
if (monomerLib == null)
|
|
146
|
-
monomerLib =
|
|
147
|
-
|
|
148
|
-
|
|
102
|
+
monomerLib = await readLibrary(LIB_PATH, value);
|
|
103
|
+
else {
|
|
104
|
+
monomerLib!.update(await readLibrary(LIB_PATH, value));
|
|
105
|
+
}
|
|
149
106
|
}
|
|
150
107
|
|
|
151
108
|
//name: getBioLib
|
|
152
109
|
//output: object monomerLib
|
|
153
|
-
export function getBioLib():
|
|
110
|
+
export function getBioLib(): IMonomerLib | null {
|
|
154
111
|
return monomerLib;
|
|
155
112
|
}
|
|
156
113
|
|
|
@@ -171,7 +128,7 @@ export async function libraryPanel(seqColumn: DG.Column): Promise<DG.Widget> {
|
|
|
171
128
|
//@ts-ignore
|
|
172
129
|
let filesButton: HTMLButtonElement = ui.button('Manage', manageFiles);
|
|
173
130
|
let divInputs: HTMLDivElement = ui.div();
|
|
174
|
-
let librariesList: string[] = (await _package.files.list(`${
|
|
131
|
+
let librariesList: string[] = (await _package.files.list(`${LIBS_PATH}`, false, '')).map(it => it.fileName);
|
|
175
132
|
let uploadedLibraries: string[] = Object.values(await grok.dapi.userDataStorage.get(STORAGE_NAME, true));
|
|
176
133
|
for (let i = 0; i < uploadedLibraries.length; ++i) {
|
|
177
134
|
let libraryName: string = uploadedLibraries[i];
|
|
@@ -245,7 +202,7 @@ export function checkInputColumn(
|
|
|
245
202
|
let res: boolean = true;
|
|
246
203
|
let msg: string = '';
|
|
247
204
|
|
|
248
|
-
const uh = new
|
|
205
|
+
const uh = new UnitsHandler(col);
|
|
249
206
|
if (col.semType !== DG.SEMTYPE.MACROMOLECULE) {
|
|
250
207
|
grok.shell.warning(name + ' analysis is allowed for Macromolecules semantic type');
|
|
251
208
|
res = false;
|
|
@@ -295,7 +252,7 @@ export function sequenceAlignment(alignType: string, alignTable: string, gap: nu
|
|
|
295
252
|
//tags: viewer, panel
|
|
296
253
|
//output: viewer result
|
|
297
254
|
export function webLogoViewer() {
|
|
298
|
-
return new
|
|
255
|
+
return new WebLogoViewer();
|
|
299
256
|
}
|
|
300
257
|
|
|
301
258
|
//name: VdRegions
|
|
@@ -475,7 +432,7 @@ export async function compositionAnalysis(): Promise<void> {
|
|
|
475
432
|
if (col.semType != DG.SEMTYPE.MACROMOLECULE)
|
|
476
433
|
return false;
|
|
477
434
|
|
|
478
|
-
const colUH = new
|
|
435
|
+
const colUH = new UnitsHandler(col);
|
|
479
436
|
// TODO: prevent for cyclic, branched or multiple chains in Helm
|
|
480
437
|
return true;
|
|
481
438
|
});
|
|
@@ -494,7 +451,7 @@ export async function compositionAnalysis(): Promise<void> {
|
|
|
494
451
|
return;
|
|
495
452
|
} else if (colList.length > 1) {
|
|
496
453
|
const colListNames: string [] = colList.map((col) => col.name);
|
|
497
|
-
const selectedCol = colList.find((c) => { return (new
|
|
454
|
+
const selectedCol = colList.find((c) => { return (new UnitsHandler(c)).isMsa(); });
|
|
498
455
|
const colInput: DG.InputBase = ui.choiceInput(
|
|
499
456
|
'Column', selectedCol ? selectedCol.name : colListNames[0], colListNames);
|
|
500
457
|
ui.dialog({
|
|
@@ -546,7 +503,7 @@ export async function peptideMolecule(macroMolecule: DG.Cell): Promise<DG.Widget
|
|
|
546
503
|
//input: string fileContent
|
|
547
504
|
//output: list tables
|
|
548
505
|
export function importFasta(fileContent: string): DG.DataFrame [] {
|
|
549
|
-
const ffh = new
|
|
506
|
+
const ffh = new FastaFileHandler(fileContent);
|
|
550
507
|
return ffh.importFasta();
|
|
551
508
|
}
|
|
552
509
|
|
|
@@ -621,7 +578,7 @@ export async function testDetectMacromolecule(path: string): Promise<DG.DataFram
|
|
|
621
578
|
//tags: panel, bio
|
|
622
579
|
//input: column col {semType: Macromolecule}
|
|
623
580
|
export function splitToMonomers(col: DG.Column<string>): void {
|
|
624
|
-
if (!col.getTag(
|
|
581
|
+
if (!col.getTag(TAGS.aligned).includes(C.MSA))
|
|
625
582
|
return grok.shell.error('Splitting is applicable only for aligned sequences');
|
|
626
583
|
|
|
627
584
|
const tempDf = splitAlignedSequences(col);
|
|
@@ -638,7 +595,7 @@ export function splitToMonomers(col: DG.Column<string>): void {
|
|
|
638
595
|
//name: Bio: getHelmMonomers
|
|
639
596
|
//input: column sequence {semType: Macromolecule}
|
|
640
597
|
export function getHelmMonomers(sequence: DG.Column<string>): string[] {
|
|
641
|
-
const stats =
|
|
598
|
+
const stats = getStats(sequence, 1, splitterAsHelm);
|
|
642
599
|
return Object.keys(stats.freq);
|
|
643
600
|
}
|
|
644
601
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* Do not change these import lines to match external modules in webpack configuration */
|
|
2
|
+
import * as grok from 'datagrok-api/grok';
|
|
3
|
+
import * as ui from 'datagrok-api/ui';
|
|
4
|
+
import * as DG from 'datagrok-api/dg';
|
|
5
|
+
|
|
6
|
+
import {category, expectArray, test} from '@datagrok-libraries/utils/src/test';
|
|
7
|
+
import {FastaFileHandler} from '@datagrok-libraries/bio/src/utils/fasta-handler';
|
|
8
|
+
import {UnitsHandler} from '@datagrok-libraries/bio/src/utils/units-handler';
|
|
9
|
+
|
|
10
|
+
category('monomer lib', () => {
|
|
11
|
+
// test('monomerManager', async() => {
|
|
12
|
+
// const df: DG.DataFrame = DG.DataFrame.fromCsv(await _package.files.readAsText('tests/test.csv'));
|
|
13
|
+
// grok.shell.addTableView(df);
|
|
14
|
+
// await grok.functions.call('Helm:monomerManager', {value: 'HELMCoreLibrary.json'});
|
|
15
|
+
// const checkName = '2-Chloroadenine';
|
|
16
|
+
// let flag = false;
|
|
17
|
+
// const types = Object.keys(org.helm.webeditor.monomerTypeList());
|
|
18
|
+
// const monomers: any = [];
|
|
19
|
+
// for (var i = 0; i < types.length; i++) {
|
|
20
|
+
// //@ts-ignore
|
|
21
|
+
// monomers.push(new scil.helm.Monomers.getMonomerSet(types[i]));
|
|
22
|
+
// Object.keys(monomers[i]).forEach(k => {
|
|
23
|
+
// if (monomers[i][k].n == checkName){
|
|
24
|
+
// flag = true;
|
|
25
|
+
// }
|
|
26
|
+
// });
|
|
27
|
+
// }
|
|
28
|
+
// expect(flag, true);
|
|
29
|
+
// });
|
|
30
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
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
|
-
import {getMolfilesFromSingleSeq} from '@datagrok-libraries/bio/src/
|
|
4
|
+
import {getMolfilesFromSingleSeq} from '@datagrok-libraries/bio/src/monomer-works/monomer-utils';
|
|
5
5
|
import {HELM_CORE_LIB_FILENAME} from '@datagrok-libraries/bio/src/utils/const';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=
|
|
1
|
+
<html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=62cc009524f3. Commit 73ccfff9.</title><style type="text/css">html,
|
|
2
2
|
body {
|
|
3
3
|
font-family: Arial, Helvetica, sans-serif;
|
|
4
4
|
font-size: 1rem;
|
|
@@ -229,17 +229,18 @@ 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=
|
|
232
|
+
</style></head><body><div id="jesthtml-content"><header><h1 id="title">Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=62cc009524f3. Commit 73ccfff9.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-11-09 13:55:52</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">33.083s</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">22.595s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Failed : 205 : Bio.splitters.splitToMonomers : TypeError: Cannot read properties of undefined (reading 'push')
|
|
233
233
|
Test result : Failed : 0 : Bio.splitters.init : TypeError: Cannot read properties of undefined (reading 'forEach')
|
|
234
|
-
Test result : Failed : 0 : Bio.splitters.init : TypeError: Cannot read properties of
|
|
235
|
-
Test result : Failed :
|
|
236
|
-
Test result : Failed :
|
|
237
|
-
Test result : Failed :
|
|
238
|
-
Test result : Failed :
|
|
239
|
-
Test result : Failed :
|
|
240
|
-
Test result : Failed :
|
|
234
|
+
Test result : Failed : 0 : Bio.splitters.init : TypeError: Cannot read properties of null (reading 'getMonomerMolsByType')
|
|
235
|
+
Test result : Failed : 289 : Bio.renderers.rendererMacromoleculeFasta : TypeError: Cannot read properties of undefined (reading 'push')
|
|
236
|
+
Test result : Failed : 208 : Bio.renderers.rendererMacromoleculeSeparator : TypeError: Cannot read properties of undefined (reading 'push')
|
|
237
|
+
Test result : Failed : 63 : Bio.renderers.rendererMacromoleculeDifference : TypeError: Cannot read properties of undefined (reading 'push')
|
|
238
|
+
Test result : Failed : 364 : Bio.renderers.afterMsa : TypeError: Cannot read properties of undefined (reading 'push')
|
|
239
|
+
Test result : Failed : 220 : Bio.renderers.afterConvert : TypeError: Cannot read properties of undefined (reading 'push')
|
|
240
|
+
Test result : Failed : 67 : Bio.renderers.selectRendererBySemType : TypeError: Cannot read properties of undefined (reading 'push')
|
|
241
241
|
Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read properties of undefined (reading 'forEach')
|
|
242
|
-
Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read properties of
|
|
242
|
+
Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read properties of null (reading 'getMonomerMolsByType')
|
|
243
|
+
Test result : Failed : 1513 : Bio.substructureFilters.helm : Error: Expected "2", got "0"
|
|
243
244
|
|
|
244
245
|
at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:70:20
|
|
245
246
|
at Generator.next (<anonymous>)
|
|
@@ -260,130 +261,129 @@ Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read propertie
|
|
|
260
261
|
at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
|
|
261
262
|
at runMicrotasks (<anonymous>)
|
|
262
263
|
at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success : 1 : Bio.Palettes.testPaletteN : OK
|
|
263
|
-
Test result : Success :
|
|
264
|
+
Test result : Success : 1 : Bio.Palettes.testPaletteAA : OK
|
|
264
265
|
Test result : Success : 0 : Bio.Palettes.testPalettePtMe : OK
|
|
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 :
|
|
266
|
+
Test result : Success : 120 : Bio.detectors.NegativeEmpty : OK
|
|
267
|
+
Test result : Success : 108 : Bio.detectors.Negative1 : OK
|
|
268
|
+
Test result : Success : 41 : Bio.detectors.Negative2 : OK
|
|
269
|
+
Test result : Success : 16 : Bio.detectors.Negative3 : OK
|
|
270
|
+
Test result : Success : 540 : Bio.detectors.NegativeSmiles : OK
|
|
271
|
+
Test result : Success : 52 : Bio.detectors.Dna1 : OK
|
|
272
|
+
Test result : Success : 12 : Bio.detectors.Rna1 : OK
|
|
273
|
+
Test result : Success : 15 : Bio.detectors.AA1 : OK
|
|
274
|
+
Test result : Success : 11 : Bio.detectors.MsaDna1 : OK
|
|
275
|
+
Test result : Success : 16 : Bio.detectors.MsaAA1 : OK
|
|
276
|
+
Test result : Success : 15 : Bio.detectors.SepDna : OK
|
|
277
|
+
Test result : Success : 14 : Bio.detectors.SepRna : OK
|
|
277
278
|
Test result : Success : 25 : Bio.detectors.SepPt : OK
|
|
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 :
|
|
295
|
-
Test result : Success :
|
|
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 :
|
|
279
|
+
Test result : Success : 27 : Bio.detectors.SepUn1 : OK
|
|
280
|
+
Test result : Success : 9 : Bio.detectors.SepUn2 : OK
|
|
281
|
+
Test result : Success : 31 : Bio.detectors.SepMsaN1 : OK
|
|
282
|
+
Test result : Success : 508 : Bio.detectors.SamplesFastaCsvPt : OK
|
|
283
|
+
Test result : Success : 15 : Bio.detectors.SamplesFastaCsvNegativeEntry : OK
|
|
284
|
+
Test result : Success : 14 : Bio.detectors.SamplesFastaCsvNegativeLength : OK
|
|
285
|
+
Test result : Success : 94 : Bio.detectors.SamplesFastaCsvNegativeUniProtKB : OK
|
|
286
|
+
Test result : Success : 247 : Bio.detectors.SamplesFastaFastaPt : OK
|
|
287
|
+
Test result : Success : 1067 : Bio.detectors.samplesPeptidesComplexNegativeID : OK
|
|
288
|
+
Test result : Success : 34 : Bio.detectors.SamplesPeptidesComplexNegativeMeasured : OK
|
|
289
|
+
Test result : Success : 183 : Bio.detectors.SamplesPeptidesComplexNegativeValue : OK
|
|
290
|
+
Test result : Success : 259 : Bio.detectors.samplesMsaComplexUn : OK
|
|
291
|
+
Test result : Success : 43 : Bio.detectors.samplesMsaComplexNegativeActivity : OK
|
|
292
|
+
Test result : Success : 187 : Bio.detectors.samplesIdCsvNegativeID : OK
|
|
293
|
+
Test result : Success : 141 : Bio.detectors.samplesSarSmallCsvNegativeSmiles : OK
|
|
294
|
+
Test result : Success : 187 : Bio.detectors.samplesHelmCsvHELM : OK
|
|
295
|
+
Test result : Success : 19 : Bio.detectors.samplesHelmCsvNegativeActivity : OK
|
|
296
|
+
Test result : Success : 145 : Bio.detectors.samplesTestHelmNegativeID : OK
|
|
297
|
+
Test result : Success : 5 : Bio.detectors.samplesTestHelmNegativeTestType : OK
|
|
298
|
+
Test result : Success : 11 : Bio.detectors.samplesTestHelmPositiveHelmString : OK
|
|
299
|
+
Test result : Success : 4 : Bio.detectors.samplesTestHelmNegativeValid : OK
|
|
300
|
+
Test result : Success : 14 : Bio.detectors.samplesTestHelmNegativeMolWeight : OK
|
|
301
|
+
Test result : Success : 16 : Bio.detectors.samplesTestHelmNegativeMolFormula : OK
|
|
302
|
+
Test result : Success : 4 : Bio.detectors.samplesTestHelmNegativeSmiles : OK
|
|
303
|
+
Test result : Success : 988 : Bio.detectors.samplesTestDemogNegativeAll : OK
|
|
304
|
+
Test result : Success : 321 : Bio.detectors.samplesTestSmiles2NegativeSmiles : OK
|
|
305
|
+
Test result : Success : 114 : Bio.detectors.samplesTestActivityCliffsNegativeSmiles : OK
|
|
306
|
+
Test result : Success : 117 : Bio.detectors.samplesFastaPtPosSequence : OK
|
|
307
|
+
Test result : Success : 114 : Bio.detectors.samplesTestCerealNegativeCerealName : OK
|
|
308
|
+
Test result : Success : 170 : Bio.detectors.samplesTestSpgi100NegativeStereoCategory : OK
|
|
309
|
+
Test result : Success : 4 : Bio.detectors.samplesTestSpgi100NegativeScaffoldNames : OK
|
|
309
310
|
Test result : Success : 4 : Bio.detectors.samplesTestSpgi100NegativePrimaryScaffoldName : OK
|
|
310
|
-
Test result : Success :
|
|
311
|
-
Test result : Success :
|
|
312
|
-
Test result : Success :
|
|
313
|
-
Test result : Success :
|
|
314
|
-
Test result : Success :
|
|
315
|
-
Test result : Success :
|
|
316
|
-
Test result : Success :
|
|
317
|
-
Test result : Success :
|
|
318
|
-
Test result : Success :
|
|
319
|
-
Test result : Success :
|
|
320
|
-
Test result : Success :
|
|
321
|
-
Test result : Success :
|
|
311
|
+
Test result : Success : 4 : Bio.detectors.samplesTestSpgi100NegativeSampleName : OK
|
|
312
|
+
Test result : Success : 132 : Bio.detectors.samplesTestUnichemSourcesNegativeSrcUrl : OK
|
|
313
|
+
Test result : Success : 4 : Bio.detectors.samplesTestUnichemSourcesNegativeBaseIdUrl : OK
|
|
314
|
+
Test result : Success : 123 : Bio.detectors.samplesTestDmvOfficesNegativeOfficeName : OK
|
|
315
|
+
Test result : Success : 5 : Bio.detectors.samplesTestDmvOfficesNegativeCity : OK
|
|
316
|
+
Test result : Success : 131 : Bio.detectors.samplesTestAlertCollectionNegativeSmarts : OK
|
|
317
|
+
Test result : Success : 1887 : Bio.MSA.isCorrect : OK
|
|
318
|
+
Test result : Success : 72 : Bio.MSA.isCorrectLong : OK
|
|
319
|
+
Test result : Success : 910 : Bio.sequenceSpace.sequenceSpaceOpens : OK
|
|
320
|
+
Test result : Success : 438 : Bio.sequenceSpace.sequenceSpaceWithEmptyRows : OK
|
|
321
|
+
Test result : Success : 691 : Bio.activityCliffs.activityCliffsOpens : OK
|
|
322
|
+
Test result : Success : 694 : Bio.activityCliffs.activityCliffsWithEmptyRows : OK
|
|
322
323
|
Test result : Success : 1 : Bio.splitters.fastaMulti : OK
|
|
323
|
-
Test result : Success :
|
|
324
|
+
Test result : Success : 1 : Bio.splitters.helm1 : OK
|
|
324
325
|
Test result : Success : 0 : Bio.splitters.helm2 : OK
|
|
325
|
-
Test result : Success :
|
|
326
|
-
Test result : Success :
|
|
326
|
+
Test result : Success : 1 : Bio.splitters.helm3-multichar : OK
|
|
327
|
+
Test result : Success : 1 : Bio.splitters.testHelm1 : OK
|
|
327
328
|
Test result : Success : 0 : Bio.splitters.testHelm2 : OK
|
|
328
329
|
Test result : Success : 1 : Bio.splitters.testHelm3 : OK
|
|
329
|
-
Test result : Success :
|
|
330
|
-
Test result : Success :
|
|
331
|
-
Test result : Success :
|
|
330
|
+
Test result : Success : 2 : Bio.splitters.getHelmMonomers : OK
|
|
331
|
+
Test result : Success : 79 : Bio.renderers.long sequence performance : OK
|
|
332
|
+
Test result : Success : 787 : Bio.renderers.many sequence performance : OK
|
|
332
333
|
Test result : Success : 0 : Bio.renderers.setRendererManually : GROK-11212
|
|
333
334
|
Test result : Success : 5 : Bio.converters.testFastaPtToSeparator : OK
|
|
334
|
-
Test result : Success :
|
|
335
|
+
Test result : Success : 4 : Bio.converters.testFastaDnaToSeparator : OK
|
|
335
336
|
Test result : Success : 3 : Bio.converters.testFastaRnaToSeparator : OK
|
|
336
|
-
Test result : Success :
|
|
337
|
-
Test result : Success :
|
|
338
|
-
Test result : Success :
|
|
337
|
+
Test result : Success : 4 : Bio.converters.testFastaGapsToSeparator : OK
|
|
338
|
+
Test result : Success : 2 : Bio.converters.testFastaPtToHelm : OK
|
|
339
|
+
Test result : Success : 1 : Bio.converters.testFastaDnaToHelm : OK
|
|
339
340
|
Test result : Success : 1 : Bio.converters.testFastaRnaToHelm : OK
|
|
340
341
|
Test result : Success : 2 : Bio.converters.testFastaGapsToHelm : OK
|
|
341
|
-
Test result : Success :
|
|
342
|
+
Test result : Success : 1 : Bio.converters.testSeparatorPtToFasta : OK
|
|
342
343
|
Test result : Success : 1 : Bio.converters.testSeparatorDnaToFasta : OK
|
|
343
344
|
Test result : Success : 0 : Bio.converters.testSeparatorRnaToFasta : OK
|
|
344
|
-
Test result : Success :
|
|
345
|
+
Test result : Success : 1 : Bio.converters.testSeparatorGapsToFasta : OK
|
|
345
346
|
Test result : Success : 0 : Bio.converters.testSeparatorPtToHelm : OK
|
|
346
|
-
Test result : Success :
|
|
347
|
-
Test result : Success :
|
|
348
|
-
Test result : Success :
|
|
347
|
+
Test result : Success : 1 : Bio.converters.testSeparatorDnaToHelm : OK
|
|
348
|
+
Test result : Success : 0 : Bio.converters.testSeparatorRnaToHelm : OK
|
|
349
|
+
Test result : Success : 1 : Bio.converters.testSeparatorGapsToHelm : OK
|
|
349
350
|
Test result : Success : 1 : Bio.converters.testHelmDnaToFasta : OK
|
|
350
|
-
Test result : Success :
|
|
351
|
+
Test result : Success : 0 : Bio.converters.testHelmRnaToFasta : OK
|
|
351
352
|
Test result : Success : 0 : Bio.converters.testHelmPtToFasta : OK
|
|
352
|
-
Test result : Success :
|
|
353
|
+
Test result : Success : 0 : Bio.converters.testHelmDnaToSeparator : OK
|
|
353
354
|
Test result : Success : 0 : Bio.converters.testHelmRnaToSeparator : OK
|
|
354
|
-
Test result : Success :
|
|
355
|
-
Test result : Success :
|
|
356
|
-
Test result : Success :
|
|
357
|
-
Test result : Success :
|
|
358
|
-
Test result : Success :
|
|
355
|
+
Test result : Success : 0 : Bio.converters.testHelmPtToSeparator : OK
|
|
356
|
+
Test result : Success : 2 : Bio.converters.testHelmLoneRibose : OK
|
|
357
|
+
Test result : Success : 2 : Bio.converters.testHelmLoneDeoxyribose : OK
|
|
358
|
+
Test result : Success : 2 : Bio.converters.testHelmLonePhosphorus : OK
|
|
359
|
+
Test result : Success : 1 : Bio.fastaFileHandler.testNormalFormatting : OK
|
|
359
360
|
Test result : Success : 0 : Bio.fastaFileHandler.testExtraSpaces : OK
|
|
360
361
|
Test result : Success : 0 : Bio.fastaFileHandler.testExtraNewlines : OK
|
|
361
|
-
Test result : Success :
|
|
362
|
+
Test result : Success : 1 : Bio.fastaExport.wrapSequenceSingle : OK
|
|
362
363
|
Test result : Success : 0 : Bio.fastaExport.wrapSequenceMulti : OK
|
|
363
364
|
Test result : Success : 2 : Bio.fastaExport.saveAsFastaTest1 : OK
|
|
364
365
|
Test result : Success : 1 : Bio.fastaExport.saveAsFastaTest2 : OK
|
|
365
366
|
Test result : Success : 1 : Bio.bio.testGetStatsHelm1 : OK
|
|
366
367
|
Test result : Success : 1 : Bio.bio.testGetStatsN1 : OK
|
|
367
|
-
Test result : Success :
|
|
368
|
+
Test result : Success : 1 : Bio.bio.testGetAlphabetSimilarity : OK
|
|
368
369
|
Test result : Success : 1 : Bio.bio.testPickupPaletteN1 : OK
|
|
369
|
-
Test result : Success :
|
|
370
|
-
Test result : Success :
|
|
370
|
+
Test result : Success : 2 : Bio.bio.testPickupPaletteN1e : OK
|
|
371
|
+
Test result : Success : 2 : Bio.bio.testPickupPaletteAA1 : OK
|
|
371
372
|
Test result : Success : 1 : Bio.bio.testPickupPaletteX : OK
|
|
372
373
|
Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerSingle : OK
|
|
373
|
-
Test result : Success :
|
|
374
|
+
Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerShort : OK
|
|
374
375
|
Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerLong56 : OK
|
|
375
376
|
Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerComplexFirstPartShort : OK
|
|
376
377
|
Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerComplexFirstPartLong56 : OK
|
|
377
|
-
Test result : Success :
|
|
378
|
-
Test result : Success :
|
|
379
|
-
Test result : Success :
|
|
380
|
-
Test result : Success :
|
|
378
|
+
Test result : Success : 110 : Bio.WebLogo-positions.allPositions : OK
|
|
379
|
+
Test result : Success : 88 : Bio.WebLogo-positions.positions with shrinkEmptyTail option true (filterd) : OK
|
|
380
|
+
Test result : Success : 95 : Bio.WebLogo-positions.positions with skipEmptyPositions option : OK
|
|
381
|
+
Test result : Success : 5 : Bio.checkInputColumn.testMsaPos : OK
|
|
381
382
|
Test result : Success : 1 : Bio.checkInputColumn.testMsaNegHelm : OK
|
|
382
|
-
Test result : Success :
|
|
383
|
-
Test result : Success :
|
|
384
|
-
Test result : Success :
|
|
385
|
-
Test result : Success :
|
|
386
|
-
Test result : Success :
|
|
387
|
-
Test result : Success :
|
|
388
|
-
Test result : Success : 1714 : Bio.substructureFilters.helm : OK
|
|
383
|
+
Test result : Success : 2 : Bio.checkInputColumn.testMsaNegUN : OK
|
|
384
|
+
Test result : Success : 0 : Bio.checkInputColumn.testGetActionFunctionMeta : OK
|
|
385
|
+
Test result : Success : 394 : Bio.similarity/diversity.similaritySearchViewer : OK
|
|
386
|
+
Test result : Success : 251 : Bio.similarity/diversity.diversitySearchViewer : OK
|
|
387
|
+
Test result : Success : 202 : Bio.substructureFilters.fasta : OK
|
|
388
|
+
Test result : Success : 403 : Bio.substructureFilters.separator : OK
|
|
389
389
|
</pre></div></div></div></div></body></html>
|