@datagrok/bio 2.0.11 → 2.0.13

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.11",
8
+ "version": "2.0.13",
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",
@@ -119,7 +119,7 @@ category('renderers', () => {
119
119
  }
120
120
 
121
121
  async function _testAfterMsa() {
122
- const fastaTxt: string = await grok.dapi.files.readAsText('System:AppData/Bio/samples/sample_FASTA.fasta');
122
+ const fastaTxt: string = await grok.dapi.files.readAsText('System:AppData/Bio/data/sample_FASTA.fasta');
123
123
  const df: DG.DataFrame = importFasta(fastaTxt)[0];
124
124
 
125
125
  const srcSeqCol: DG.Column = df.getCol('sequence');
@@ -2,7 +2,7 @@ import {after, before, category, test, expect, delay} from '@datagrok-libraries/
2
2
  import * as DG from 'datagrok-api/dg';
3
3
  import {readDataframe} from './utils';
4
4
  import * as grok from 'datagrok-api/grok';
5
- import { _testSequenceSpaceReturnsResult } from './sequence-space-utils';
5
+ import {_testSequenceSpaceReturnsResult} from './sequence-space-utils';
6
6
 
7
7
  category('sequenceSpace', async () => {
8
8
  let testFastaDf: DG.DataFrame;
@@ -13,7 +13,7 @@ category('sequenceSpace', async () => {
13
13
  before(async () => {
14
14
  testFastaDf = await readDataframe('samples/sample_FASTA.csv');
15
15
  testFastaTableView = grok.shell.addTableView(testFastaDf);
16
- testHelmWithEmptyRows = await readDataframe('samples/sample_HELM_empty_vals.csv');
16
+ testHelmWithEmptyRows = await readDataframe('data/sample_HELM_empty_vals.csv');
17
17
  testHelmWithEmptyRowsTableView = grok.shell.addTableView(testHelmWithEmptyRows);
18
18
  });
19
19
 
@@ -335,11 +335,12 @@ function createDifferenceCanvas(
335
335
  h: number): HTMLCanvasElement {
336
336
  const canvas = document.createElement('canvas');
337
337
  const context = canvas.getContext('2d')!;
338
+ context.font = '12px monospace';
338
339
  const width1 = context.measureText(processSequence([amino1]).join('')).width;
339
340
  const width2 = context.measureText(processSequence([amino2]).join('')).width;
340
341
  const width = Math.max(width1, width2);
341
342
  canvas.height = h;
342
- canvas.width = width + 20;
343
+ canvas.width = width + 4;
343
344
  context.font = '12px monospace';
344
345
  context.textBaseline = 'top';
345
346
  printLeftOrCentered(0, y - shift, width, h, context, amino1, color1, 0, true);
@@ -83,15 +83,42 @@ export function createPropPanelElement(params: ITooltipAndPanelParams): HTMLDivE
83
83
  sequencesArray[idx] = params.seqCol.get(molIdx);
84
84
  activitiesArray[idx] = params.activityCol.get(molIdx);
85
85
  });
86
+
87
+ const molDifferences: {[key: number]: HTMLCanvasElement} = {};
88
+ const canvas = createDifferenceCanvas(params.seqCol, sequencesArray, molDifferences);
89
+ propPanel.append(ui.div(canvas, { style: { width: '300px', overflow: 'scroll' } }));
90
+
91
+ propPanel.append(createDifferencesWithPositions(molDifferences));
92
+
93
+ propPanel.append(createPropPanelField('Activity delta', Math.abs(activitiesArray[0] - activitiesArray[1])));
94
+ propPanel.append(createPropPanelField('Cliff', params.sali!));
95
+
96
+ return propPanel;
97
+ }
98
+
99
+ function createPropPanelField(name: string, value: number): HTMLDivElement {
100
+ return ui.divH([
101
+ ui.divText(`${name}: `, { style: { fontWeight: 'bold', paddingRight: '5px' } }),
102
+ ui.divText(value.toFixed(2))
103
+ ], { style: { paddingTop: '5px' } });
104
+ }
105
+
106
+ function createDifferenceCanvas(
107
+ col: DG.Column,
108
+ sequencesArray: string[],
109
+ molDifferences: { [key: number]: HTMLCanvasElement }): HTMLCanvasElement {
86
110
  const canvas = document.createElement('canvas');
87
111
  const context = canvas.getContext('2d');
88
112
  canvas.height = 30;
89
- const units = params.seqCol.getTag(DG.TAGS.UNITS);
90
- const separator = params.seqCol.getTag(TAGS.SEPARATOR);
91
- const molDifferences: {[key: number]: HTMLCanvasElement} = {};
113
+ const units = col.getTag(DG.TAGS.UNITS);
114
+ const separator = col.getTag(TAGS.SEPARATOR);
92
115
  drawMoleculeDifferenceOnCanvas(context!, 0, 0, 0, 30, sequencesArray.join('#'), units, separator, true, molDifferences);
93
- propPanel.append(ui.div(canvas, { style: { width: '300px', overflow: 'scroll' } }));
94
-
116
+ return canvas;
117
+ }
118
+
119
+ function createDifferencesWithPositions(
120
+ molDifferences: { [key: number]: HTMLCanvasElement }): HTMLDivElement {
121
+ const div = ui.div();
95
122
  if (Object.keys(molDifferences).length > 0) {
96
123
  const diffsPanel = ui.divV([]);
97
124
  diffsPanel.append(ui.divH([
@@ -104,18 +131,7 @@ export function createPropPanelElement(params: ITooltipAndPanelParams): HTMLDivE
104
131
  molDifferences[key as any]
105
132
  ]));
106
133
  }
107
- propPanel.append(diffsPanel);
134
+ div.append(diffsPanel);
108
135
  }
109
-
110
- function addFiledToPropPanel(name: string, value: number) {
111
- propPanel.append(ui.divH([
112
- ui.divText(`${name}: `, { style: { fontWeight: 'bold', paddingRight: '5px' } }),
113
- ui.divText(value.toFixed(2))
114
- ], { style: { paddingTop: '5px' } }));
115
- }
116
-
117
- addFiledToPropPanel('Activity delta', Math.abs(activitiesArray[0] - activitiesArray[1]));
118
- addFiledToPropPanel('Cliff', params.sali!);
119
-
120
- return propPanel;
136
+ return div;
121
137
  }
@@ -0,0 +1,374 @@
1
+ <html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=7770371320b2. Commit f8f97c6e.</title><style type="text/css">html,
2
+ body {
3
+ font-family: Arial, Helvetica, sans-serif;
4
+ font-size: 1rem;
5
+ margin: 0;
6
+ padding: 0;
7
+ color: #333;
8
+ }
9
+ body {
10
+ padding: 2rem 1rem;
11
+ font-size: 0.85rem;
12
+ }
13
+ #jesthtml-content {
14
+ margin: 0 auto;
15
+ max-width: 70rem;
16
+ }
17
+ header {
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ #title {
22
+ margin: 0;
23
+ flex-grow: 1;
24
+ }
25
+ #logo {
26
+ height: 4rem;
27
+ }
28
+ #timestamp {
29
+ color: #777;
30
+ margin-top: 0.5rem;
31
+ }
32
+
33
+ /** SUMMARY */
34
+ #summary {
35
+ color: #333;
36
+ margin: 2rem 0;
37
+ display: flex;
38
+ font-family: monospace;
39
+ font-size: 1rem;
40
+ }
41
+ #summary > div {
42
+ margin-right: 2rem;
43
+ background: #eee;
44
+ padding: 1rem;
45
+ min-width: 15rem;
46
+ }
47
+ #summary > div:last-child {
48
+ margin-right: 0;
49
+ }
50
+ @media only screen and (max-width: 720px) {
51
+ #summary {
52
+ flex-direction: column;
53
+ }
54
+ #summary > div {
55
+ margin-right: 0;
56
+ margin-top: 2rem;
57
+ }
58
+ #summary > div:first-child {
59
+ margin-top: 0;
60
+ }
61
+ }
62
+
63
+ .summary-total {
64
+ font-weight: bold;
65
+ margin-bottom: 0.5rem;
66
+ }
67
+ .summary-passed {
68
+ color: #4f8a10;
69
+ border-left: 0.4rem solid #4f8a10;
70
+ padding-left: 0.5rem;
71
+ }
72
+ .summary-failed,
73
+ .summary-obsolete-snapshots {
74
+ color: #d8000c;
75
+ border-left: 0.4rem solid #d8000c;
76
+ padding-left: 0.5rem;
77
+ }
78
+ .summary-pending {
79
+ color: #9f6000;
80
+ border-left: 0.4rem solid #9f6000;
81
+ padding-left: 0.5rem;
82
+ }
83
+ .summary-empty {
84
+ color: #999;
85
+ border-left: 0.4rem solid #999;
86
+ }
87
+
88
+ .test-result {
89
+ padding: 1rem;
90
+ margin-bottom: 0.25rem;
91
+ }
92
+ .test-result:last-child {
93
+ border: 0;
94
+ }
95
+ .test-result.passed {
96
+ background-color: #dff2bf;
97
+ color: #4f8a10;
98
+ }
99
+ .test-result.failed {
100
+ background-color: #ffbaba;
101
+ color: #d8000c;
102
+ }
103
+ .test-result.pending {
104
+ background-color: #ffdf61;
105
+ color: #9f6000;
106
+ }
107
+
108
+ .test-info {
109
+ display: flex;
110
+ justify-content: space-between;
111
+ }
112
+ .test-suitename {
113
+ width: 20%;
114
+ text-align: left;
115
+ font-weight: bold;
116
+ word-break: break-word;
117
+ }
118
+ .test-title {
119
+ width: 40%;
120
+ text-align: left;
121
+ font-style: italic;
122
+ }
123
+ .test-status {
124
+ width: 20%;
125
+ text-align: right;
126
+ }
127
+ .test-duration {
128
+ width: 10%;
129
+ text-align: right;
130
+ font-size: 0.75rem;
131
+ }
132
+
133
+ .failureMessages {
134
+ padding: 0 1rem;
135
+ margin-top: 1rem;
136
+ border-top: 1px dashed #d8000c;
137
+ }
138
+ .failureMessages.suiteFailure {
139
+ border-top: none;
140
+ }
141
+ .failureMsg {
142
+ white-space: pre-wrap;
143
+ white-space: -moz-pre-wrap;
144
+ white-space: -pre-wrap;
145
+ white-space: -o-pre-wrap;
146
+ word-wrap: break-word;
147
+ }
148
+
149
+ .suite-container {
150
+ margin-bottom: 2rem;
151
+ }
152
+ .suite-info {
153
+ padding: 1rem;
154
+ background-color: #eee;
155
+ color: #777;
156
+ display: flex;
157
+ align-items: center;
158
+ margin-bottom: 0.25rem;
159
+ }
160
+ .suite-info .suite-path {
161
+ word-break: break-all;
162
+ flex-grow: 1;
163
+ font-family: monospace;
164
+ font-size: 1rem;
165
+ }
166
+ .suite-info .suite-time {
167
+ margin-left: 0.5rem;
168
+ padding: 0.2rem 0.3rem;
169
+ font-size: 0.75rem;
170
+ }
171
+ .suite-info .suite-time.warn {
172
+ background-color: #d8000c;
173
+ color: #fff;
174
+ }
175
+
176
+ /* CONSOLE LOGS */
177
+ .suite-consolelog {
178
+ margin-bottom: 0.25rem;
179
+ padding: 1rem;
180
+ background-color: #efefef;
181
+ }
182
+ .suite-consolelog-header {
183
+ font-weight: bold;
184
+ }
185
+ .suite-consolelog-item {
186
+ padding: 0.5rem;
187
+ }
188
+ .suite-consolelog-item pre {
189
+ margin: 0.5rem 0;
190
+ white-space: pre-wrap;
191
+ white-space: -moz-pre-wrap;
192
+ white-space: -pre-wrap;
193
+ white-space: -o-pre-wrap;
194
+ word-wrap: break-word;
195
+ }
196
+ .suite-consolelog-item-origin {
197
+ color: #777;
198
+ font-weight: bold;
199
+ }
200
+ .suite-consolelog-item-message {
201
+ color: #000;
202
+ font-size: 1rem;
203
+ padding: 0 0.5rem;
204
+ }
205
+
206
+ /* OBSOLETE SNAPSHOTS */
207
+ .suite-obsolete-snapshots {
208
+ margin-bottom: 0.25rem;
209
+ padding: 1rem;
210
+ background-color: #ffbaba;
211
+ color: #d8000c;
212
+ }
213
+ .suite-obsolete-snapshots-header {
214
+ font-weight: bold;
215
+ }
216
+ .suite-obsolete-snapshots-item {
217
+ padding: 0.5rem;
218
+ }
219
+ .suite-obsolete-snapshots-item pre {
220
+ margin: 0.5rem 0;
221
+ white-space: pre-wrap;
222
+ white-space: -moz-pre-wrap;
223
+ white-space: -pre-wrap;
224
+ white-space: -o-pre-wrap;
225
+ word-wrap: break-word;
226
+ }
227
+ .suite-obsolete-snapshots-item-message {
228
+ color: #000;
229
+ font-size: 1rem;
230
+ padding: 0 0.5rem;
231
+ }
232
+ </style></head><body><div id="jesthtml-content"><header><h1 id="title">Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=7770371320b2. Commit f8f97c6e.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-09-20 10:00:38</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">42.219s</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">24.883s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Test result : Failed : 208 : Bio.renderers.setRendererManually : Error: Tag 'cell.renderer' has been manually set to 'MacromoleculeDifference' for column but after df was added as table, tag 'cell.renderer' has reset to 'sequence' instead of manual 'MacromoleculeDifference'.
233
+
234
+ at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:68:20
235
+ at Generator.next (&lt;anonymous&gt;)
236
+ at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
237
+ at runMicrotasks (&lt;anonymous&gt;)
238
+ at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre></div></div></div><div class="suite-consolelog"><div class="suite-consolelog-header">Console Log</div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at Object.&lt;anonymous&gt; (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:63:11)
239
+ at Generator.next (&lt;anonymous&gt;)
240
+ at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:28:58)
241
+ at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Using web root: http://localhost:8080</pre></div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:40:11
242
+ at Generator.next (&lt;anonymous&gt;)
243
+ at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:34:71
244
+ at new Promise (&lt;anonymous&gt;)
245
+ at Object.&lt;anonymous&gt;.__awaiter (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:30:12)
246
+ at Object.&lt;anonymous&gt; (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:38:23)
247
+ at Promise.then.completed (/home/runner/work/public/public/packages/Bio/node_modules/jest-circus/build/utils.js:391:28)
248
+ at new Promise (&lt;anonymous&gt;)</pre><pre class="suite-consolelog-item-message">Testing Bio package</pre></div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at /home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:66:11
249
+ at Generator.next (&lt;anonymous&gt;)
250
+ at fulfilled (/home/runner/work/public/public/packages/Bio/src/__jest__/remote.test.ts:31:58)
251
+ at runMicrotasks (&lt;anonymous&gt;)
252
+ at processTicksAndRejections (internal/process/task_queues.js:97:5)</pre><pre class="suite-consolelog-item-message">Test result : Success : 13 : Bio.WebLogo.testGetStats : OK
253
+ Test result : Success : 1 : Bio.WebLogo.testGetAlphabetSimilarity : OK
254
+ Test result : Success : 2 : Bio.WebLogo.testPickupPaletteN1 : OK
255
+ Test result : Success : 4 : Bio.WebLogo.testPickupPaletteN1e : OK
256
+ Test result : Success : 1 : Bio.WebLogo.testPickupPaletteAA1 : OK
257
+ Test result : Success : 2 : Bio.WebLogo.testPickupPaletteX : OK
258
+ Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerSingle : OK
259
+ Test result : Success : 1 : Bio.WebLogo.monomerToText.longMonomerShort : OK
260
+ Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerLong56 : OK
261
+ Test result : Success : 0 : Bio.WebLogo.monomerToText.longMonomerComplexFirstPartShort : OK
262
+ Test result : Success : 1 : Bio.WebLogo.monomerToText.longMonomerComplexFirstPartLong56 : OK
263
+ Test result : Success : 0 : Bio.Palettes.testPaletteN : OK
264
+ Test result : Success : 0 : Bio.Palettes.testPaletteAA : OK
265
+ Test result : Success : 1 : Bio.Palettes.testPalettePtMe : OK
266
+ Test result : Success : 100 : Bio.detectors.NegativeEmpty : OK
267
+ Test result : Success : 19 : Bio.detectors.Negative1 : OK
268
+ Test result : Success : 20 : Bio.detectors.Negative2 : OK
269
+ Test result : Success : 27 : Bio.detectors.Negative3 : OK
270
+ Test result : Success : 23 : Bio.detectors.NegativeSmiles : OK
271
+ Test result : Success : 15 : Bio.detectors.Dna1 : OK
272
+ Test result : Success : 31 : Bio.detectors.Rna1 : OK
273
+ Test result : Success : 49 : Bio.detectors.AA1 : OK
274
+ Test result : Success : 24 : Bio.detectors.MsaDna1 : OK
275
+ Test result : Success : 24 : Bio.detectors.MsaAA1 : OK
276
+ Test result : Success : 36 : Bio.detectors.SepDna : OK
277
+ Test result : Success : 24 : Bio.detectors.SepRna : OK
278
+ Test result : Success : 22 : Bio.detectors.SepPt : OK
279
+ Test result : Success : 6 : Bio.detectors.SepUn1 : OK
280
+ Test result : Success : 20 : Bio.detectors.SepUn2 : OK
281
+ Test result : Success : 12 : Bio.detectors.SepMsaN1 : OK
282
+ Test result : Success : 546 : Bio.detectors.SamplesFastaCsvPt : OK
283
+ Test result : Success : 15 : Bio.detectors.SamplesFastaCsvNegativeEntry : OK
284
+ Test result : Success : 19 : Bio.detectors.SamplesFastaCsvNegativeLength : OK
285
+ Test result : Success : 72 : Bio.detectors.SamplesFastaCsvNegativeUniProtKB : OK
286
+ Test result : Success : 332 : Bio.detectors.SamplesFastaFastaPt : OK
287
+ Test result : Success : 1001 : Bio.detectors.samplesPeptidesComplexNegativeID : OK
288
+ Test result : Success : 25 : Bio.detectors.SamplesPeptidesComplexNegativeMeasured : OK
289
+ Test result : Success : 179 : Bio.detectors.SamplesPeptidesComplexNegativeValue : OK
290
+ Test result : Success : 266 : Bio.detectors.samplesMsaComplexUn : OK
291
+ Test result : Success : 35 : Bio.detectors.samplesMsaComplexNegativeActivity : OK
292
+ Test result : Success : 186 : Bio.detectors.samplesIdCsvNegativeID : OK
293
+ Test result : Success : 199 : Bio.detectors.samplesSarSmallCsvNegativeSmiles : OK
294
+ Test result : Success : 199 : Bio.detectors.samplesHelmCsvHELM : OK
295
+ Test result : Success : 24 : Bio.detectors.samplesHelmCsvNegativeActivity : OK
296
+ Test result : Success : 183 : Bio.detectors.samplesTestHelmNegativeID : OK
297
+ Test result : Success : 14 : Bio.detectors.samplesTestHelmNegativeTestType : OK
298
+ Test result : Success : 9 : Bio.detectors.samplesTestHelmPositiveHelmString : OK
299
+ Test result : Success : 7 : Bio.detectors.samplesTestHelmNegativeValid : OK
300
+ Test result : Success : 4 : Bio.detectors.samplesTestHelmNegativeMolWeight : OK
301
+ Test result : Success : 13 : Bio.detectors.samplesTestHelmNegativeMolFormula : OK
302
+ Test result : Success : 9 : Bio.detectors.samplesTestHelmNegativeSmiles : OK
303
+ Test result : Success : 1031 : Bio.detectors.samplesTestDemogNegativeAll : OK
304
+ Test result : Success : 554 : Bio.detectors.samplesTestSmiles2NegativeSmiles : OK
305
+ Test result : Success : 176 : Bio.detectors.samplesTestActivityCliffsNegativeSmiles : OK
306
+ Test result : Success : 177 : Bio.detectors.samplesFastaPtPosSequence : OK
307
+ Test result : Success : 169 : Bio.detectors.samplesTestCerealNegativeCerealName : OK
308
+ Test result : Success : 680 : Bio.detectors.samplesTestSpgi100NegativeStereoCategory : OK
309
+ Test result : Success : 4 : Bio.detectors.samplesTestSpgi100NegativeScaffoldNames : OK
310
+ Test result : Success : 11 : Bio.detectors.samplesTestSpgi100NegativePrimaryScaffoldName : OK
311
+ Test result : Success : 4 : Bio.detectors.samplesTestSpgi100NegativeSampleName : OK
312
+ Test result : Success : 216 : Bio.detectors.samplesTestUnichemSourcesNegativeSrcUrl : OK
313
+ Test result : Success : 3 : Bio.detectors.samplesTestUnichemSourcesNegativeBaseIdUrl : OK
314
+ Test result : Success : 213 : Bio.detectors.samplesTestDmvOfficesNegativeOfficeName : OK
315
+ Test result : Success : 5 : Bio.detectors.samplesTestDmvOfficesNegativeCity : OK
316
+ Test result : Success : 237 : Bio.detectors.samplesTestAlertCollectionNegativeSmarts : OK
317
+ Test result : Success : 1083 : Bio.MSA.isCorrect : OK
318
+ Test result : Success : 257 : Bio.MSA.isCorrectLong : OK
319
+ Test result : Success : 1244 : Bio.sequenceSpace.sequenceSpaceOpens : OK
320
+ Test result : Success : 6056 : Bio.sequenceSpace.sequenceSpaceOpensWithEmptyRows : OK
321
+ Test result : Success : 941 : Bio.activityCliffs.activityCliffsOpen : OK
322
+ Test result : Success : 857 : Bio.activityCliffs.activityCliffsOpenWithEmptyRows : OK
323
+ Test result : Success : 2 : Bio.splitters.helm1 : OK
324
+ Test result : Success : 1 : Bio.splitters.helm2 : OK
325
+ Test result : Success : 1 : Bio.splitters.helm3-multichar : OK
326
+ Test result : Success : 1 : Bio.splitters.testHelm1 : OK
327
+ Test result : Success : 2 : Bio.splitters.testHelm2 : OK
328
+ Test result : Success : 1 : Bio.splitters.testHelm3 : OK
329
+ Test result : Success : 263 : Bio.splitters.splitToMonomers : OK
330
+ Test result : Success : 1 : Bio.splitters.getHelmMonomers : OK
331
+ Test result : Success : 75 : Bio.renderers.long sequence performance : OK
332
+ Test result : Success : 573 : Bio.renderers.many sequence performance : OK
333
+ Test result : Success : 238 : Bio.renderers.rendererMacromoleculeFasta : OK
334
+ Test result : Success : 246 : Bio.renderers.rendererMacromoleculeSeparator : OK
335
+ Test result : Success : 70 : Bio.renderers.rendererMacromoleculeDifference : OK
336
+ Test result : Success : 440 : Bio.renderers.afterMsa : OK
337
+ Test result : Success : 281 : Bio.renderers.afterConvert : OK
338
+ Test result : Success : 185 : Bio.renderers.selectRendererBySemType : OK
339
+ Test result : Success : 4 : Bio.converters.testFastaPtToSeparator : OK
340
+ Test result : Success : 3 : Bio.converters.testFastaDnaToSeparator : OK
341
+ Test result : Success : 3 : Bio.converters.testFastaRnaToSeparator : OK
342
+ Test result : Success : 20 : Bio.converters.testFastaGapsToSeparator : OK
343
+ Test result : Success : 2 : Bio.converters.testFastaPtToHelm : OK
344
+ Test result : Success : 2 : Bio.converters.testFastaDnaToHelm : OK
345
+ Test result : Success : 1 : Bio.converters.testFastaRnaToHelm : OK
346
+ Test result : Success : 1 : Bio.converters.testFastaGapsToHelm : OK
347
+ Test result : Success : 1 : Bio.converters.testSeparatorPtToFasta : OK
348
+ Test result : Success : 0 : Bio.converters.testSeparatorDnaToFasta : OK
349
+ Test result : Success : 0 : Bio.converters.testSeparatorRnaToFasta : OK
350
+ Test result : Success : 0 : Bio.converters.testSeparatorGapsToFasta : OK
351
+ Test result : Success : 1 : Bio.converters.testSeparatorPtToHelm : OK
352
+ Test result : Success : 0 : Bio.converters.testSeparatorDnaToHelm : OK
353
+ Test result : Success : 0 : Bio.converters.testSeparatorRnaToHelm : OK
354
+ Test result : Success : 1 : Bio.converters.testSeparatorGapsToHelm : OK
355
+ Test result : Success : 1 : Bio.converters.testHelmDnaToFasta : OK
356
+ Test result : Success : 1 : Bio.converters.testHelmRnaToFasta : OK
357
+ Test result : Success : 0 : Bio.converters.testHelmPtToFasta : OK
358
+ Test result : Success : 0 : Bio.converters.testHelmDnaToSeparator : OK
359
+ Test result : Success : 1 : Bio.converters.testHelmRnaToSeparator : OK
360
+ Test result : Success : 0 : Bio.converters.testHelmPtToSeparator : OK
361
+ Test result : Success : 1 : Bio.converters.testHelmLoneRibose : OK
362
+ Test result : Success : 2 : Bio.converters.testHelmLoneDeoxyribose : OK
363
+ Test result : Success : 2 : Bio.converters.testHelmLonePhosphorus : OK
364
+ Test result : Success : 0 : Bio.fastaFileHandler.testNormalFormatting : OK
365
+ Test result : Success : 0 : Bio.fastaFileHandler.testExtraSpaces : OK
366
+ Test result : Success : 0 : Bio.fastaFileHandler.testExtraNewlines : OK
367
+ Test result : Success : 94 : Bio.WebLogo-positions.allPositions : OK
368
+ Test result : Success : 151 : Bio.WebLogo-positions.positions with shrinkEmptyTail option true (filterd) : OK
369
+ Test result : Success : 104 : Bio.WebLogo-positions.positions with skipEmptyPositions option : OK
370
+ Test result : Success : 14 : Bio.checkInputColumn.testMsaPos : OK
371
+ Test result : Success : 4 : Bio.checkInputColumn.testMsaNegHelm : OK
372
+ Test result : Success : 3 : Bio.checkInputColumn.testMsaNegUN : OK
373
+ Test result : Success : 1 : Bio.checkInputColumn.testGetActionFunctionMeta : OK
374
+ </pre></div></div></div></div></body></html>