@datagrok/bio 2.22.0 → 2.22.1

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.22.0",
8
+ "version": "2.22.1",
9
9
  "description": "Bioinformatics support (import/export of sequences, conversion, visualization, analysis). [See more](https://github.com/datagrok-ai/public/blob/master/packages/Bio/README.md) for details.",
10
10
  "repository": {
11
11
  "type": "git",
@@ -32,8 +32,7 @@ export class SequenceDiversityViewer extends SequenceSearchBaseViewer {
32
32
  return;
33
33
  if (this.dataFrame) {
34
34
  if (computeData && this.targetColumn) {
35
- const sh = this.seqHelper.getSeqHandler(this.targetColumn);
36
- await (sh.isFasta() ? this.computeByMM() : this.computeByChem());
35
+ await this.computeByMM();
37
36
 
38
37
  const diverseColumnName: string = this.diverseColumnLabel != null ? this.diverseColumnLabel :
39
38
  `diverse (${this.targetColumnName})`;
@@ -57,18 +56,6 @@ export class SequenceDiversityViewer extends SequenceSearchBaseViewer {
57
56
  }
58
57
  }
59
58
 
60
- private async computeByChem() {
61
- const monomericMols = await getMonomericMols(this.targetColumn!, this.seqHelper);
62
- //need to create df to calculate fingerprints
63
- const _monomericMolsDf = DG.DataFrame.fromColumns([monomericMols]);
64
- this.renderMolIds = await grok.functions.call('Chem:callChemDiversitySearch', {
65
- col: monomericMols,
66
- metricName: this.distanceMetric,
67
- limit: this.limit,
68
- fingerprint: this.fingerprint,
69
- });
70
- }
71
-
72
59
  private async computeByMM() {
73
60
  const encodedSequences =
74
61
  (await getEncodedSeqSpaceCol(this.targetColumn!, MmDistanceFunctionsNames.LEVENSHTEIN)).seqList;
@@ -283,6 +283,14 @@ class LibManagerView {
283
283
  this._duplicateManager.root],
284
284
  {style: {width: '100%', height: '100%'}},
285
285
  true);
286
+ if (this._view) {
287
+ try {
288
+ this._view.subs.forEach((s) => s.unsubscribe());
289
+ this._view.detach();
290
+ this._view.close();
291
+ } catch (_e) {
292
+ }
293
+ }
286
294
  this._view = DG.View.fromRoot(v);
287
295
  this._view.name = LibManagerView.viewName;
288
296
  if (addView)
@@ -304,7 +312,7 @@ class LibManagerView {
304
312
  this._view.subs.push(grok.events.onCurrentViewChanged.subscribe(() => {
305
313
  try {
306
314
  const inst = LibManagerView._instance;
307
- if (inst && inst._view && 'id' in grok.shell.v && grok.shell.v.id === inst._view.id)
315
+ if (inst && inst._view && grok.shell.v && 'id' in grok.shell.v && grok.shell.v.id === inst._view.id)
308
316
  inst._duplicateManager?.refresh();
309
317
  } catch (e) {
310
318
  console.error(e);