@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 3.23.6 → 3.24.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/mixcr-clonotyping/mixcr-clonotyping/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@3.23.6 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@3.24.0 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
4
4
  > shx rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  info: Skipping unknown file type: test/columns.test.ts
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @platforma-open/milaboratories.mixcr-clonotyping.workflow
2
2
 
3
+ ## 3.24.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 34dfe5e: Add supporting cells column
8
+
3
9
  ## 3.23.6
4
10
 
5
11
  ### Patch Changes
@@ -462,7 +462,27 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
462
462
  })
463
463
  }
464
464
  } ]
465
- columnsSpecPerClonotypeSc = [ sampleCountColumn, clonotypeLabelColumn ]
465
+ columnsSpecPerClonotypeSc = [
466
+ {
467
+ column: "uniqueCellCountTotal",
468
+ id: "cell-count-total",
469
+ allowNA: false,
470
+ spec: {
471
+ name: "pl7.app/vdj/uniqueCellCountTotal",
472
+ valueType: "Long",
473
+ annotations: a(87120, true, {
474
+ "pl7.app/min": "1",
475
+ "pl7.app/isAbundance": "true",
476
+ "pl7.app/abundance/unit": "cells",
477
+ "pl7.app/abundance/normalized": "false",
478
+ "pl7.app/label": "Supporting Cells",
479
+ "pl7.app/description": "The sum of a clonotype's cell counts across all samples."
480
+ })
481
+ }
482
+ },
483
+ sampleCountColumn,
484
+ clonotypeLabelColumn
485
+ ]
466
486
  }
467
487
 
468
488
  orderP := 80000
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.mixcr-clonotyping-2.workflow",
3
- "version": "3.23.6",
3
+ "version": "3.24.0",
4
4
  "description": "Tengo-based template",
5
5
  "dependencies": {
6
- "@platforma-sdk/workflow-tengo": "5.8.2",
6
+ "@platforma-sdk/workflow-tengo": "5.9.0",
7
7
  "@platforma-open/milaboratories.software-mixcr": "4.7.0-302-develop"
8
8
  },
9
9
  "devDependencies": {
10
- "@platforma-sdk/tengo-builder": "2.4.18"
10
+ "@platforma-sdk/tengo-builder": "2.4.25"
11
11
  },
12
12
  "scripts": {
13
13
  "build": "shx rm -rf dist && pl-tengo check && pl-tengo build",
@@ -462,7 +462,27 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
462
462
  })
463
463
  }
464
464
  } ]
465
- columnsSpecPerClonotypeSc = [ sampleCountColumn, clonotypeLabelColumn ]
465
+ columnsSpecPerClonotypeSc = [
466
+ {
467
+ column: "uniqueCellCountTotal",
468
+ id: "cell-count-total",
469
+ allowNA: false,
470
+ spec: {
471
+ name: "pl7.app/vdj/uniqueCellCountTotal",
472
+ valueType: "Long",
473
+ annotations: a(87120, true, {
474
+ "pl7.app/min": "1",
475
+ "pl7.app/isAbundance": "true",
476
+ "pl7.app/abundance/unit": "cells",
477
+ "pl7.app/abundance/normalized": "false",
478
+ "pl7.app/label": "Supporting Cells",
479
+ "pl7.app/description": "The sum of a clonotype's cell counts across all samples."
480
+ })
481
+ }
482
+ },
483
+ sampleCountColumn,
484
+ clonotypeLabelColumn
485
+ ]
466
486
  }
467
487
 
468
488
  orderP := 80000
@@ -203,7 +203,7 @@ self.body(func(inputs) {
203
203
  // PTabler processing for single-cell TSV output
204
204
  wfSingleCell := pt.workflow().
205
205
  inMediumQueue().
206
- mem(ptMemGB).
206
+ mem(ptMemGB * units.GiB).
207
207
  cpu(2)
208
208
 
209
209
  frameLoadOps := {
@@ -198,7 +198,8 @@ self.body(func(inputs) {
198
198
  clonotypeTableDf := allChainsFilteredDf.groupBy(
199
199
  "scClonotypeKey", "clonotypeKeyA1", "clonotypeKeyA2", "clonotypeKeyB1", "clonotypeKeyB2"
200
200
  ).agg(
201
- pt.col("sampleId").nUnique().alias("sampleCount")
201
+ pt.col("sampleId").nUnique().alias("sampleCount"),
202
+ pt.col("cellKey").count().alias("uniqueCellCountTotal")
202
203
  )
203
204
 
204
205
  clonotypeTableDf = clonotypeLabel.addClonotypeLabelColumnsPt(clonotypeTableDf, "scClonotypeKey", "clonotypeLabel", pt)
@@ -239,7 +240,8 @@ self.body(func(inputs) {
239
240
  { column: "clonotypeKeyA2", type: "String" },
240
241
  { column: "clonotypeKeyB1", type: "String" },
241
242
  { column: "clonotypeKeyB2", type: "String" },
242
- { column: "sampleCount", type: "Int" }
243
+ { column: "sampleCount", type: "Int" },
244
+ { column: "uniqueCellCountTotal", type: "Long" }
243
245
  ]
244
246
 
245
247
  mainClonotypesDf := outputProcessingWf.frame(clonotypeTsv, {
@@ -1,5 +1,5 @@
1
1
  import { ImportFileHandle } from '@platforma-sdk/model';
2
- import { awaitStableState, tplTest, ML } from '@platforma-sdk/test';
2
+ import { awaitStableState, ML, tplTest } from '@platforma-sdk/test';
3
3
  import { ExpectStatic } from 'vitest';
4
4
 
5
5
  type Preset =
@@ -46,6 +46,7 @@ const testCases: TestCase[] = [
46
46
  // expect(config.columnsSpec.find((c: any) => c.column === 'cellGroup')).toBeDefined();
47
47
  expect(config.columnsSpec.find((c: any) => c.column === 'uniqueMoleculeCount')).toBeDefined();
48
48
  expect(config.columnsSpec.find((c: any) => c.column === 'uniqueMoleculeFraction')).toBeDefined();
49
+ expect(config.columnsSpecPerClonotypeSc.find((c: any) => c.column === 'uniqueCellCountTotal')).toBeDefined();
49
50
  expect(config.columnsSpec.find((c: any) => c.column === 'nSeqFR1')).toBeDefined();
50
51
  expect(config.columnsSpec.find((c: any) => c.column === 'nSeqCDR1')).toBeDefined();
51
52
  expect(config.columnsSpec.find((c: any) => c.column === 'nSeqFR2')).toBeDefined();