@datagrok/bio 2.0.33 → 2.1.0

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.0.33",
8
+ "version": "2.1.0",
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.8.0",
17
+ "@datagrok-libraries/bio": "^5.9.12",
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",
package/src/package.ts CHANGED
@@ -21,7 +21,7 @@ import {convert} from './utils/convert';
21
21
  import {getMacroMolColumnPropertyPanel, representationsWidget} from './widgets/representations';
22
22
  import {MonomerFreqs, TAGS} from '@datagrok-libraries/bio/src/utils/macromolecule';
23
23
  import {ALPHABET, NOTATION} from '@datagrok-libraries/bio/src/utils/macromolecule'
24
- import {_toAtomicLevel} from '@datagrok-libraries/bio/src/utils/to-atomic-level';
24
+ import {_toAtomicLevel} from '@datagrok-libraries/bio/src/monomer-works/to-atomic-level';
25
25
  import {FastaFileHandler} from '@datagrok-libraries/bio/src/utils/fasta-handler';
26
26
  import {removeEmptyStringRows} from '@datagrok-libraries/utils/src/dataframe-utils';
27
27
  import {
@@ -45,73 +45,9 @@ const STORAGE_NAME = 'Libraries';
45
45
  const LIB_PATH = 'libraries/';
46
46
  const expectedMonomerData = ['symbol', 'name', 'molfile', 'rgroups', 'polymerType', 'monomerType'];
47
47
 
48
- let monomerLib: IMonomerLib | null = null;
48
+ let monomerLib: bio.IMonomerLib | null = null;
49
49
  export let hydrophobPalette: SeqPaletteCustom | null = null;
50
50
 
51
- class MonomerLib implements IMonomerLib {
52
- private _monomers: { [type: string]: { [name: string]: Monomer } } = {};
53
- private _onChanged = new Subject<any>();
54
-
55
- getMonomer(monomerType: string, monomerName: string): Monomer | null {
56
- if (monomerType in this._monomers! && monomerName in this._monomers![monomerType])
57
- return this._monomers![monomerType][monomerName];
58
- else
59
- return null;
60
- }
61
-
62
- getTypes(): string[] {
63
- return Object.keys(this._monomers);
64
- }
65
-
66
- getMonomersByType(type: string): {[symbol: string]: string} {
67
- let res: {[symbol: string]: string} = {};
68
-
69
- Object.keys(this._monomers[type]).forEach(monomerSymbol => {
70
- res[monomerSymbol] = this._monomers[type][monomerSymbol].molfile;
71
- });
72
-
73
- return res;
74
- }
75
-
76
- get onChanged(): Observable<any> {
77
- return this._onChanged;
78
- }
79
-
80
- public update(monomers: { [type: string]: { [name: string]: Monomer } }): void {
81
- Object.keys(monomers).forEach(type => {
82
- //could possibly rewrite -> TODO: check duplicated monomer symbol
83
-
84
- if (!this.getTypes().includes(type))
85
- this._monomers![type] = {};
86
-
87
- Object.keys(monomers[type]).forEach(monomerName =>{
88
- this._monomers[type][monomerName] = monomers[type][monomerName];
89
- })
90
- });
91
-
92
- this._onChanged.next();
93
- }
94
- }
95
-
96
- export type Monomer = {
97
- symbol: string,
98
- name: string,
99
- molfile: string,
100
- rgroups: {capGroupSmiles: string, alternateId: string, capGroupName: string, label: string }[],
101
- polymerType: string,
102
- monomerType: string,
103
- data: {[property: string]: string}
104
- }
105
-
106
- //expected types: HELM_AA, HELM_BASE, HELM_CHEM, HELM_LINKER, HELM_SUGAR
107
- export interface IMonomerLib {
108
- getMonomer(monomerType: string, monomerName: string): Monomer | null;
109
- getMonomersByType(type: string): {[symbol: string]: string} | null;
110
- getTypes(): string[];
111
- update(monomers: { [type: string]: { [name: string]: Monomer } }): void;
112
- get onChanged(): Observable<any>;
113
- }
114
-
115
51
  export class SeqPaletteCustom implements bio.SeqPalette {
116
52
  private readonly _palette: { [m: string]: string };
117
53
  constructor(palette: { [m: string]: string }) {
@@ -166,7 +102,6 @@ export async function monomerManager(value: string) {
166
102
  let dfSdf;
167
103
  if (value.endsWith('.sdf')) {
168
104
  const funcList: DG.Func[] = DG.Func.find({package: 'Chem', name: 'importSdf'});
169
- console.debug(`Helm: initHelm() funcList.length = ${funcList.length}`);
170
105
  if (funcList.length === 1) {
171
106
  file = await _package.files.readAsBytes(`${LIB_PATH}${value}`);
172
107
  dfSdf = await grok.functions.call('Chem:importSdf', {bytes: file});
@@ -179,16 +114,14 @@ export async function monomerManager(value: string) {
179
114
  data = JSON.parse(file);
180
115
  }
181
116
 
182
- if (monomerLib == null)
183
- monomerLib = new MonomerLib();
184
-
185
- let monomers: { [type: string]: { [name: string]: Monomer } } = {};
117
+ let monomers: { [type: string]: { [name: string]: bio.Monomer } } = {};
186
118
  const types: string[] = [];
187
119
  //group monomers by their type
188
120
  data.forEach(monomer => {
189
- let monomerAdd: Monomer = {
121
+ let monomerAdd: bio.Monomer = {
190
122
  'symbol': monomer['symbol'],
191
123
  'name': monomer['name'],
124
+ 'naturalAnalog': monomer['naturalAnalog'],
192
125
  'molfile': monomer['molfile'],
193
126
  'rgroups': monomer['rgroups'],
194
127
  'polymerType': monomer['polymerType'],
@@ -209,14 +142,32 @@ export async function monomerManager(value: string) {
209
142
  monomers[monomer['polymerType']][monomer['symbol']] = monomerAdd;
210
143
  });
211
144
 
145
+ if (monomerLib == null)
146
+ monomerLib = new bio.MonomerLib();
147
+
212
148
  monomerLib!.update(monomers);
213
149
  }
214
150
 
151
+ //name: getBioLib
152
+ //output: object monomerLib
153
+ export function getBioLib(): bio.IMonomerLib | null {
154
+ return monomerLib;
155
+ }
156
+
157
+ //name: manageFiles
158
+ export async function manageFiles() {
159
+ const a = ui.dialog({title: 'Manage files'})
160
+ //@ts-ignore
161
+ .add(ui.fileBrowser({path: 'System:AppData/Bio/libraries'}).root)
162
+ .addButton('OK', () => a.close())
163
+ .show();
164
+ }
165
+
215
166
  //name: Manage Libraries
216
167
  //tags: panel, widgets
217
- //input: column helmColumn {semType: Macromolecule}
168
+ //input: column seqColumn {semType: Macromolecule}
218
169
  //output: widget result
219
- export async function libraryPanel(helmColumn: DG.Column): Promise<DG.Widget> {
170
+ export async function libraryPanel(seqColumn: DG.Column): Promise<DG.Widget> {
220
171
  //@ts-ignore
221
172
  let filesButton: HTMLButtonElement = ui.button('Manage', manageFiles);
222
173
  let divInputs: HTMLDivElement = ui.div();
@@ -227,7 +178,6 @@ export async function libraryPanel(helmColumn: DG.Column): Promise<DG.Widget> {
227
178
  divInputs.append(ui.boolInput(libraryName, true, async() => {
228
179
  grok.dapi.userDataStorage.remove(STORAGE_NAME, libraryName, true);
229
180
  await loadLibraries();
230
- grok.shell.tv.grid.invalidate();
231
181
  }).root);
232
182
  }
233
183
  let unusedLibraries: string[] = librariesList.filter(x => !uploadedLibraries.includes(x));
@@ -3,7 +3,6 @@ import * as ui from 'datagrok-api/ui';
3
3
  import * as DG from 'datagrok-api/dg';
4
4
  import {getMolfilesFromSingleSeq} from '@datagrok-libraries/bio/src/utils/monomer-utils';
5
5
  import {HELM_CORE_LIB_FILENAME} from '@datagrok-libraries/bio/src/utils/const';
6
- import {getMacroMol} from '@datagrok-libraries/bio/src/utils/atomic-works';
7
6
 
8
7
  /**
9
8
  * @export
@@ -79,7 +78,7 @@ export async function representationsWidget(macroMolecule: DG.Cell, monomersLibO
79
78
  try {
80
79
  try {
81
80
  const atomicCodes = getMolfilesFromSingleSeq(macroMolecule, monomersLibObject);
82
- const result = await getMacroMol(atomicCodes!);
81
+ const result = ''//await getMacroMol(atomicCodes!);
83
82
  const molBlock2D = result[0];
84
83
  molBlock3D = (await grok.functions.call('Bio:Embed', {molBlock2D})) as unknown as string;
85
84
  } catch (e) {
@@ -1,4 +1,4 @@
1
- <html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=3afbd4014fa1. Commit 15e7930e.</title><style type="text/css">html,
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,
2
2
  body {
3
3
  font-family: Arial, Helvetica, sans-serif;
4
4
  font-size: 1rem;
@@ -229,15 +229,15 @@ 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 15e7930e.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-11-04 14:02:19</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">45.144s</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.346s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Failed : 234 : 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=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')
233
233
  Test result : Failed : 0 : Bio.splitters.init : TypeError: Cannot read properties of undefined (reading 'forEach')
234
234
  Test result : Failed : 0 : Bio.splitters.init : TypeError: Cannot read properties of undefined (reading 'endsWith')
235
- Test result : Failed : 359 : Bio.renderers.rendererMacromoleculeFasta : TypeError: Cannot read properties of undefined (reading 'push')
236
- Test result : Failed : 254 : Bio.renderers.rendererMacromoleculeSeparator : TypeError: Cannot read properties of undefined (reading 'push')
237
- Test result : Failed : 96 : Bio.renderers.rendererMacromoleculeDifference : TypeError: Cannot read properties of undefined (reading 'push')
238
- Test result : Failed : 545 : Bio.renderers.afterMsa : TypeError: Cannot read properties of undefined (reading 'push')
239
- Test result : Failed : 352 : Bio.renderers.afterConvert : TypeError: Cannot read properties of undefined (reading 'push')
240
- Test result : Failed : 104 : Bio.renderers.selectRendererBySemType : TypeError: Cannot read properties of undefined (reading 'push')
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')
241
241
  Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read properties of undefined (reading 'forEach')
242
242
  Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read properties of undefined (reading 'endsWith')
243
243
 
@@ -259,131 +259,131 @@ Test result : Failed : 0 : Bio.renderers.init : TypeError: Cannot read propertie
259
259
  at Generator.next (&lt;anonymous&gt;)
260
260
  at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
261
261
  at runMicrotasks (&lt;anonymous&gt;)
262
- at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success : 0 : Bio.Palettes.testPaletteN : OK
263
- Test result : Success : 1 : Bio.Palettes.testPaletteAA : OK
262
+ 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
264
  Test result : Success : 0 : Bio.Palettes.testPalettePtMe : OK
265
- Test result : Success : 273 : Bio.detectors.NegativeEmpty : OK
266
- Test result : Success : 34 : Bio.detectors.Negative1 : OK
267
- Test result : Success : 36 : Bio.detectors.Negative2 : OK
268
- Test result : Success : 31 : Bio.detectors.Negative3 : OK
269
- Test result : Success : 44 : Bio.detectors.NegativeSmiles : OK
270
- Test result : Success : 24 : Bio.detectors.Dna1 : OK
271
- Test result : Success : 37 : Bio.detectors.Rna1 : OK
272
- Test result : Success : 38 : Bio.detectors.AA1 : OK
273
- Test result : Success : 23 : Bio.detectors.MsaDna1 : OK
274
- Test result : Success : 46 : Bio.detectors.MsaAA1 : OK
275
- Test result : Success : 21 : Bio.detectors.SepDna : OK
276
- Test result : Success : 22 : Bio.detectors.SepRna : OK
277
- Test result : Success : 24 : Bio.detectors.SepPt : OK
278
- Test result : Success : 19 : Bio.detectors.SepUn1 : OK
279
- Test result : Success : 18 : Bio.detectors.SepUn2 : OK
280
- Test result : Success : 29 : Bio.detectors.SepMsaN1 : OK
281
- Test result : Success : 1790 : Bio.detectors.SamplesFastaCsvPt : 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
277
+ 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
282
  Test result : Success : 16 : Bio.detectors.SamplesFastaCsvNegativeEntry : OK
283
- Test result : Success : 16 : Bio.detectors.SamplesFastaCsvNegativeLength : OK
284
- Test result : Success : 137 : Bio.detectors.SamplesFastaCsvNegativeUniProtKB : OK
285
- Test result : Success : 335 : Bio.detectors.SamplesFastaFastaPt : OK
286
- Test result : Success : 1536 : Bio.detectors.samplesPeptidesComplexNegativeID : OK
287
- Test result : Success : 41 : Bio.detectors.SamplesPeptidesComplexNegativeMeasured : OK
288
- Test result : Success : 239 : Bio.detectors.SamplesPeptidesComplexNegativeValue : OK
289
- Test result : Success : 340 : Bio.detectors.samplesMsaComplexUn : OK
290
- Test result : Success : 65 : Bio.detectors.samplesMsaComplexNegativeActivity : OK
291
- Test result : Success : 241 : Bio.detectors.samplesIdCsvNegativeID : OK
292
- Test result : Success : 222 : Bio.detectors.samplesSarSmallCsvNegativeSmiles : OK
293
- Test result : Success : 217 : Bio.detectors.samplesHelmCsvHELM : 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
294
  Test result : Success : 28 : Bio.detectors.samplesHelmCsvNegativeActivity : OK
295
- Test result : Success : 213 : Bio.detectors.samplesTestHelmNegativeID : OK
296
- Test result : Success : 23 : Bio.detectors.samplesTestHelmNegativeTestType : OK
297
- Test result : Success : 10 : Bio.detectors.samplesTestHelmPositiveHelmString : OK
298
- Test result : Success : 16 : Bio.detectors.samplesTestHelmNegativeValid : OK
299
- Test result : Success : 19 : Bio.detectors.samplesTestHelmNegativeMolWeight : OK
300
- Test result : Success : 6 : Bio.detectors.samplesTestHelmNegativeMolFormula : OK
301
- Test result : Success : 13 : Bio.detectors.samplesTestHelmNegativeSmiles : OK
302
- Test result : Success : 1437 : Bio.detectors.samplesTestDemogNegativeAll : OK
303
- Test result : Success : 698 : Bio.detectors.samplesTestSmiles2NegativeSmiles : OK
304
- Test result : Success : 185 : Bio.detectors.samplesTestActivityCliffsNegativeSmiles : OK
305
- Test result : Success : 136 : Bio.detectors.samplesFastaPtPosSequence : OK
306
- Test result : Success : 162 : Bio.detectors.samplesTestCerealNegativeCerealName : OK
307
- Test result : Success : 216 : Bio.detectors.samplesTestSpgi100NegativeStereoCategory : OK
308
- Test result : Success : 5 : Bio.detectors.samplesTestSpgi100NegativeScaffoldNames : OK
309
- Test result : Success : 5 : Bio.detectors.samplesTestSpgi100NegativePrimaryScaffoldName : OK
310
- Test result : Success : 7 : Bio.detectors.samplesTestSpgi100NegativeSampleName : OK
311
- Test result : Success : 210 : Bio.detectors.samplesTestUnichemSourcesNegativeSrcUrl : OK
312
- Test result : Success : 9 : Bio.detectors.samplesTestUnichemSourcesNegativeBaseIdUrl : OK
313
- Test result : Success : 192 : Bio.detectors.samplesTestDmvOfficesNegativeOfficeName : OK
314
- Test result : Success : 28 : Bio.detectors.samplesTestDmvOfficesNegativeCity : OK
315
- Test result : Success : 168 : Bio.detectors.samplesTestAlertCollectionNegativeSmarts : OK
316
- Test result : Success : 2670 : Bio.MSA.isCorrect : OK
317
- Test result : Success : 124 : Bio.MSA.isCorrectLong : OK
318
- Test result : Success : 1279 : Bio.sequenceSpace.sequenceSpaceOpens : OK
319
- Test result : Success : 596 : Bio.sequenceSpace.sequenceSpaceWithEmptyRows : OK
320
- Test result : Success : 836 : Bio.activityCliffs.activityCliffsOpens : OK
321
- Test result : Success : 868 : Bio.activityCliffs.activityCliffsWithEmptyRows : 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
309
+ 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
322
322
  Test result : Success : 1 : Bio.splitters.fastaMulti : OK
323
- Test result : Success : 1 : Bio.splitters.helm1 : OK
323
+ Test result : Success : 0 : Bio.splitters.helm1 : OK
324
324
  Test result : Success : 0 : Bio.splitters.helm2 : OK
325
- Test result : Success : 1 : Bio.splitters.helm3-multichar : OK
325
+ Test result : Success : 0 : Bio.splitters.helm3-multichar : OK
326
326
  Test result : Success : 0 : Bio.splitters.testHelm1 : OK
327
- Test result : Success : 1 : Bio.splitters.testHelm2 : OK
328
- Test result : Success : 0 : Bio.splitters.testHelm3 : OK
327
+ Test result : Success : 0 : Bio.splitters.testHelm2 : OK
328
+ Test result : Success : 1 : Bio.splitters.testHelm3 : OK
329
329
  Test result : Success : 1 : Bio.splitters.getHelmMonomers : OK
330
- Test result : Success : 109 : Bio.renderers.long sequence performance : OK
331
- Test result : Success : 918 : Bio.renderers.many sequence performance : OK
330
+ Test result : Success : 74 : Bio.renderers.long sequence performance : OK
331
+ Test result : Success : 732 : Bio.renderers.many sequence performance : OK
332
332
  Test result : Success : 0 : Bio.renderers.setRendererManually : GROK-11212
333
- Test result : Success : 6 : Bio.converters.testFastaPtToSeparator : OK
334
- Test result : Success : 5 : Bio.converters.testFastaDnaToSeparator : OK
335
- Test result : Success : 4 : Bio.converters.testFastaRnaToSeparator : OK
336
- Test result : Success : 5 : Bio.converters.testFastaGapsToSeparator : OK
337
- Test result : Success : 2 : Bio.converters.testFastaPtToHelm : OK
333
+ Test result : Success : 5 : Bio.converters.testFastaPtToSeparator : OK
334
+ Test result : Success : 3 : Bio.converters.testFastaDnaToSeparator : OK
335
+ 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
338
  Test result : Success : 2 : Bio.converters.testFastaDnaToHelm : OK
339
- Test result : Success : 2 : Bio.converters.testFastaRnaToHelm : OK
340
- Test result : Success : 1 : Bio.converters.testFastaGapsToHelm : OK
339
+ Test result : Success : 1 : Bio.converters.testFastaRnaToHelm : OK
340
+ Test result : Success : 2 : Bio.converters.testFastaGapsToHelm : OK
341
341
  Test result : Success : 0 : Bio.converters.testSeparatorPtToFasta : OK
342
342
  Test result : Success : 1 : Bio.converters.testSeparatorDnaToFasta : OK
343
- Test result : Success : 1 : Bio.converters.testSeparatorRnaToFasta : OK
343
+ Test result : Success : 0 : Bio.converters.testSeparatorRnaToFasta : OK
344
344
  Test result : Success : 0 : Bio.converters.testSeparatorGapsToFasta : OK
345
345
  Test result : Success : 0 : Bio.converters.testSeparatorPtToHelm : OK
346
- Test result : Success : 1 : Bio.converters.testSeparatorDnaToHelm : OK
347
- Test result : Success : 0 : Bio.converters.testSeparatorRnaToHelm : OK
346
+ Test result : Success : 0 : Bio.converters.testSeparatorDnaToHelm : OK
347
+ Test result : Success : 1 : Bio.converters.testSeparatorRnaToHelm : OK
348
348
  Test result : Success : 0 : Bio.converters.testSeparatorGapsToHelm : OK
349
349
  Test result : Success : 1 : Bio.converters.testHelmDnaToFasta : OK
350
350
  Test result : Success : 1 : Bio.converters.testHelmRnaToFasta : OK
351
- Test result : Success : 1 : Bio.converters.testHelmPtToFasta : OK
352
- Test result : Success : 0 : Bio.converters.testHelmDnaToSeparator : OK
353
- Test result : Success : 1 : Bio.converters.testHelmRnaToSeparator : OK
354
- Test result : Success : 0 : Bio.converters.testHelmPtToSeparator : OK
355
- Test result : Success : 2 : Bio.converters.testHelmLoneRibose : OK
356
- Test result : Success : 2 : Bio.converters.testHelmLoneDeoxyribose : OK
357
- Test result : Success : 2 : Bio.converters.testHelmLonePhosphorus : OK
358
- Test result : Success : 0 : Bio.fastaFileHandler.testNormalFormatting : OK
359
- Test result : Success : 1 : Bio.fastaFileHandler.testExtraSpaces : OK
351
+ Test result : Success : 0 : Bio.converters.testHelmPtToFasta : OK
352
+ Test result : Success : 1 : Bio.converters.testHelmDnaToSeparator : OK
353
+ 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
359
+ Test result : Success : 0 : Bio.fastaFileHandler.testExtraSpaces : OK
360
360
  Test result : Success : 0 : Bio.fastaFileHandler.testExtraNewlines : OK
361
- Test result : Success : 1 : Bio.fastaExport.wrapSequenceSingle : OK
361
+ Test result : Success : 0 : Bio.fastaExport.wrapSequenceSingle : OK
362
362
  Test result : Success : 0 : Bio.fastaExport.wrapSequenceMulti : OK
363
363
  Test result : Success : 2 : Bio.fastaExport.saveAsFastaTest1 : OK
364
364
  Test result : Success : 1 : Bio.fastaExport.saveAsFastaTest2 : OK
365
- Test result : Success : 2 : Bio.bio.testGetStatsHelm1 : OK
365
+ Test result : Success : 1 : Bio.bio.testGetStatsHelm1 : OK
366
366
  Test result : Success : 1 : Bio.bio.testGetStatsN1 : OK
367
- Test result : Success : 1 : Bio.bio.testGetAlphabetSimilarity : OK
367
+ Test result : Success : 0 : Bio.bio.testGetAlphabetSimilarity : OK
368
368
  Test result : Success : 1 : Bio.bio.testPickupPaletteN1 : OK
369
- Test result : Success : 2 : Bio.bio.testPickupPaletteN1e : OK
370
- Test result : Success : 1 : Bio.bio.testPickupPaletteAA1 : OK
371
- Test result : Success : 2 : Bio.bio.testPickupPaletteX : OK
369
+ Test result : Success : 1 : Bio.bio.testPickupPaletteN1e : OK
370
+ Test result : Success : 8 : Bio.bio.testPickupPaletteAA1 : OK
371
+ Test result : Success : 1 : Bio.bio.testPickupPaletteX : OK
372
372
  Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerSingle : OK
373
- Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerShort : OK
373
+ Test result : Success : 1 : Bio.WebLogo.monomerToShort.longMonomerShort : OK
374
374
  Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerLong56 : OK
375
375
  Test result : Success : 0 : Bio.WebLogo.monomerToShort.longMonomerComplexFirstPartShort : OK
376
- Test result : Success : 1 : Bio.WebLogo.monomerToShort.longMonomerComplexFirstPartLong56 : OK
377
- Test result : Success : 140 : Bio.WebLogo-positions.allPositions : OK
378
- Test result : Success : 120 : Bio.WebLogo-positions.positions with shrinkEmptyTail option true (filterd) : OK
379
- Test result : Success : 132 : Bio.WebLogo-positions.positions with skipEmptyPositions option : OK
376
+ 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
380
  Test result : Success : 3 : Bio.checkInputColumn.testMsaPos : OK
381
381
  Test result : Success : 1 : Bio.checkInputColumn.testMsaNegHelm : OK
382
382
  Test result : Success : 1 : Bio.checkInputColumn.testMsaNegUN : OK
383
383
  Test result : Success : 1 : Bio.checkInputColumn.testGetActionFunctionMeta : OK
384
- Test result : Success : 484 : Bio.similarity/diversity.similaritySearchViewer : OK
385
- Test result : Success : 356 : Bio.similarity/diversity.diversitySearchViewer : OK
386
- Test result : Success : 231 : Bio.substructureFilters.fasta : OK
387
- Test result : Success : 420 : Bio.substructureFilters.separator : OK
388
- Test result : Success : 1913 : Bio.substructureFilters.helm : 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
389
389
  </pre></div></div></div></div></body></html>