@platforma-open/milaboratories.repertoire-diversity-2.model 1.5.6 → 1.5.7

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/index.cjs CHANGED
@@ -6,7 +6,7 @@ var converters = require('./converters.cjs');
6
6
  const model = model$1.BlockModel.create()
7
7
  .withArgs({
8
8
  metrics: [],
9
- defaultBlockLabel: '',
9
+ defaultBlockLabel: 'Select abundance and metrics',
10
10
  customBlockLabel: '',
11
11
  })
12
12
  .withUiState({
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import type { GraphMakerState } from '@milaboratories/graph-maker';\nimport type { PColumnIdAndSpec, PlDataTableStateV2, PlRef } from '@platforma-sdk/model';\nimport { BlockModel, createPFrameForGraphs, createPlDataTableStateV2, createPlDataTableV2 } from '@platforma-sdk/model';\n\nexport * from './converters';\n\nexport type DiversityType = 'chao1' | 'd50' | 'efronThisted' |\n 'observed' | 'shannonWienerIndex' | 'shannonWiener' |\n 'normalizedShannonWiener' | 'inverseSimpson' | 'gini';\n\nexport type Metric = {\n type: DiversityType | undefined;\n downsampling: {\n type?: 'none' | 'top' | 'cumtop' | 'hypergeometric' ;\n valueChooser?: 'min' | 'fixed' | 'max' | 'auto';\n n?: number;\n };\n};\n\nexport type MetricUI = Metric & {\n id: string;\n isExpanded?: boolean;\n};\n\nexport type BlockArgs = {\n defaultBlockLabel: string;\n customBlockLabel: string;\n abundanceRef?: PlRef;\n metrics: Metric[];\n};\n\nexport type UiState = {\n metrics: MetricUI[];\n tableState: PlDataTableStateV2;\n graphState: GraphMakerState;\n};\n\nexport const model = BlockModel.create()\n .withArgs<BlockArgs>({\n metrics: [],\n defaultBlockLabel: '',\n customBlockLabel: '',\n })\n\n .withUiState<UiState>({\n graphState: {\n title: 'Repertoire Diversity',\n template: 'bar',\n currentTab: null,\n },\n\n tableState: createPlDataTableStateV2(),\n\n metrics: [\n {\n id: 'observed',\n type: 'observed',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'shannonWiener',\n type: 'shannonWiener',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'chao1',\n type: 'chao1',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'gini',\n type: 'gini',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'd50',\n type: 'd50',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n ],\n })\n\n .argsValid((ctx) => ctx.args.abundanceRef !== undefined\n && ctx.args.metrics.every((metric) => metric.type !== undefined))\n\n .output('abundanceOptions', (ctx) =>\n ctx.resultPool.getOptions([{\n axes: [\n { name: 'pl7.app/sampleId' },\n { },\n ],\n annotations: {\n 'pl7.app/isAbundance': 'true',\n 'pl7.app/abundance/normalized': 'false',\n 'pl7.app/abundance/isPrimary': 'true',\n },\n },\n ], { includeNativeLabel: true }),\n )\n\n .outputWithStatus('pt', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPlDataTableV2(ctx, pCols, ctx.uiState.tableState);\n })\n\n .outputWithStatus('pf', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPFrameForGraphs(ctx, pCols);\n })\n\n // Return a list of Pcols for plot defaults\n .output('pcols', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n\n if (pCols === undefined || pCols.length === 0) {\n return undefined;\n }\n\n return pCols.map(\n (c) =>\n ({\n columnId: c.id,\n spec: c.spec,\n } satisfies PColumnIdAndSpec),\n );\n })\n\n .output('isRunning', (ctx) => ctx.outputs?.getIsReadyOrError() === false)\n\n .title(() => 'Repertoire Diversity')\n\n .subtitle((ctx) => ctx.args.customBlockLabel || ctx.args.defaultBlockLabel)\n\n .sections((_) => [\n { type: 'link', href: '/', label: 'Main' },\n { type: 'link', href: '/diversityGraph', label: 'Diversity Graph' },\n ])\n\n .done(2);\n"],"names":["BlockModel","createPlDataTableStateV2","createPlDataTableV2","createPFrameForGraphs"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import type { GraphMakerState } from '@milaboratories/graph-maker';\nimport type { PColumnIdAndSpec, PlDataTableStateV2, PlRef } from '@platforma-sdk/model';\nimport { BlockModel, createPFrameForGraphs, createPlDataTableStateV2, createPlDataTableV2 } from '@platforma-sdk/model';\n\nexport * from './converters';\n\nexport type DiversityType = 'chao1' | 'd50' | 'efronThisted' |\n 'observed' | 'shannonWienerIndex' | 'shannonWiener' |\n 'normalizedShannonWiener' | 'inverseSimpson' | 'gini';\n\nexport type Metric = {\n type: DiversityType | undefined;\n downsampling: {\n type?: 'none' | 'top' | 'cumtop' | 'hypergeometric' ;\n valueChooser?: 'min' | 'fixed' | 'max' | 'auto';\n n?: number;\n };\n};\n\nexport type MetricUI = Metric & {\n id: string;\n isExpanded?: boolean;\n};\n\nexport type BlockArgs = {\n defaultBlockLabel: string;\n customBlockLabel: string;\n abundanceRef?: PlRef;\n metrics: Metric[];\n};\n\nexport type UiState = {\n metrics: MetricUI[];\n tableState: PlDataTableStateV2;\n graphState: GraphMakerState;\n};\n\nexport const model = BlockModel.create()\n .withArgs<BlockArgs>({\n metrics: [],\n defaultBlockLabel: 'Select abundance and metrics',\n customBlockLabel: '',\n })\n\n .withUiState<UiState>({\n graphState: {\n title: 'Repertoire Diversity',\n template: 'bar',\n currentTab: null,\n },\n\n tableState: createPlDataTableStateV2(),\n\n metrics: [\n {\n id: 'observed',\n type: 'observed',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'shannonWiener',\n type: 'shannonWiener',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'chao1',\n type: 'chao1',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'gini',\n type: 'gini',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'd50',\n type: 'd50',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n ],\n })\n\n .argsValid((ctx) => ctx.args.abundanceRef !== undefined\n && ctx.args.metrics.every((metric) => metric.type !== undefined))\n\n .output('abundanceOptions', (ctx) =>\n ctx.resultPool.getOptions([{\n axes: [\n { name: 'pl7.app/sampleId' },\n { },\n ],\n annotations: {\n 'pl7.app/isAbundance': 'true',\n 'pl7.app/abundance/normalized': 'false',\n 'pl7.app/abundance/isPrimary': 'true',\n },\n },\n ], { includeNativeLabel: true }),\n )\n\n .outputWithStatus('pt', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPlDataTableV2(ctx, pCols, ctx.uiState.tableState);\n })\n\n .outputWithStatus('pf', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPFrameForGraphs(ctx, pCols);\n })\n\n // Return a list of Pcols for plot defaults\n .output('pcols', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n\n if (pCols === undefined || pCols.length === 0) {\n return undefined;\n }\n\n return pCols.map(\n (c) =>\n ({\n columnId: c.id,\n spec: c.spec,\n } satisfies PColumnIdAndSpec),\n );\n })\n\n .output('isRunning', (ctx) => ctx.outputs?.getIsReadyOrError() === false)\n\n .title(() => 'Repertoire Diversity')\n\n .subtitle((ctx) => ctx.args.customBlockLabel || ctx.args.defaultBlockLabel)\n\n .sections((_) => [\n { type: 'link', href: '/', label: 'Main' },\n { type: 'link', href: '/diversityGraph', label: 'Diversity Graph' },\n ])\n\n .done(2);\n"],"names":["BlockModel","createPlDataTableStateV2","createPlDataTableV2","createPFrameForGraphs"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { convertMetricsUiToArgs } from './converters.js';
4
4
  const model = BlockModel.create()
5
5
  .withArgs({
6
6
  metrics: [],
7
- defaultBlockLabel: '',
7
+ defaultBlockLabel: 'Select abundance and metrics',
8
8
  customBlockLabel: '',
9
9
  })
10
10
  .withUiState({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { GraphMakerState } from '@milaboratories/graph-maker';\nimport type { PColumnIdAndSpec, PlDataTableStateV2, PlRef } from '@platforma-sdk/model';\nimport { BlockModel, createPFrameForGraphs, createPlDataTableStateV2, createPlDataTableV2 } from '@platforma-sdk/model';\n\nexport * from './converters';\n\nexport type DiversityType = 'chao1' | 'd50' | 'efronThisted' |\n 'observed' | 'shannonWienerIndex' | 'shannonWiener' |\n 'normalizedShannonWiener' | 'inverseSimpson' | 'gini';\n\nexport type Metric = {\n type: DiversityType | undefined;\n downsampling: {\n type?: 'none' | 'top' | 'cumtop' | 'hypergeometric' ;\n valueChooser?: 'min' | 'fixed' | 'max' | 'auto';\n n?: number;\n };\n};\n\nexport type MetricUI = Metric & {\n id: string;\n isExpanded?: boolean;\n};\n\nexport type BlockArgs = {\n defaultBlockLabel: string;\n customBlockLabel: string;\n abundanceRef?: PlRef;\n metrics: Metric[];\n};\n\nexport type UiState = {\n metrics: MetricUI[];\n tableState: PlDataTableStateV2;\n graphState: GraphMakerState;\n};\n\nexport const model = BlockModel.create()\n .withArgs<BlockArgs>({\n metrics: [],\n defaultBlockLabel: '',\n customBlockLabel: '',\n })\n\n .withUiState<UiState>({\n graphState: {\n title: 'Repertoire Diversity',\n template: 'bar',\n currentTab: null,\n },\n\n tableState: createPlDataTableStateV2(),\n\n metrics: [\n {\n id: 'observed',\n type: 'observed',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'shannonWiener',\n type: 'shannonWiener',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'chao1',\n type: 'chao1',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'gini',\n type: 'gini',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'd50',\n type: 'd50',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n ],\n })\n\n .argsValid((ctx) => ctx.args.abundanceRef !== undefined\n && ctx.args.metrics.every((metric) => metric.type !== undefined))\n\n .output('abundanceOptions', (ctx) =>\n ctx.resultPool.getOptions([{\n axes: [\n { name: 'pl7.app/sampleId' },\n { },\n ],\n annotations: {\n 'pl7.app/isAbundance': 'true',\n 'pl7.app/abundance/normalized': 'false',\n 'pl7.app/abundance/isPrimary': 'true',\n },\n },\n ], { includeNativeLabel: true }),\n )\n\n .outputWithStatus('pt', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPlDataTableV2(ctx, pCols, ctx.uiState.tableState);\n })\n\n .outputWithStatus('pf', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPFrameForGraphs(ctx, pCols);\n })\n\n // Return a list of Pcols for plot defaults\n .output('pcols', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n\n if (pCols === undefined || pCols.length === 0) {\n return undefined;\n }\n\n return pCols.map(\n (c) =>\n ({\n columnId: c.id,\n spec: c.spec,\n } satisfies PColumnIdAndSpec),\n );\n })\n\n .output('isRunning', (ctx) => ctx.outputs?.getIsReadyOrError() === false)\n\n .title(() => 'Repertoire Diversity')\n\n .subtitle((ctx) => ctx.args.customBlockLabel || ctx.args.defaultBlockLabel)\n\n .sections((_) => [\n { type: 'link', href: '/', label: 'Main' },\n { type: 'link', href: '/diversityGraph', label: 'Diversity Graph' },\n ])\n\n .done(2);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { GraphMakerState } from '@milaboratories/graph-maker';\nimport type { PColumnIdAndSpec, PlDataTableStateV2, PlRef } from '@platforma-sdk/model';\nimport { BlockModel, createPFrameForGraphs, createPlDataTableStateV2, createPlDataTableV2 } from '@platforma-sdk/model';\n\nexport * from './converters';\n\nexport type DiversityType = 'chao1' | 'd50' | 'efronThisted' |\n 'observed' | 'shannonWienerIndex' | 'shannonWiener' |\n 'normalizedShannonWiener' | 'inverseSimpson' | 'gini';\n\nexport type Metric = {\n type: DiversityType | undefined;\n downsampling: {\n type?: 'none' | 'top' | 'cumtop' | 'hypergeometric' ;\n valueChooser?: 'min' | 'fixed' | 'max' | 'auto';\n n?: number;\n };\n};\n\nexport type MetricUI = Metric & {\n id: string;\n isExpanded?: boolean;\n};\n\nexport type BlockArgs = {\n defaultBlockLabel: string;\n customBlockLabel: string;\n abundanceRef?: PlRef;\n metrics: Metric[];\n};\n\nexport type UiState = {\n metrics: MetricUI[];\n tableState: PlDataTableStateV2;\n graphState: GraphMakerState;\n};\n\nexport const model = BlockModel.create()\n .withArgs<BlockArgs>({\n metrics: [],\n defaultBlockLabel: 'Select abundance and metrics',\n customBlockLabel: '',\n })\n\n .withUiState<UiState>({\n graphState: {\n title: 'Repertoire Diversity',\n template: 'bar',\n currentTab: null,\n },\n\n tableState: createPlDataTableStateV2(),\n\n metrics: [\n {\n id: 'observed',\n type: 'observed',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'shannonWiener',\n type: 'shannonWiener',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'chao1',\n type: 'chao1',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'gini',\n type: 'gini',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n {\n id: 'd50',\n type: 'd50',\n downsampling: {\n type: 'hypergeometric',\n valueChooser: 'auto',\n },\n isExpanded: false,\n },\n ],\n })\n\n .argsValid((ctx) => ctx.args.abundanceRef !== undefined\n && ctx.args.metrics.every((metric) => metric.type !== undefined))\n\n .output('abundanceOptions', (ctx) =>\n ctx.resultPool.getOptions([{\n axes: [\n { name: 'pl7.app/sampleId' },\n { },\n ],\n annotations: {\n 'pl7.app/isAbundance': 'true',\n 'pl7.app/abundance/normalized': 'false',\n 'pl7.app/abundance/isPrimary': 'true',\n },\n },\n ], { includeNativeLabel: true }),\n )\n\n .outputWithStatus('pt', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPlDataTableV2(ctx, pCols, ctx.uiState.tableState);\n })\n\n .outputWithStatus('pf', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n if (pCols === undefined) {\n return undefined;\n }\n\n return createPFrameForGraphs(ctx, pCols);\n })\n\n // Return a list of Pcols for plot defaults\n .output('pcols', (ctx) => {\n const pCols = ctx.outputs?.resolve('pf')?.getPColumns();\n\n if (pCols === undefined || pCols.length === 0) {\n return undefined;\n }\n\n return pCols.map(\n (c) =>\n ({\n columnId: c.id,\n spec: c.spec,\n } satisfies PColumnIdAndSpec),\n );\n })\n\n .output('isRunning', (ctx) => ctx.outputs?.getIsReadyOrError() === false)\n\n .title(() => 'Repertoire Diversity')\n\n .subtitle((ctx) => ctx.args.customBlockLabel || ctx.args.defaultBlockLabel)\n\n .sections((_) => [\n { type: 'link', href: '/', label: 'Main' },\n { type: 'link', href: '/diversityGraph', label: 'Diversity Graph' },\n ])\n\n .done(2);\n"],"names":[],"mappings":"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"}