@datagrok/bio 2.10.8 → 2.10.9
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/CHANGELOG.md +1 -0
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/package.json +1 -1
- package/src/widgets/bio-substructure-filter.ts +24 -8
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Leonid Stolbov",
|
|
6
6
|
"email": "lstolbov@datagrok.ai"
|
|
7
7
|
},
|
|
8
|
-
"version": "2.10.
|
|
8
|
+
"version": "2.10.9",
|
|
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",
|
|
@@ -17,7 +17,7 @@ import {delay} from '@datagrok-libraries/utils/src/test';
|
|
|
17
17
|
import {debounceTime} from 'rxjs/operators';
|
|
18
18
|
|
|
19
19
|
export class BioSubstructureFilter extends DG.Filter {
|
|
20
|
-
bioFilter:
|
|
20
|
+
bioFilter: BioFilterBase | null = null;
|
|
21
21
|
bitset: DG.BitSet | null = null;
|
|
22
22
|
loader: HTMLDivElement = ui.loader();
|
|
23
23
|
onBioFilterChangedSubs?: Subscription;
|
|
@@ -75,6 +75,10 @@ export class BioSubstructureFilter extends DG.Filter {
|
|
|
75
75
|
let onChangedEvent: any = this.bioFilter.onChanged;
|
|
76
76
|
onChangedEvent = onChangedEvent.pipe(debounceTime(this._debounceTime));
|
|
77
77
|
this.onBioFilterChangedSubs = onChangedEvent.subscribe(async (_: any) => await this._onInputChanged());
|
|
78
|
+
|
|
79
|
+
this.subs.push(grok.events.onResetFilterRequest.subscribe((_value: any) => {
|
|
80
|
+
this.bioFilter?.resetFilter();
|
|
81
|
+
}));
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
detach() {
|
|
@@ -123,7 +127,7 @@ export class BioSubstructureFilter extends DG.Filter {
|
|
|
123
127
|
} else {
|
|
124
128
|
this.calculating = true;
|
|
125
129
|
try {
|
|
126
|
-
this.bitset = await this.bioFilter?.
|
|
130
|
+
this.bitset = await this.bioFilter?.substructureSearch(this.column!)!;
|
|
127
131
|
this.calculating = false;
|
|
128
132
|
this.dataFrame?.rows.requestFilter();
|
|
129
133
|
} finally {
|
|
@@ -147,9 +151,11 @@ abstract class BioFilterBase {
|
|
|
147
151
|
set substructure(s: string) {
|
|
148
152
|
}
|
|
149
153
|
|
|
150
|
-
async
|
|
154
|
+
async substructureSearch(_column: DG.Column): Promise<DG.BitSet | null> {
|
|
151
155
|
return null;
|
|
152
156
|
}
|
|
157
|
+
|
|
158
|
+
abstract resetFilter(): void;
|
|
153
159
|
}
|
|
154
160
|
|
|
155
161
|
class FastaFilter extends BioFilterBase {
|
|
@@ -175,8 +181,12 @@ class FastaFilter extends BioFilterBase {
|
|
|
175
181
|
this.substructureInput.value = s;
|
|
176
182
|
}
|
|
177
183
|
|
|
178
|
-
async
|
|
179
|
-
return
|
|
184
|
+
async substructureSearch(column: DG.Column): Promise<DG.BitSet | null> {
|
|
185
|
+
return linearSubstructureSearch(this.substructure, column);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
resetFilter(): void {
|
|
189
|
+
this.substructureInput.value = '';
|
|
180
190
|
}
|
|
181
191
|
}
|
|
182
192
|
|
|
@@ -211,8 +221,8 @@ export class SeparatorFilter extends FastaFilter {
|
|
|
211
221
|
this.substructureInput.value = s;
|
|
212
222
|
}
|
|
213
223
|
|
|
214
|
-
async
|
|
215
|
-
return
|
|
224
|
+
async substructureSearch(column: DG.Column): Promise<DG.BitSet | null> {
|
|
225
|
+
return linearSubstructureSearch(this.substructure, column, this.colSeparator);
|
|
216
226
|
}
|
|
217
227
|
}
|
|
218
228
|
|
|
@@ -276,11 +286,17 @@ export class HelmFilter extends BioFilterBase {
|
|
|
276
286
|
}
|
|
277
287
|
}
|
|
278
288
|
|
|
279
|
-
async
|
|
289
|
+
async substructureSearch(column: DG.Column): Promise<DG.BitSet | null> {
|
|
280
290
|
ui.setUpdateIndicator(this._filterPanel, true);
|
|
281
291
|
await delay(10);
|
|
282
292
|
const res = await helmSubstructureSearch(this.substructure, column);
|
|
283
293
|
ui.setUpdateIndicator(this._filterPanel, false);
|
|
284
294
|
return res;
|
|
285
295
|
}
|
|
296
|
+
|
|
297
|
+
resetFilter(): void {
|
|
298
|
+
console.debug('Bio: HelmFilter.resetFilter()');
|
|
299
|
+
this.helmSubstructure = '';
|
|
300
|
+
this.updateFilterPanel(this.substructure);
|
|
301
|
+
}
|
|
286
302
|
}
|