@datagrok-libraries/bio 5.47.0 → 5.47.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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # bio changelog
2
2
 
3
+ ## 5.47.1 (2024-12-30)
4
+
5
+ Moved bio substructure filter types from Bio package to bio library
6
+
3
7
  ## 5.46.2 (2024-12-23)
4
8
 
5
9
  Add healthCheck method to the IAutoDockService interface
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.47.0",
11
+ "version": "5.47.1",
12
12
  "description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
13
13
  "dependencies": {
14
14
  "@datagrok-libraries/chem-meta": "^1.2.7",
@@ -0,0 +1,47 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import { Observable, Subject } from 'rxjs';
3
+ export interface IFilterProps {
4
+ }
5
+ /** Fasta and Helm */
6
+ export declare class BioFilterProps implements IFilterProps {
7
+ readonly substructure: string;
8
+ /** Pass false from an inheritors constructor, at the end set true. */ protected readOnly: boolean;
9
+ protected logger?: DG.PackageLogger | undefined;
10
+ constructor(substructure: string,
11
+ /** Pass false from an inheritors constructor, at the end set true. */ readOnly?: boolean, logger?: DG.PackageLogger | undefined);
12
+ }
13
+ export interface IBioFilter {
14
+ get type(): string;
15
+ get props(): IFilterProps;
16
+ set props(value: IFilterProps);
17
+ applyProps(props: IFilterProps): void;
18
+ saveProps(): IFilterProps;
19
+ get onChanged(): Observable<void>;
20
+ get filterPanel(): HTMLElement;
21
+ get filterSummary(): string;
22
+ get isFiltering(): boolean;
23
+ attach(): Promise<void>;
24
+ detach(): Promise<void>;
25
+ resetFilter(): void;
26
+ substructureSearch(col: DG.Column): Promise<DG.BitSet | null>;
27
+ }
28
+ /** Encapsulates input controls handling */
29
+ export declare abstract class BioFilterBase<TProps extends BioFilterProps> implements IBioFilter {
30
+ abstract get filterPanel(): HTMLElement;
31
+ abstract get emptyProps(): TProps;
32
+ onChanged: Subject<void>;
33
+ private _props;
34
+ protected _propsChanging: boolean;
35
+ abstract get type(): string;
36
+ get props(): TProps;
37
+ set props(value: TProps);
38
+ saveProps(): IFilterProps;
39
+ abstract applyProps(): void;
40
+ abstract attach(): Promise<void>;
41
+ detach(): Promise<void>;
42
+ get filterSummary(): string;
43
+ get isFiltering(): boolean;
44
+ abstract substructureSearch(_column: DG.Column): Promise<DG.BitSet | null>;
45
+ resetFilter(): void;
46
+ }
47
+ //# sourceMappingURL=bio-substructure-filter-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bio-substructure-filter-types.d.ts","sourceRoot":"","sources":["bio-substructure-filter-types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,UAAU,EAAE,OAAO,EAAiB,MAAM,MAAM,CAAC;AAEzD,MAAM,WAAW,YAAY;CAC5B;AAED,qBAAqB;AACrB,qBAAa,cAAe,YAAW,YAAY;aAE/B,YAAY,EAAE,MAAM;IACpC,sEAAsE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO;IAClG,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa;gBAFnB,YAAY,EAAE,MAAM;IACpC,sEAAsE,CAAW,QAAQ,GAAE,OAAc,EAC/F,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa,YAAA;CAYtC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,IAAI,MAAM,CAAC;IAEnB,IAAI,KAAK,IAAI,YAAY,CAAC;IAC1B,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE;IAE/B,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,SAAS,IAAI,YAAY,CAAC;IAE1B,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,WAAW,IAAI,WAAW,CAAC;IAC/B,IAAI,aAAa,IAAI,MAAM,CAAC;IAC5B,IAAI,WAAW,IAAI,OAAO,CAAC;IAE3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,WAAW,IAAI,IAAI,CAAC;IACpB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED,2CAA2C;AAC3C,8BAAsB,aAAa,CAAC,MAAM,SAAS,cAAc,CAAE,YAAW,UAAU;IACtF,QAAQ,KAAK,WAAW,IAAI,WAAW,CAAC;IAExC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC;IAElC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAuB;IAE/C,OAAO,CAAC,MAAM,CAAuB;IACrC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;IAE1C,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC;IAE5B,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAStB;IAED,SAAS,IAAI,YAAY;IAWzB,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7B,IAAI,aAAa,IAAI,MAAM,CAAoC;IAE/D,IAAI,WAAW,IAAI,OAAO,CAA2C;IAErE,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IAE1E,WAAW,IAAI,IAAI;CAIpB"}
@@ -0,0 +1,64 @@
1
+ import { Subject } from 'rxjs';
2
+ /** Fasta and Helm */
3
+ export class BioFilterProps {
4
+ constructor(substructure,
5
+ /** Pass false from an inheritors constructor, at the end set true. */ readOnly = true, logger) {
6
+ this.substructure = substructure;
7
+ this.readOnly = readOnly;
8
+ this.logger = logger;
9
+ return new Proxy(this, {
10
+ set: (target, key, value) => {
11
+ this.logger?.debug(`BioFilterProps.set ${key.toString()}( '${value}' )`);
12
+ if (this.readOnly)
13
+ throw new Error('Properties are immutable.');
14
+ target[key] = value;
15
+ return true;
16
+ }
17
+ });
18
+ }
19
+ }
20
+ /** Encapsulates input controls handling */
21
+ export class BioFilterBase {
22
+ constructor() {
23
+ this.onChanged = new Subject();
24
+ this._props = null;
25
+ this._propsChanging = false;
26
+ }
27
+ get props() {
28
+ if (!this._props)
29
+ this._props = this.emptyProps;
30
+ return this._props;
31
+ }
32
+ ;
33
+ set props(value) {
34
+ this._propsChanging = true;
35
+ try {
36
+ this._props = value;
37
+ this.applyProps();
38
+ this.onChanged.next();
39
+ }
40
+ finally {
41
+ this._propsChanging = false;
42
+ }
43
+ }
44
+ ;
45
+ saveProps() {
46
+ const propsObj = {};
47
+ for (const [key, value] of Object.entries(this.props)) {
48
+ if (key !== '_onChanged' && key !== 'logger') {
49
+ // @ts-ignore
50
+ propsObj[key] = this.props[key];
51
+ }
52
+ }
53
+ return propsObj;
54
+ }
55
+ async detach() { }
56
+ get filterSummary() { return this.props.substructure; }
57
+ ;
58
+ get isFiltering() { return this.props.substructure !== ''; }
59
+ resetFilter() {
60
+ this.props = this.emptyProps;
61
+ this.onChanged.next();
62
+ }
63
+ }
64
+ //# sourceMappingURL=bio-substructure-filter-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bio-substructure-filter-types.js","sourceRoot":"","sources":["bio-substructure-filter-types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,OAAO,EAAiB,MAAM,MAAM,CAAC;AAKzD,qBAAqB;AACrB,MAAM,OAAO,cAAc;IACzB,YACkB,YAAoB;IACpC,sEAAsE,CAAW,WAAoB,IAAI,EAC/F,MAAyB;QAFnB,iBAAY,GAAZ,YAAY,CAAQ;QAC6C,aAAQ,GAAR,QAAQ,CAAgB;QAC/F,WAAM,GAAN,MAAM,CAAmB;QAEnC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,MAAW,EAAE,GAAoB,EAAE,KAAU,EAAE,EAAE;gBACrD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC;gBACzE,IAAI,IAAI,CAAC,QAAQ;oBACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAsBD,2CAA2C;AAC3C,MAAM,OAAgB,aAAa;IAAnC;QAKE,cAAS,GAAkB,IAAI,OAAO,EAAQ,CAAC;QAEvC,WAAM,GAAkB,IAAI,CAAC;QAC3B,mBAAc,GAAY,KAAK,CAAC;IA+C5C,CAAC;IA3CC,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAAA,CAAC;IAEF,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAAA,CAAC;IAEF,SAAS;QACP,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC7C,aAAa;gBACb,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMD,KAAK,CAAC,MAAM,KAAoB,CAAC;IAEjC,IAAI,aAAa,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAAA,CAAC;IAEhE,IAAI,WAAW,KAAc,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC;IAIrE,WAAW;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACF"}