@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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "Leonid Stolbov",
6
6
  "email": "lstolbov@datagrok.ai"
7
7
  },
8
- "version": "2.1.0",
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.12",
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": "1.3.19",
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/utils/monomer-utils';
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 expectedMonomerData = ['symbol', 'name', 'molfile', 'rgroups', 'polymerType', 'monomerType'];
46
+ const LIB_PATH = 'System:AppData/Bio/libraries';
47
+ const LIBS_PATH = 'libraries/';
47
48
 
48
- let monomerLib: bio.IMonomerLib | null = null;
49
+ let monomerLib: IMonomerLib | null = null;
49
50
  export let hydrophobPalette: SeqPaletteCustom | null = null;
50
51
 
51
- export class SeqPaletteCustom implements bio.SeqPalette {
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!.getMonomersByType('PEPTIDE')!;
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 < 1; ++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 = new bio.MonomerLib();
147
-
148
- monomerLib!.update(monomers);
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(): bio.IMonomerLib | null {
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(`${LIB_PATH}`, false, '')).map(it => it.fileName);
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 bio.UnitsHandler(col);
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 bio.WebLogoViewer();
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 bio.UnitsHandler(col);
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 bio.UnitsHandler(c)).isMsa(); });
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 bio.FastaFileHandler(fileContent);
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(bio.TAGS.aligned).includes(C.MSA))
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 = bio.getStats(sequence, 1, bio.splitterAsHelm);
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/utils/monomer-utils';
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=3afbd4014fa1. Commit de511bfe.</title><style type="text/css">html,
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=3afbd4014fa1. Commit de511bfe.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-11-07 13:45: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">36.52s</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.685s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Failed : 230 : Bio.splitters.splitToMonomers : TypeError: Cannot read properties of undefined (reading 'push')
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 undefined (reading 'endsWith')
235
- Test result : Failed : 265 : Bio.renderers.rendererMacromoleculeFasta : TypeError: Cannot read properties of undefined (reading 'push')
236
- Test result : Failed : 174 : Bio.renderers.rendererMacromoleculeSeparator : TypeError: Cannot read properties of undefined (reading 'push')
237
- Test result : Failed : 59 : Bio.renderers.rendererMacromoleculeDifference : TypeError: Cannot read properties of undefined (reading 'push')
238
- Test result : Failed : 329 : Bio.renderers.afterMsa : TypeError: Cannot read properties of undefined (reading 'push')
239
- Test result : Failed : 238 : Bio.renderers.afterConvert : TypeError: Cannot read properties of undefined (reading 'push')
240
- Test result : Failed : 63 : Bio.renderers.selectRendererBySemType : TypeError: Cannot read properties of undefined (reading 'push')
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 undefined (reading 'endsWith')
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 (&lt;anonymous&gt;)
@@ -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 (&lt;anonymous&gt;)
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 : 0 : Bio.Palettes.testPaletteAA : OK
264
+ Test result : Success : 1 : Bio.Palettes.testPaletteAA : OK
264
265
  Test result : Success : 0 : Bio.Palettes.testPalettePtMe : OK
265
- Test result : Success : 49 : Bio.detectors.NegativeEmpty : OK
266
- Test result : Success : 15 : Bio.detectors.Negative1 : OK
267
- Test result : Success : 21 : Bio.detectors.Negative2 : OK
268
- Test result : Success : 14 : Bio.detectors.Negative3 : OK
269
- Test result : Success : 53 : Bio.detectors.NegativeSmiles : OK
270
- Test result : Success : 21 : Bio.detectors.Dna1 : OK
271
- Test result : Success : 23 : Bio.detectors.Rna1 : OK
272
- Test result : Success : 17 : Bio.detectors.AA1 : OK
273
- Test result : Success : 8 : Bio.detectors.MsaDna1 : OK
274
- Test result : Success : 13 : Bio.detectors.MsaAA1 : OK
275
- Test result : Success : 13 : Bio.detectors.SepDna : OK
276
- Test result : Success : 28 : Bio.detectors.SepRna : OK
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 : 9 : Bio.detectors.SepUn1 : OK
279
- Test result : Success : 7 : Bio.detectors.SepUn2 : OK
280
- Test result : Success : 7 : Bio.detectors.SepMsaN1 : OK
281
- Test result : Success : 392 : Bio.detectors.SamplesFastaCsvPt : OK
282
- Test result : Success : 16 : Bio.detectors.SamplesFastaCsvNegativeEntry : OK
283
- Test result : Success : 5 : Bio.detectors.SamplesFastaCsvNegativeLength : OK
284
- Test result : Success : 38 : Bio.detectors.SamplesFastaCsvNegativeUniProtKB : OK
285
- Test result : Success : 272 : Bio.detectors.SamplesFastaFastaPt : OK
286
- Test result : Success : 879 : Bio.detectors.samplesPeptidesComplexNegativeID : OK
287
- Test result : Success : 16 : Bio.detectors.SamplesPeptidesComplexNegativeMeasured : OK
288
- Test result : Success : 114 : Bio.detectors.SamplesPeptidesComplexNegativeValue : OK
289
- Test result : Success : 349 : Bio.detectors.samplesMsaComplexUn : OK
290
- Test result : Success : 55 : Bio.detectors.samplesMsaComplexNegativeActivity : OK
291
- Test result : Success : 705 : Bio.detectors.samplesIdCsvNegativeID : OK
292
- Test result : Success : 631 : Bio.detectors.samplesSarSmallCsvNegativeSmiles : OK
293
- Test result : Success : 192 : Bio.detectors.samplesHelmCsvHELM : OK
294
- Test result : Success : 28 : Bio.detectors.samplesHelmCsvNegativeActivity : OK
295
- Test result : Success : 149 : Bio.detectors.samplesTestHelmNegativeID : OK
296
- Test result : Success : 16 : Bio.detectors.samplesTestHelmNegativeTestType : OK
297
- Test result : Success : 12 : Bio.detectors.samplesTestHelmPositiveHelmString : OK
298
- Test result : Success : 8 : Bio.detectors.samplesTestHelmNegativeValid : OK
299
- Test result : Success : 25 : Bio.detectors.samplesTestHelmNegativeMolWeight : OK
300
- Test result : Success : 18 : Bio.detectors.samplesTestHelmNegativeMolFormula : OK
301
- Test result : Success : 9 : Bio.detectors.samplesTestHelmNegativeSmiles : OK
302
- Test result : Success : 1413 : Bio.detectors.samplesTestDemogNegativeAll : OK
303
- Test result : Success : 503 : Bio.detectors.samplesTestSmiles2NegativeSmiles : OK
304
- Test result : Success : 152 : Bio.detectors.samplesTestActivityCliffsNegativeSmiles : OK
305
- Test result : Success : 133 : Bio.detectors.samplesFastaPtPosSequence : OK
306
- Test result : Success : 143 : Bio.detectors.samplesTestCerealNegativeCerealName : OK
307
- Test result : Success : 281 : Bio.detectors.samplesTestSpgi100NegativeStereoCategory : OK
308
- Test result : Success : 7 : Bio.detectors.samplesTestSpgi100NegativeScaffoldNames : OK
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 : 12 : Bio.detectors.samplesTestSpgi100NegativeSampleName : OK
311
- Test result : Success : 193 : Bio.detectors.samplesTestUnichemSourcesNegativeSrcUrl : OK
312
- Test result : Success : 11 : Bio.detectors.samplesTestUnichemSourcesNegativeBaseIdUrl : OK
313
- Test result : Success : 181 : Bio.detectors.samplesTestDmvOfficesNegativeOfficeName : OK
314
- Test result : Success : 6 : Bio.detectors.samplesTestDmvOfficesNegativeCity : OK
315
- Test result : Success : 188 : Bio.detectors.samplesTestAlertCollectionNegativeSmarts : OK
316
- Test result : Success : 1740 : Bio.MSA.isCorrect : OK
317
- Test result : Success : 162 : Bio.MSA.isCorrectLong : OK
318
- Test result : Success : 1243 : Bio.sequenceSpace.sequenceSpaceOpens : OK
319
- Test result : Success : 532 : Bio.sequenceSpace.sequenceSpaceWithEmptyRows : OK
320
- Test result : Success : 768 : Bio.activityCliffs.activityCliffsOpens : OK
321
- Test result : Success : 1159 : Bio.activityCliffs.activityCliffsWithEmptyRows : OK
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 : 0 : Bio.splitters.helm1 : OK
324
+ Test result : Success : 1 : Bio.splitters.helm1 : OK
324
325
  Test result : Success : 0 : Bio.splitters.helm2 : OK
325
- Test result : Success : 0 : Bio.splitters.helm3-multichar : OK
326
- Test result : Success : 0 : Bio.splitters.testHelm1 : OK
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 : 1 : Bio.splitters.getHelmMonomers : OK
330
- Test result : Success : 74 : Bio.renderers.long sequence performance : OK
331
- Test result : Success : 732 : Bio.renderers.many sequence performance : OK
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 : 3 : Bio.converters.testFastaDnaToSeparator : OK
335
+ Test result : Success : 4 : Bio.converters.testFastaDnaToSeparator : OK
335
336
  Test result : Success : 3 : Bio.converters.testFastaRnaToSeparator : OK
336
- Test result : Success : 2 : Bio.converters.testFastaGapsToSeparator : OK
337
- Test result : Success : 1 : Bio.converters.testFastaPtToHelm : OK
338
- Test result : Success : 2 : Bio.converters.testFastaDnaToHelm : OK
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 : 0 : Bio.converters.testSeparatorPtToFasta : OK
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 : 0 : Bio.converters.testSeparatorGapsToFasta : OK
345
+ Test result : Success : 1 : Bio.converters.testSeparatorGapsToFasta : OK
345
346
  Test result : Success : 0 : Bio.converters.testSeparatorPtToHelm : OK
346
- Test result : Success : 0 : Bio.converters.testSeparatorDnaToHelm : OK
347
- Test result : Success : 1 : Bio.converters.testSeparatorRnaToHelm : OK
348
- Test result : Success : 0 : Bio.converters.testSeparatorGapsToHelm : OK
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 : 1 : Bio.converters.testHelmRnaToFasta : OK
351
+ Test result : Success : 0 : Bio.converters.testHelmRnaToFasta : OK
351
352
  Test result : Success : 0 : Bio.converters.testHelmPtToFasta : OK
352
- Test result : Success : 1 : Bio.converters.testHelmDnaToSeparator : OK
353
+ Test result : Success : 0 : Bio.converters.testHelmDnaToSeparator : OK
353
354
  Test result : Success : 0 : Bio.converters.testHelmRnaToSeparator : OK
354
- Test result : Success : 1 : Bio.converters.testHelmPtToSeparator : OK
355
- Test result : Success : 1 : Bio.converters.testHelmLoneRibose : OK
356
- Test result : Success : 11 : Bio.converters.testHelmLoneDeoxyribose : OK
357
- Test result : Success : 1 : Bio.converters.testHelmLonePhosphorus : OK
358
- Test result : Success : 9 : Bio.fastaFileHandler.testNormalFormatting : OK
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 : 0 : Bio.fastaExport.wrapSequenceSingle : OK
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 : 0 : Bio.bio.testGetAlphabetSimilarity : OK
368
+ Test result : Success : 1 : Bio.bio.testGetAlphabetSimilarity : OK
368
369
  Test result : Success : 1 : Bio.bio.testPickupPaletteN1 : OK
369
- Test result : Success : 1 : Bio.bio.testPickupPaletteN1e : OK
370
- Test result : Success : 8 : Bio.bio.testPickupPaletteAA1 : OK
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 : 1 : Bio.WebLogo.monomerToShort.longMonomerShort : OK
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 : 247 : Bio.WebLogo-positions.allPositions : OK
378
- Test result : Success : 136 : Bio.WebLogo-positions.positions with shrinkEmptyTail option true (filterd) : OK
379
- Test result : Success : 87 : Bio.WebLogo-positions.positions with skipEmptyPositions option : OK
380
- Test result : Success : 3 : Bio.checkInputColumn.testMsaPos : OK
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 : 1 : Bio.checkInputColumn.testMsaNegUN : OK
383
- Test result : Success : 1 : Bio.checkInputColumn.testGetActionFunctionMeta : OK
384
- Test result : Success : 372 : Bio.similarity/diversity.similaritySearchViewer : OK
385
- Test result : Success : 430 : Bio.similarity/diversity.diversitySearchViewer : OK
386
- Test result : Success : 194 : Bio.substructureFilters.fasta : OK
387
- Test result : Success : 394 : Bio.substructureFilters.separator : OK
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>