@datagrok/bio 1.11.2 → 1.11.3

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": "1.11.2",
8
+ "version": "1.11.3",
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",
@@ -4,47 +4,32 @@ import * as ui from 'datagrok-api/ui';
4
4
  import {getSimilarityFromDistance} from '@datagrok-libraries/utils/src/similarity-metrics';
5
5
  import {AvailableMetrics} from '@datagrok-libraries/ml/src/typed-metrics';
6
6
  import * as grok from 'datagrok-api/grok';
7
+ import { SplitterFunc, WebLogo } from '@datagrok-libraries/bio/src/viewers/web-logo';
8
+ import { UnitsHandler } from '@datagrok-libraries/bio/src/utils/units-handler';
7
9
 
8
10
  export async function getDistances(col: DG.Column, seq: string): Promise<Array<number>> {
9
11
  const stringArray = col.toList();
10
12
  const distances = new Array(stringArray.length).fill(0);
11
- for (let i = 0; i < stringArray.length; ++i)
12
- distances[i] = stringArray[i] ? AvailableMetrics['String']['Levenshtein'](stringArray[i], seq) : null;
13
+ for (let i = 0; i < stringArray.length; ++i) {
14
+ const distance = stringArray[i] ? AvailableMetrics['String']['Levenshtein'](stringArray[i], seq) : null;
15
+ distances[i] = distance ? distance/Math.max((stringArray[i] as string).length, seq.length) : null;
16
+ }
13
17
  return distances;
14
18
  }
15
19
 
16
20
  export async function getSimilaritiesMarix(dim: number, seqCol: DG.Column, df: DG.DataFrame, colName: string, simArr: DG.Column[])
17
21
  : Promise<DG.Column[]> {
18
22
 
19
- function arrayMin(arr: number[]) {
20
- return arr.reduce(function (p, v) {
21
- return (p < v ? p : v);
22
- });
23
- }
24
-
25
- function arrayMax(arr: number[]) {
26
- return arr.reduce(function (p, v) {
27
- return (p > v ? p : v);
28
- });
29
- }
30
23
  const distances = new Array(simArr.length).fill(null);
31
- let min = Infinity;
32
- let max = -Infinity;
33
24
  for (let i = 0; i != dim - 1; ++i) {
34
- const seq = seqCol.get(i);
25
+ const seq: string = seqCol.get(i);
35
26
  df.rows.removeAt(0, 1, false);
36
27
  distances[i] = (await getDistances(df.col(colName)!, seq))!;
37
- const newMin = arrayMin(distances[i]);
38
- const newMax = arrayMax(distances[i]);
39
- if (newMin < min)
40
- min = newMin;
41
- if (newMax > max)
42
- max = newMax;
43
28
  }
44
29
 
45
30
  for (let i = 0; i < distances.length; i++) {
46
31
  for (let j = 0; j < distances[i].length; j++) {
47
- distances[i][j] = getSimilarityFromDistance((distances[i][j] - min)/(max - min));
32
+ distances[i][j] = getSimilarityFromDistance(distances[i][j]);
48
33
  }
49
34
  simArr[i] = DG.Column.fromList(DG.COLUMN_TYPE.FLOAT, 'distances', distances[i]);
50
35
  }
@@ -1,4 +1,4 @@
1
- <html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=f1ac5a5eade4. Commit a0f7e8c0.</title><style type="text/css">html,
1
+ <html><head><meta charset="utf-8"/><title>Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=a3ba57cf36f3. Commit 3bb13d3a.</title><style type="text/css">html,
2
2
  body {
3
3
  font-family: Arial, Helvetica, sans-serif;
4
4
  font-size: 1rem;
@@ -229,7 +229,7 @@ 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=f1ac5a5eade4. Commit a0f7e8c0.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-09-08 10:03:50</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">10.76s</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">0s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Unknown server alias. Please add it to /home/runner/.grok/config.yaml
232
+ </style></head><body><div id="jesthtml-content"><header><h1 id="title">Bio Test Report. Datagrok version datagrok/datagrok:latest SHA=a3ba57cf36f3. Commit 3bb13d3a.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-09-08 17:41: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">7.878s</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">0s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Unknown server alias. Please add it to /home/runner/.grok/config.yaml
233
233
  at getDevKey (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:48:13)
234
234
  at Object.&lt;anonymous&gt; (/home/runner/work/public/public/packages/Bio/src/__jest__/test-node.ts:57:15)
235
235
  at Generator.next (&lt;anonymous&gt;)