@platforma-sdk/model 1.53.11 → 1.53.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/dist/annotations/converter.cjs +11 -11
- package/dist/annotations/converter.cjs.map +1 -1
- package/dist/annotations/converter.d.ts +1 -1
- package/dist/annotations/converter.d.ts.map +1 -1
- package/dist/annotations/converter.js +11 -11
- package/dist/annotations/converter.js.map +1 -1
- package/dist/annotations/index.d.ts +2 -2
- package/dist/annotations/types.d.ts +4 -4
- package/dist/bconfig/index.d.ts +5 -5
- package/dist/bconfig/lambdas.d.ts +7 -7
- package/dist/bconfig/lambdas.d.ts.map +1 -1
- package/dist/bconfig/normalization.cjs.map +1 -1
- package/dist/bconfig/normalization.d.ts +3 -3
- package/dist/bconfig/normalization.js.map +1 -1
- package/dist/bconfig/types.cjs.map +1 -1
- package/dist/bconfig/types.d.ts +2 -2
- package/dist/bconfig/types.d.ts.map +1 -1
- package/dist/bconfig/types.js.map +1 -1
- package/dist/bconfig/util.d.ts +4 -4
- package/dist/bconfig/v3.d.ts +3 -3
- package/dist/block_api_v1.d.ts +2 -2
- package/dist/block_api_v1.d.ts.map +1 -1
- package/dist/block_api_v2.d.ts +2 -2
- package/dist/block_api_v2.d.ts.map +1 -1
- package/dist/block_api_v3.d.ts +3 -3
- package/dist/block_migrations.cjs +10 -10
- package/dist/block_migrations.cjs.map +1 -1
- package/dist/block_migrations.d.ts.map +1 -1
- package/dist/block_migrations.js +10 -10
- package/dist/block_migrations.js.map +1 -1
- package/dist/block_model.cjs +11 -11
- package/dist/block_model.cjs.map +1 -1
- package/dist/block_model.d.ts +8 -8
- package/dist/block_model.d.ts.map +1 -1
- package/dist/block_model.js +11 -11
- package/dist/block_model.js.map +1 -1
- package/dist/block_state_patch.d.ts +2 -2
- package/dist/block_state_util.cjs +1 -1
- package/dist/block_state_util.cjs.map +1 -1
- package/dist/block_state_util.d.ts +3 -3
- package/dist/block_state_util.js +1 -1
- package/dist/block_state_util.js.map +1 -1
- package/dist/block_storage.cjs +10 -10
- package/dist/block_storage.cjs.map +1 -1
- package/dist/block_storage.d.ts +2 -2
- package/dist/block_storage.d.ts.map +1 -1
- package/dist/block_storage.js +10 -10
- package/dist/block_storage.js.map +1 -1
- package/dist/block_storage_vm.cjs +22 -22
- package/dist/block_storage_vm.cjs.map +1 -1
- package/dist/block_storage_vm.d.ts +1 -1
- package/dist/block_storage_vm.d.ts.map +1 -1
- package/dist/block_storage_vm.js +22 -22
- package/dist/block_storage_vm.js.map +1 -1
- package/dist/builder.cjs +32 -23
- package/dist/builder.cjs.map +1 -1
- package/dist/builder.d.ts +7 -7
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +32 -23
- package/dist/builder.js.map +1 -1
- package/dist/components/PFrameForGraphs.cjs +7 -6
- package/dist/components/PFrameForGraphs.cjs.map +1 -1
- package/dist/components/PFrameForGraphs.d.ts +4 -4
- package/dist/components/PFrameForGraphs.d.ts.map +1 -1
- package/dist/components/PFrameForGraphs.js +7 -6
- package/dist/components/PFrameForGraphs.js.map +1 -1
- package/dist/components/PlAnnotations/filter.d.ts +14 -14
- package/dist/components/PlAnnotations/filter.d.ts.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.cjs +46 -46
- package/dist/components/PlAnnotations/filters_ui.cjs.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.d.ts +10 -34
- package/dist/components/PlAnnotations/filters_ui.d.ts.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.js +46 -46
- package/dist/components/PlAnnotations/filters_ui.js.map +1 -1
- package/dist/components/PlAnnotations/index.d.ts +2 -2
- package/dist/components/PlAnnotations/types.d.ts +2 -2
- package/dist/components/PlDataTable.cjs +19 -20
- package/dist/components/PlDataTable.cjs.map +1 -1
- package/dist/components/PlDataTable.d.ts +27 -27
- package/dist/components/PlDataTable.d.ts.map +1 -1
- package/dist/components/PlDataTable.js +19 -20
- package/dist/components/PlDataTable.js.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.cjs +2 -2
- package/dist/components/PlMultiSequenceAlignment.cjs.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.d.ts +6 -6
- package/dist/components/PlMultiSequenceAlignment.d.ts.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.js +2 -2
- package/dist/components/PlMultiSequenceAlignment.js.map +1 -1
- package/dist/components/PlSelectionModel.cjs.map +1 -1
- package/dist/components/PlSelectionModel.d.ts +1 -1
- package/dist/components/PlSelectionModel.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/config/actions.cjs +39 -39
- package/dist/config/actions.cjs.map +1 -1
- package/dist/config/actions.d.ts +9 -9
- package/dist/config/actions.d.ts.map +1 -1
- package/dist/config/actions.js +39 -39
- package/dist/config/actions.js.map +1 -1
- package/dist/config/actions_kinds.d.ts +30 -30
- package/dist/config/actions_kinds.d.ts.map +1 -1
- package/dist/config/index.d.ts +6 -6
- package/dist/config/model.d.ts +28 -28
- package/dist/config/model_meta.d.ts +1 -1
- package/dist/config/type_engine.d.ts +3 -3
- package/dist/config/type_util.d.ts +2 -2
- package/dist/env_value.cjs +1 -1
- package/dist/env_value.cjs.map +1 -1
- package/dist/env_value.js +1 -1
- package/dist/env_value.js.map +1 -1
- package/dist/filters/converter.cjs +36 -32
- package/dist/filters/converter.cjs.map +1 -1
- package/dist/filters/converter.d.ts +2 -2
- package/dist/filters/converter.d.ts.map +1 -1
- package/dist/filters/converter.js +36 -32
- package/dist/filters/converter.js.map +1 -1
- package/dist/filters/index.d.ts +2 -2
- package/dist/filters/types.d.ts +33 -33
- package/dist/filters/types.d.ts.map +1 -1
- package/dist/index.d.ts +24 -24
- package/dist/internal.cjs +7 -7
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.ts +4 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +7 -7
- package/dist/internal.js.map +1 -1
- package/dist/package.json.cjs +1 -1
- package/dist/package.json.js +1 -1
- package/dist/pframe.cjs +1 -1
- package/dist/pframe.cjs.map +1 -1
- package/dist/pframe.d.ts +1 -1
- package/dist/pframe.js +1 -1
- package/dist/pframe.js.map +1 -1
- package/dist/pframe_utils/columns.cjs +23 -15
- package/dist/pframe_utils/columns.cjs.map +1 -1
- package/dist/pframe_utils/columns.d.ts +3 -3
- package/dist/pframe_utils/columns.d.ts.map +1 -1
- package/dist/pframe_utils/columns.js +23 -15
- package/dist/pframe_utils/columns.js.map +1 -1
- package/dist/pframe_utils/index.cjs +25 -25
- package/dist/pframe_utils/index.cjs.map +1 -1
- package/dist/pframe_utils/index.d.ts +3 -3
- package/dist/pframe_utils/index.d.ts.map +1 -1
- package/dist/pframe_utils/index.js +25 -25
- package/dist/pframe_utils/index.js.map +1 -1
- package/dist/platforma.d.ts +7 -7
- package/dist/platforma.d.ts.map +1 -1
- package/dist/raw_globals.cjs +4 -1
- package/dist/raw_globals.cjs.map +1 -1
- package/dist/raw_globals.d.ts +2 -2
- package/dist/raw_globals.d.ts.map +1 -1
- package/dist/raw_globals.js +4 -1
- package/dist/raw_globals.js.map +1 -1
- package/dist/ref_util.cjs +4 -4
- package/dist/ref_util.cjs.map +1 -1
- package/dist/ref_util.d.ts +1 -1
- package/dist/ref_util.js +4 -4
- package/dist/ref_util.js.map +1 -1
- package/dist/render/accessor.cjs +24 -24
- package/dist/render/accessor.cjs.map +1 -1
- package/dist/render/accessor.d.ts +10 -10
- package/dist/render/accessor.d.ts.map +1 -1
- package/dist/render/accessor.js +24 -24
- package/dist/render/accessor.js.map +1 -1
- package/dist/render/api.cjs +23 -23
- package/dist/render/api.cjs.map +1 -1
- package/dist/render/api.d.ts +11 -11
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/api.js +23 -23
- package/dist/render/api.js.map +1 -1
- package/dist/render/future.cjs.map +1 -1
- package/dist/render/future.d.ts +1 -1
- package/dist/render/future.js.map +1 -1
- package/dist/render/index.d.ts +6 -6
- package/dist/render/internal.cjs +4 -4
- package/dist/render/internal.cjs.map +1 -1
- package/dist/render/internal.d.ts +7 -7
- package/dist/render/internal.d.ts.map +1 -1
- package/dist/render/internal.js +4 -4
- package/dist/render/internal.js.map +1 -1
- package/dist/render/traversal_ops.d.ts +1 -1
- package/dist/render/util/axis_filtering.cjs +48 -44
- package/dist/render/util/axis_filtering.cjs.map +1 -1
- package/dist/render/util/axis_filtering.d.ts +2 -2
- package/dist/render/util/axis_filtering.js +48 -44
- package/dist/render/util/axis_filtering.js.map +1 -1
- package/dist/render/util/column_collection.cjs +42 -35
- package/dist/render/util/column_collection.cjs.map +1 -1
- package/dist/render/util/column_collection.d.ts +4 -4
- package/dist/render/util/column_collection.d.ts.map +1 -1
- package/dist/render/util/column_collection.js +42 -35
- package/dist/render/util/column_collection.js.map +1 -1
- package/dist/render/util/index.d.ts +4 -4
- package/dist/render/util/label.cjs +15 -21
- package/dist/render/util/label.cjs.map +1 -1
- package/dist/render/util/label.d.ts +2 -2
- package/dist/render/util/label.d.ts.map +1 -1
- package/dist/render/util/label.js +15 -21
- package/dist/render/util/label.js.map +1 -1
- package/dist/render/util/pcolumn_data.cjs +56 -54
- package/dist/render/util/pcolumn_data.cjs.map +1 -1
- package/dist/render/util/pcolumn_data.d.ts +5 -5
- package/dist/render/util/pcolumn_data.d.ts.map +1 -1
- package/dist/render/util/pcolumn_data.js +56 -54
- package/dist/render/util/pcolumn_data.js.map +1 -1
- package/dist/render/util/pframe_upgraders.cjs +6 -6
- package/dist/render/util/pframe_upgraders.cjs.map +1 -1
- package/dist/render/util/pframe_upgraders.d.ts +1 -1
- package/dist/render/util/pframe_upgraders.d.ts.map +1 -1
- package/dist/render/util/pframe_upgraders.js +6 -6
- package/dist/render/util/pframe_upgraders.js.map +1 -1
- package/dist/render/util/split_selectors.d.ts +1 -1
- package/dist/render/util/split_selectors.d.ts.map +1 -1
- package/dist/sdk_info.cjs.map +1 -1
- package/dist/sdk_info.js.map +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +24 -22
- package/src/annotations/converter.test.ts +98 -101
- package/src/annotations/converter.ts +21 -17
- package/src/annotations/index.ts +2 -2
- package/src/annotations/types.ts +4 -4
- package/src/bconfig/index.ts +5 -5
- package/src/bconfig/lambdas.ts +10 -12
- package/src/bconfig/normalization.ts +5 -5
- package/src/bconfig/types.ts +3 -5
- package/src/bconfig/util.ts +3 -3
- package/src/bconfig/v3.ts +3 -3
- package/src/block_api_v1.ts +7 -3
- package/src/block_api_v2.ts +7 -3
- package/src/block_api_v3.ts +3 -3
- package/src/block_migrations.test.ts +66 -67
- package/src/block_migrations.ts +16 -16
- package/src/block_model.ts +76 -140
- package/src/block_state_patch.ts +2 -2
- package/src/block_state_util.ts +4 -4
- package/src/block_storage.test.ts +106 -99
- package/src/block_storage.ts +22 -25
- package/src/block_storage_vm.ts +41 -35
- package/src/builder.ts +107 -95
- package/src/components/PFrameForGraphs.test.ts +261 -255
- package/src/components/PFrameForGraphs.ts +35 -22
- package/src/components/PlAnnotations/filter.ts +21 -15
- package/src/components/PlAnnotations/filters_ui.test.ts +230 -73
- package/src/components/PlAnnotations/filters_ui.ts +138 -105
- package/src/components/PlAnnotations/index.ts +2 -2
- package/src/components/PlAnnotations/types.ts +2 -2
- package/src/components/PlDataTable.ts +177 -164
- package/src/components/PlMultiSequenceAlignment.ts +11 -18
- package/src/components/PlSelectionModel.ts +1 -1
- package/src/components/index.ts +5 -5
- package/src/config/actions.ts +64 -59
- package/src/config/actions_kinds.ts +38 -34
- package/src/config/index.ts +6 -6
- package/src/config/model.ts +28 -28
- package/src/config/model_meta.ts +1 -1
- package/src/config/type_engine.ts +3 -3
- package/src/config/type_util.ts +2 -2
- package/src/env_value.ts +2 -2
- package/src/filters/converter.test.ts +185 -144
- package/src/filters/converter.ts +47 -35
- package/src/filters/index.ts +2 -2
- package/src/filters/types.ts +44 -39
- package/src/global.d.ts +1 -1
- package/src/index.ts +24 -24
- package/src/internal.ts +27 -17
- package/src/pframe.ts +3 -3
- package/src/pframe_utils/columns.ts +81 -31
- package/src/pframe_utils/index.ts +65 -43
- package/src/platforma.ts +44 -21
- package/src/raw_globals.ts +13 -7
- package/src/ref_util.ts +6 -6
- package/src/render/accessor.ts +43 -44
- package/src/render/api.ts +102 -78
- package/src/render/future.ts +2 -2
- package/src/render/index.ts +6 -6
- package/src/render/internal.ts +11 -12
- package/src/render/traversal_ops.ts +1 -1
- package/src/render/util/axis_filtering.ts +67 -52
- package/src/render/util/column_collection.ts +171 -91
- package/src/render/util/index.ts +4 -4
- package/src/render/util/label.test.ts +139 -139
- package/src/render/util/label.ts +42 -33
- package/src/render/util/pcolumn_data.ts +111 -75
- package/src/render/util/pframe_upgraders.ts +24 -13
- package/src/render/util/split_selectors.ts +6 -1
- package/src/sdk_info.ts +1 -1
- package/src/typing.test.ts +56 -56
- package/src/version.ts +1 -1
|
@@ -6,19 +6,20 @@ import type {
|
|
|
6
6
|
PColumnSpec,
|
|
7
7
|
PFrameHandle,
|
|
8
8
|
PObjectId,
|
|
9
|
-
} from
|
|
9
|
+
} from "@milaboratories/pl-model-common";
|
|
10
10
|
import {
|
|
11
11
|
Annotation,
|
|
12
12
|
canonicalizeJson,
|
|
13
13
|
getAxisId,
|
|
14
|
-
getColumnIdAndSpec,
|
|
14
|
+
getColumnIdAndSpec,
|
|
15
|
+
LinkerMap,
|
|
15
16
|
matchAxisId,
|
|
16
17
|
readAnnotation,
|
|
17
18
|
readAnnotationJson,
|
|
18
19
|
stringifyJson,
|
|
19
|
-
} from
|
|
20
|
-
import type { PColumnDataUniversal, RenderCtxBase } from
|
|
21
|
-
import { getAllRelatedColumns, getRelatedColumns } from
|
|
20
|
+
} from "@milaboratories/pl-model-common";
|
|
21
|
+
import type { PColumnDataUniversal, RenderCtxBase } from "../render";
|
|
22
|
+
import { getAllRelatedColumns, getRelatedColumns } from "../pframe_utils/columns";
|
|
22
23
|
|
|
23
24
|
/** Create id for column copy with added keys in axes domains */
|
|
24
25
|
const colId = (id: PObjectId, domains: (Record<string, string> | undefined)[]) => {
|
|
@@ -61,7 +62,7 @@ export function isHiddenFromUIColumn(column: PColumnSpec): boolean {
|
|
|
61
62
|
export type AxesVault = Map<CanonicalizedJson<AxisId>, AxisSpecNormalized>;
|
|
62
63
|
|
|
63
64
|
export function getAvailableWithLinkersAxes(
|
|
64
|
-
linkerColumns:
|
|
65
|
+
linkerColumns: PColumn<PColumnDataUniversal>[],
|
|
65
66
|
blockAxes: AxesVault,
|
|
66
67
|
): AxesVault {
|
|
67
68
|
const linkerMap = LinkerMap.fromColumns(linkerColumns.map(getColumnIdAndSpec));
|
|
@@ -70,17 +71,22 @@ export function getAvailableWithLinkersAxes(
|
|
|
70
71
|
(linkerKeyId, sourceAxisId) => matchAxisId(sourceAxisId, linkerKeyId),
|
|
71
72
|
);
|
|
72
73
|
|
|
73
|
-
return new Map(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
return new Map(
|
|
75
|
+
availableAxes.map((axisSpec) => {
|
|
76
|
+
const id = getAxisId(axisSpec);
|
|
77
|
+
return [canonicalizeJson(id), axisSpec];
|
|
78
|
+
}),
|
|
79
|
+
);
|
|
77
80
|
}
|
|
78
81
|
/** Add columns with fully compatible axes created from partial compatible ones */
|
|
79
|
-
export function enrichCompatible<T extends Omit<PColumn<PColumnDataUniversal>,
|
|
82
|
+
export function enrichCompatible<T extends Omit<PColumn<PColumnDataUniversal>, "data">>(
|
|
83
|
+
blockAxes: AxesVault,
|
|
84
|
+
columns: T[],
|
|
85
|
+
): T[] {
|
|
80
86
|
return columns.flatMap((column) => getAdditionalColumnsForColumn(blockAxes, column));
|
|
81
87
|
}
|
|
82
88
|
|
|
83
|
-
function getAdditionalColumnsForColumn<T extends Omit<PColumn<PColumnDataUniversal>,
|
|
89
|
+
function getAdditionalColumnsForColumn<T extends Omit<PColumn<PColumnDataUniversal>, "data">>(
|
|
84
90
|
blockAxes: AxesVault,
|
|
85
91
|
column: T,
|
|
86
92
|
): T[] {
|
|
@@ -118,10 +124,10 @@ function getAdditionalColumnsForColumn<T extends Omit<PColumn<PColumnDataUnivers
|
|
|
118
124
|
allAddedDomainValues.add(item);
|
|
119
125
|
}
|
|
120
126
|
});
|
|
121
|
-
return
|
|
127
|
+
return {
|
|
122
128
|
...axisId,
|
|
123
129
|
annotations: column.spec.axesSpec[idx].annotations,
|
|
124
|
-
}
|
|
130
|
+
};
|
|
125
131
|
});
|
|
126
132
|
return addedSet;
|
|
127
133
|
});
|
|
@@ -132,21 +138,25 @@ function getAdditionalColumnsForColumn<T extends Omit<PColumn<PColumnDataUnivers
|
|
|
132
138
|
});
|
|
133
139
|
|
|
134
140
|
const additionalColumns = secondaryIdsVariants.map((idsList, idx) => {
|
|
135
|
-
const id = colId(
|
|
141
|
+
const id = colId(
|
|
142
|
+
column.id,
|
|
143
|
+
idsList.map((id) => id.domain),
|
|
144
|
+
);
|
|
136
145
|
|
|
137
|
-
const label = readAnnotation(column.spec, Annotation.Label) ??
|
|
138
|
-
const labelDomainPart =
|
|
146
|
+
const label = readAnnotation(column.spec, Annotation.Label) ?? "";
|
|
147
|
+
const labelDomainPart = [...addedByVariantsDomainValues[idx]]
|
|
139
148
|
.filter((str) => addedNotToAllVariantsDomainValues.has(str))
|
|
140
149
|
.sort()
|
|
141
150
|
.map((v) => JSON.parse(v)?.[1]) // use in labels only domain values, but sort them by key to save the same order in all column variants
|
|
142
|
-
.join(
|
|
151
|
+
.join(" / ");
|
|
143
152
|
|
|
144
153
|
const annotations: Annotation = {
|
|
145
154
|
...column.spec.annotations,
|
|
146
155
|
[Annotation.Graph.IsVirtual]: stringifyJson(true),
|
|
147
156
|
};
|
|
148
157
|
if (label || labelDomainPart) {
|
|
149
|
-
annotations[Annotation.Label] =
|
|
158
|
+
annotations[Annotation.Label] =
|
|
159
|
+
label && labelDomainPart ? label + " / " + labelDomainPart : label + labelDomainPart;
|
|
150
160
|
}
|
|
151
161
|
|
|
152
162
|
return {
|
|
@@ -182,11 +192,14 @@ export function createPFrameForGraphs<A, U>(
|
|
|
182
192
|
ctx: RenderCtxBase<A, U>,
|
|
183
193
|
blockColumns?: PColumn<PColumnDataUniversal>[],
|
|
184
194
|
): PFrameHandle | undefined {
|
|
185
|
-
const suitableSpec = (spec: PColumnSpec) =>
|
|
195
|
+
const suitableSpec = (spec: PColumnSpec) =>
|
|
196
|
+
!isHiddenFromUIColumn(spec) && !isHiddenFromGraphColumn(spec);
|
|
186
197
|
// if current block doesn't produce own columns then use all columns from result pool
|
|
187
198
|
if (!blockColumns) {
|
|
188
199
|
return ctx.createPFrame(getAllRelatedColumns(ctx, suitableSpec));
|
|
189
|
-
}
|
|
200
|
+
}
|
|
190
201
|
|
|
191
|
-
return ctx.createPFrame(
|
|
202
|
+
return ctx.createPFrame(
|
|
203
|
+
getRelatedColumns(ctx, { columns: blockColumns, predicate: suitableSpec }),
|
|
204
|
+
);
|
|
192
205
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @DEPRECATED - use sdk/model/src/filters + sdk/model/src/annotations
|
|
2
|
-
import type { SUniversalPColumnId } from
|
|
2
|
+
import type { SUniversalPColumnId } from "@milaboratories/pl-model-common";
|
|
3
3
|
//
|
|
4
4
|
// Sequence filter
|
|
5
5
|
//
|
|
@@ -10,7 +10,7 @@ import type { SUniversalPColumnId } from '@milaboratories/pl-model-common';
|
|
|
10
10
|
* Can handle both string literals and biological sequences with wildcards.
|
|
11
11
|
*/
|
|
12
12
|
export type PatternPredicateEquals = {
|
|
13
|
-
type:
|
|
13
|
+
type: "equals";
|
|
14
14
|
/** The exact pattern value to match */
|
|
15
15
|
value: string;
|
|
16
16
|
};
|
|
@@ -21,7 +21,7 @@ export type PatternPredicateEquals = {
|
|
|
21
21
|
* Can handle both string literals and biological sequences with wildcards.
|
|
22
22
|
*/
|
|
23
23
|
export type PatternPredicateContainSubsequence = {
|
|
24
|
-
type:
|
|
24
|
+
type: "containSubsequence";
|
|
25
25
|
/** The subpattern to search for within the target pattern */
|
|
26
26
|
value: string;
|
|
27
27
|
};
|
|
@@ -36,7 +36,7 @@ export type PatternPredicate = PatternPredicateEquals | PatternPredicateContainS
|
|
|
36
36
|
* Works with both biological sequences (with wildcards) and regular strings.
|
|
37
37
|
*/
|
|
38
38
|
export type PatternFilter = {
|
|
39
|
-
type:
|
|
39
|
+
type: "pattern";
|
|
40
40
|
/** The column identifier to apply the filter to */
|
|
41
41
|
column: SUniversalPColumnId;
|
|
42
42
|
/** The predicate defining the filtering logic */
|
|
@@ -59,7 +59,7 @@ export type PatternFilter = {
|
|
|
59
59
|
* The ranked values can be used in numerical comparison filters.
|
|
60
60
|
*/
|
|
61
61
|
export type ValueRank = {
|
|
62
|
-
transformer:
|
|
62
|
+
transformer: "rank";
|
|
63
63
|
/** The column identifier to apply the ranking to */
|
|
64
64
|
column: SUniversalPColumnId;
|
|
65
65
|
/** If true, sorts highest values first (highest value gets rank 1) */
|
|
@@ -77,7 +77,7 @@ export type ValueRank = {
|
|
|
77
77
|
* The cumulative values can be used in numerical comparison filters.
|
|
78
78
|
*/
|
|
79
79
|
export type SortedCumulativeSum = {
|
|
80
|
-
transformer:
|
|
80
|
+
transformer: "sortedCumulativeSum";
|
|
81
81
|
/** The column identifier to apply the cumulative sum to */
|
|
82
82
|
column: SUniversalPColumnId;
|
|
83
83
|
/** If true, sorts values in descending order before calculating the cumulative sum */
|
|
@@ -94,7 +94,7 @@ export type SortedCumulativeSum = {
|
|
|
94
94
|
* Note: The behavior for non-positive input values (<= 0) results in -Infinity.
|
|
95
95
|
*/
|
|
96
96
|
export type Log10 = {
|
|
97
|
-
transformer:
|
|
97
|
+
transformer: "log10";
|
|
98
98
|
/** The column identifier to apply the log10 transformation to */
|
|
99
99
|
column: SUniversalPColumnId;
|
|
100
100
|
};
|
|
@@ -125,7 +125,7 @@ export type TransformedColumn = ValueRank | SortedCumulativeSum | Log10;
|
|
|
125
125
|
* - Use allowEqual=true to include equality in the comparison (<=)
|
|
126
126
|
*/
|
|
127
127
|
export type NumericalComparisonFilter = {
|
|
128
|
-
type:
|
|
128
|
+
type: "numericalComparison";
|
|
129
129
|
/** The first column to compare (left side of comparison) */
|
|
130
130
|
lhs: SUniversalPColumnId | TransformedColumn | number;
|
|
131
131
|
/** The second column to compare (right side of comparison) */
|
|
@@ -141,7 +141,7 @@ export type NumericalComparisonFilter = {
|
|
|
141
141
|
* This filter is useful for filtering out records where a specific column has no value / clonotype is not present.
|
|
142
142
|
*/
|
|
143
143
|
export type IsNA = {
|
|
144
|
-
type:
|
|
144
|
+
type: "isNA";
|
|
145
145
|
/** The column identifier to check for NA values */
|
|
146
146
|
column: SUniversalPColumnId;
|
|
147
147
|
};
|
|
@@ -155,7 +155,7 @@ export type IsNA = {
|
|
|
155
155
|
* A record matches if at least one of the contained filters matches.
|
|
156
156
|
*/
|
|
157
157
|
export interface OrFilter {
|
|
158
|
-
type:
|
|
158
|
+
type: "or";
|
|
159
159
|
/** Array of filters to combine with OR logic */
|
|
160
160
|
filters: AnnotationFilter[];
|
|
161
161
|
}
|
|
@@ -165,7 +165,7 @@ export interface OrFilter {
|
|
|
165
165
|
* A record matches only if all of the contained filters match.
|
|
166
166
|
*/
|
|
167
167
|
export interface AndFilter {
|
|
168
|
-
type:
|
|
168
|
+
type: "and";
|
|
169
169
|
/** Array of filters to combine with AND logic */
|
|
170
170
|
filters: AnnotationFilter[];
|
|
171
171
|
}
|
|
@@ -175,7 +175,7 @@ export interface AndFilter {
|
|
|
175
175
|
* A record matches if it does not match the contained filter.
|
|
176
176
|
*/
|
|
177
177
|
export interface NotFilter {
|
|
178
|
-
type:
|
|
178
|
+
type: "not";
|
|
179
179
|
/** The filter to negate */
|
|
180
180
|
filter: AnnotationFilter;
|
|
181
181
|
}
|
|
@@ -183,7 +183,13 @@ export interface NotFilter {
|
|
|
183
183
|
/**
|
|
184
184
|
* Union type for all supported annotation filters.
|
|
185
185
|
*/
|
|
186
|
-
export type AnnotationFilter =
|
|
186
|
+
export type AnnotationFilter =
|
|
187
|
+
| IsNA
|
|
188
|
+
| PatternFilter
|
|
189
|
+
| NumericalComparisonFilter
|
|
190
|
+
| OrFilter
|
|
191
|
+
| AndFilter
|
|
192
|
+
| NotFilter;
|
|
187
193
|
|
|
188
194
|
//
|
|
189
195
|
// Annotation
|
|
@@ -211,7 +217,7 @@ export type AnnotationMode =
|
|
|
211
217
|
* The resulting column will have the following shape:
|
|
212
218
|
* [clonotype_key] -> label
|
|
213
219
|
*/
|
|
214
|
-
|
|
|
220
|
+
| "byClonotype"
|
|
215
221
|
/**
|
|
216
222
|
* Annotates clonotypes independently within each sample.
|
|
217
223
|
* This allows sample-specific filtering, where a clonotype might be included in one sample
|
|
@@ -221,7 +227,7 @@ export type AnnotationMode =
|
|
|
221
227
|
* The resulting column will have the following shape:
|
|
222
228
|
* [sample_id, clonotype_key] -> label
|
|
223
229
|
*/
|
|
224
|
-
|
|
|
230
|
+
| "bySampleAndClonotype";
|
|
225
231
|
|
|
226
232
|
/**
|
|
227
233
|
* Represents a complete annotation configuration.
|