@platforma-open/milaboratories.clonotype-clustering.model 2.14.1 → 2.15.0

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.
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/work/clonotype-clustering/clonotype-clustering/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.clonotype-clustering.model@2.14.1 build /home/runner/work/clonotype-clustering/clonotype-clustering/model
3
+ > @platforma-open/milaboratories.clonotype-clustering.model@2.15.0 build /home/runner/work/clonotype-clustering/clonotype-clustering/model
4
4
  > ts-builder build --target block-model && block-tools build-model
5
5
 
6
6
  Building block-model project...
@@ -11,6 +11,6 @@ Building block-model project...
11
11
  
12
12
  ./src/index.ts → dist...
13
13
  (!) Circular dependency
14
- ../node_modules/.pnpm/@platforma-sdk+model@1.49.0/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js -> ../node_modules/.pnpm/@platforma-sdk+model@1.49.0/node_modules/@platforma-sdk/model/dist/pframe_utils/columns.js -> ../node_modules/.pnpm/@platforma-sdk+model@1.49.0/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js
14
+ ../node_modules/.pnpm/@platforma-sdk+model@1.51.2/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js -> ../node_modules/.pnpm/@platforma-sdk+model@1.51.2/node_modules/@platforma-sdk/model/dist/pframe_utils/columns.js -> ../node_modules/.pnpm/@platforma-sdk+model@1.51.2/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js
15
15
  created dist in 3.2s
16
16
  Build completed successfully
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/home/runner/work/clonotype-clustering/clonotype-clustering/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.clonotype-clustering.model@2.14.1 lint /home/runner/work/clonotype-clustering/clonotype-clustering/model
3
+ > @platforma-open/milaboratories.clonotype-clustering.model@2.15.0 lint /home/runner/work/clonotype-clustering/clonotype-clustering/model
4
4
  > eslint .
5
5
 
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/work/clonotype-clustering/clonotype-clustering/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.clonotype-clustering.model@2.14.1 type-check /home/runner/work/clonotype-clustering/clonotype-clustering/model
3
+ > @platforma-open/milaboratories.clonotype-clustering.model@2.15.0 type-check /home/runner/work/clonotype-clustering/clonotype-clustering/model
4
4
  > ts-builder types --target block-model
5
5
 
6
6
  ↳ tsc --noEmit --project ./tsconfig.json --customConditions ,
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @platforma-open/milaboratories.clonotype-clustering.model
2
2
 
3
+ ## 2.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c56955f: Added support for running state and labels
8
+
9
+ ## 2.14.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 28a4098: fix incorrect table headers
14
+
3
15
  ## 2.14.1
4
16
 
5
17
  ### Patch Changes
package/dist/bundle.js CHANGED
@@ -7373,7 +7373,7 @@
7373
7373
  }
7374
7374
  }
7375
7375
 
7376
- var version = "1.49.0";
7376
+ var version = "1.51.2";
7377
7377
 
7378
7378
  const PlatformaSDKVersion = version;
7379
7379
 
@@ -7444,6 +7444,14 @@
7444
7444
  retentiveOutput(key, rf) {
7445
7445
  return this.output(key, rf, { retentive: true });
7446
7446
  }
7447
+ /** Shortcut for {@link output} with withStatus flag set to true. */
7448
+ outputWithStatus(key, rf) {
7449
+ return this.output(key, rf, { withStatus: true });
7450
+ }
7451
+ /** Shortcut for {@link output} with retentive and withStatus flags set to true. */
7452
+ retentiveOutputWithStatus(key, rf) {
7453
+ return this.output(key, rf, { retentive: true, withStatus: true });
7454
+ }
7447
7455
  argsValid(cfgOrRf) {
7448
7456
  if (typeof cfgOrRf === 'function') {
7449
7457
  tryRegisterCallback('inputsValid', () => cfgOrRf(new RenderCtx()));
@@ -7600,10 +7608,22 @@
7600
7608
  return { config };
7601
7609
  // normal operation inside the UI
7602
7610
  else
7603
- return getPlatformaInstance({ sdkVersion: PlatformaSDKVersion, apiVersion: platformaApiVersion });
7611
+ return {
7612
+ ...getPlatformaInstance({ sdkVersion: PlatformaSDKVersion, apiVersion: platformaApiVersion }),
7613
+ blockModelInfo: {
7614
+ outputs: Object.fromEntries(Object.entries(this.config.outputs)
7615
+ .map(([key, value]) => [key, {
7616
+ withStatus: Boolean(isConfigLambda(value) && value.withStatus),
7617
+ }])),
7618
+ },
7619
+ };
7604
7620
  }
7605
7621
  }
7606
7622
 
7623
+ function identity(x) {
7624
+ return x;
7625
+ }
7626
+
7607
7627
  function getAllRelatedColumns(ctx, predicate) {
7608
7628
  // if current block doesn't produce own columns then use all columns from result pool
7609
7629
  const columns = new PColumnCollection();
@@ -7868,7 +7888,7 @@
7868
7888
  .getColumns({
7869
7889
  name: PColumnName.Label,
7870
7890
  axes: [{}], // exactly one axis
7871
- }, { dontWaitAllData: true });
7891
+ }, { dontWaitAllData: true, overrideLabelAnnotation: false });
7872
7892
  }
7873
7893
  /** Get label columns matching the provided columns from the result pool */
7874
7894
  function getMatchingLabelColumns(columns, allLabelColumns) {
@@ -7985,7 +8005,19 @@
7985
8005
  const allLabelColumns = getAllLabelColumns(ctx.resultPool);
7986
8006
  if (!allLabelColumns)
7987
8007
  return undefined;
7988
- const fullLabelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);
8008
+ let fullLabelColumns = getMatchingLabelColumns(columns.map(getColumnIdAndSpec), allLabelColumns);
8009
+ fullLabelColumns = deriveLabels(fullLabelColumns, identity, { includeNativeLabel: true }).map((v) => {
8010
+ return {
8011
+ ...v.value,
8012
+ spec: {
8013
+ ...v.value.spec,
8014
+ annotations: {
8015
+ ...v.value.spec.annotations,
8016
+ [Annotation.Label]: v.label,
8017
+ },
8018
+ },
8019
+ };
8020
+ });
7989
8021
  const fullColumns = [...columns, ...fullLabelColumns];
7990
8022
  const fullColumnsAxes = uniqueBy(fullColumns.flatMap((c) => c.spec.axesSpec.map((a) => getAxisId(a))), (a) => canonicalizeJson(a));
7991
8023
  const fullColumnsIds = [
@@ -8150,6 +8182,8 @@
8150
8182
 
8151
8183
  const model = BlockModel.create()
8152
8184
  .withArgs({
8185
+ defaultBlockLabel: '',
8186
+ customBlockLabel: '',
8153
8187
  identity: 0.8,
8154
8188
  sequenceType: 'aminoacid',
8155
8189
  sequencesRef: [],
@@ -8160,7 +8194,6 @@
8160
8194
  trimEnd: 0, // default to no trimming from end
8161
8195
  })
8162
8196
  .withUiState({
8163
- title: 'Clonotype Clustering',
8164
8197
  tableState: createPlDataTableStateV2(),
8165
8198
  graphStateBubble: {
8166
8199
  title: 'Most abundant clusters',
@@ -8274,7 +8307,7 @@
8274
8307
  }
8275
8308
  return undefined;
8276
8309
  })
8277
- .output('clustersTable', (ctx) => {
8310
+ .outputWithStatus('clustersTable', (ctx) => {
8278
8311
  const pCols = ctx.outputs?.resolve('clustersPf')?.getPColumns();
8279
8312
  if (pCols === undefined)
8280
8313
  return undefined;
@@ -8322,14 +8355,14 @@
8322
8355
  return undefined;
8323
8356
  return anchorSpec;
8324
8357
  })
8325
- .output('clustersPf', (ctx) => {
8358
+ .outputWithStatus('clustersPf', (ctx) => {
8326
8359
  const pCols = ctx.outputs?.resolve('pf')?.getPColumns();
8327
8360
  if (pCols === undefined) {
8328
8361
  return undefined;
8329
8362
  }
8330
8363
  return createPFrameForGraphs(ctx, pCols);
8331
8364
  })
8332
- .output('bubblePlotPf', (ctx) => {
8365
+ .outputWithStatus('bubblePlotPf', (ctx) => {
8333
8366
  const pCols = ctx.outputs?.resolve('bubblePlotPf')?.getPColumns();
8334
8367
  if (pCols === undefined) {
8335
8368
  return undefined;
@@ -8358,7 +8391,8 @@
8358
8391
  }));
8359
8392
  })
8360
8393
  .output('isRunning', (ctx) => ctx.outputs?.getIsReadyOrError() === false)
8361
- .title((ctx) => ctx.uiState?.title ?? 'Clonotype Clustering')
8394
+ .title(() => 'Clonotype Clustering')
8395
+ .subtitle((ctx) => ctx.args.customBlockLabel || ctx.args.defaultBlockLabel)
8362
8396
  .sections((_ctx) => [
8363
8397
  { type: 'link', href: '/', label: 'Main' },
8364
8398
  { type: 'link', href: '/bubble', label: 'Most abundant clusters' },