@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 2.19.1 → 2.19.3

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@2.19.1 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.19.3 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
4
4
  > 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,17 @@
1
1
  # @platforma-open/milaboratories.mixcr-clonotyping.workflow
2
2
 
3
+ ## 2.19.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 865b5f5: Added cpu and ram requirements
8
+
9
+ ## 2.19.2
10
+
11
+ ### Patch Changes
12
+
13
+ - fc18b70: SDK Upgrade: fixes await logic and prevents unexpected freezes
14
+
3
15
  ## 2.19.1
4
16
 
5
17
  ### Patch Changes
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.mixcr-clonotyping-2.workflow",
3
- "version": "2.19.1",
3
+ "version": "2.19.3",
4
4
  "description": "Tengo-based template",
5
5
  "dependencies": {
6
- "@platforma-sdk/workflow-tengo": "^4.6.3",
6
+ "@platforma-sdk/workflow-tengo": "^4.7.4",
7
7
  "@platforma-open/milaboratories.software-mixcr": "4.7.0-169-develop"
8
8
  },
9
9
  "devDependencies": {
10
- "@platforma-sdk/tengo-builder": "^2.1.6",
11
- "@platforma-sdk/test": "^1.32.4",
10
+ "@platforma-sdk/tengo-builder": "^2.1.10",
11
+ "@platforma-sdk/test": "^1.34.3",
12
12
  "vitest": "~2.1.9",
13
13
  "typescript": "~5.5.4"
14
14
  },
@@ -3,8 +3,10 @@ self := import("@platforma-sdk/workflow-tengo:tpl")
3
3
  pConstants := import("@platforma-sdk/workflow-tengo:pframes.constants")
4
4
  slices := import("@platforma-sdk/workflow-tengo:slices")
5
5
  maps := import("@platforma-sdk/workflow-tengo:maps")
6
+ units := import("@platforma-sdk/workflow-tengo:units")
6
7
  clonotypeLabel := import(":clonotype-label")
7
8
  pt := import("@platforma-sdk/workflow-tengo:pt")
9
+ math := import("math")
8
10
 
9
11
  json := import("json")
10
12
 
@@ -24,10 +26,15 @@ self.body(func(inputs) {
24
26
  schemaPerClonotypeNoAggregates := params.schemaPerClonotypeNoAggregates
25
27
  schemaPerSample := params.schemaPerSample
26
28
 
27
- wf := pt.workflow()
28
- dataFrames := []
29
-
30
29
  inputMap := inputData.inputs()
30
+ numberOfSamples := len(inputMap)
31
+
32
+ wf := pt.workflow().
33
+ inMediumQueue().
34
+ mem(int(math.max(numberOfSamples, 64)) * units.GiB).
35
+ cpu(int(math.max(numberOfSamples, 32)))
36
+
37
+ dataFrames := []
31
38
 
32
39
  baseSchemaForRead := schemaPerSample + [ { column: "clonotypeKey", type: "String" } ]
33
40
 
@@ -64,6 +64,8 @@ self.body(func(inputs) {
64
64
  printErrStreamToStdout().
65
65
  env("MI_PROGRESS_PREFIX", progressPrefix).
66
66
  software(mixcrSw).
67
+ mem("64GiB").
68
+ cpu(32).
67
69
  secret("MI_LICENSE", "MI_LICENSE").
68
70
  arg("analyze")
69
71
 
@@ -43,6 +43,8 @@ self.body(func(inputs) {
43
43
  createExport := func(additionalAction) {
44
44
  mixcrCmdBuilder := exec.builder().
45
45
  inMediumQueue().
46
+ ram("6GiB").
47
+ cpu(2).
46
48
  printErrStreamToStdout().
47
49
  dontSaveStdoutOrStderr().
48
50
  software(mixcrSw).
@@ -92,7 +94,11 @@ self.body(func(inputs) {
92
94
  }
93
95
 
94
96
  // PTabler processing for main TSV output
95
- wfMain := pt.workflow()
97
+ wfMain := pt.workflow().
98
+ inMediumQueue().
99
+ mem("4GiB").
100
+ cpu(2)
101
+
96
102
  frameInputMap := {
97
103
  file: unprocessedTsv,
98
104
  xsvType: "tsv",
@@ -128,7 +134,11 @@ self.body(func(inputs) {
128
134
  unprocessedTsvForSingleCell := mixcrForSingleCell.getFile("clones.tsv")
129
135
 
130
136
  // PTabler processing for single-cell TSV output
131
- wfSingleCell := pt.workflow()
137
+ wfSingleCell := pt.workflow().
138
+ inMediumQueue().
139
+ mem("2GiB").
140
+ cpu(2)
141
+
132
142
  dfSingleCell := wfSingleCell.frame(unprocessedTsvForSingleCell, { xsvType: "tsv", inferSchema: false })
133
143
 
134
144
  dfSingleCell.addColumns(
@@ -6,7 +6,9 @@ exec := import("@platforma-sdk/workflow-tengo:exec")
6
6
  maps := import("@platforma-sdk/workflow-tengo:maps")
7
7
  slices := import("@platforma-sdk/workflow-tengo:slices")
8
8
  clonotypeLabel := import(":clonotype-label")
9
+ units := import("@platforma-sdk/workflow-tengo:units")
9
10
  json := import("json")
11
+ math := import("math")
10
12
  pt := import("@platforma-sdk/workflow-tengo:pt")
11
13
 
12
14
  self.defineOutputs("abundanceTsv", "clonotypeTsv", "propertiesAPrimaryTsv", "propertiesASecondaryTsv", "propertiesBPrimaryTsv", "propertiesBSecondaryTsv")
@@ -37,10 +39,16 @@ self.body(func(inputs) {
37
39
  * @return the output file
38
40
  */
39
41
  preprocessByCell := func(byCellTag) {
40
- wf := pt.workflow()
42
+ inputMap := byCellTag.inputs()
43
+ numberOfSamples := len(inputMap)
44
+
45
+ wf := pt.workflow().
46
+ inMediumQueue().
47
+ mem(int(math.max(numberOfSamples, 32)) * units.GiB).
48
+ cpu(int(math.max(numberOfSamples, 16)))
49
+
41
50
  sampleDataFrames := []
42
51
 
43
- inputMap := byCellTag.inputs()
44
52
  maps.forEach(inputMap, func(sKey, inputFile) {
45
53
  key := json.decode(sKey)
46
54
  ll.assert(len(key) == 1, "preprocessByCell: byCellTag key should have one element, got %v", key)
@@ -340,6 +340,8 @@ self.body(func(inputs) {
340
340
  storageFormat: "Binary",
341
341
  partitionKeyLength: 0
342
342
  },
343
+ mem: "16GiB",
344
+ cpu: 2,
343
345
  name: "byCloneKeyBySample",
344
346
  path: ["tsv"]
345
347
  } ]
@@ -423,6 +425,8 @@ self.body(func(inputs) {
423
425
  storageFormat: "Binary",
424
426
  partitionKeyLength: 0
425
427
  },
428
+ mem: "24GiB",
429
+ cpu: 2,
426
430
  name: "byCloneKey",
427
431
  path: ["tsv"]
428
432
  } ]
@@ -491,6 +495,8 @@ self.body(func(inputs) {
491
495
  storageFormat: "Binary",
492
496
  partitionKeyLength: 1
493
497
  },
498
+ mem: "16GiB",
499
+ cpu: 2,
494
500
  name: "abundanceTable",
495
501
  path: ["abundanceTsv"]
496
502
  }, {
@@ -501,6 +507,8 @@ self.body(func(inputs) {
501
507
  columns: columnsSpecPerClonotypeSc,
502
508
  storageFormat: "Binary"
503
509
  },
510
+ mem: "12GiB",
511
+ cpu: 2,
504
512
  name: "aggregates",
505
513
  path: ["clonotypeTsv"]
506
514
  } ]
@@ -569,6 +577,8 @@ self.body(func(inputs) {
569
577
  storageFormat: "Binary",
570
578
  partitionKeyLength: 0
571
579
  },
580
+ mem: "24GiB",
581
+ cpu: 2,
572
582
  name: propertiesTableName,
573
583
  path: [ propertiesTsvOutputName ]
574
584
  } ]