@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 3.23.3 → 3.23.5

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.3 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@3.23.5 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,17 @@
1
1
  # @platforma-open/milaboratories.mixcr-clonotyping.workflow
2
2
 
3
+ ## 3.23.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 5279399: Fix memory request for pt invocation
8
+
9
+ ## 3.23.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 9c08972: Update RNA-seq preset
14
+
3
15
  ## 3.23.3
4
16
 
5
17
  ### Patch Changes
@@ -133,6 +133,7 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
133
133
  ops := exportSpecOpsFromPreset(presetSpecForBack)
134
134
 
135
135
  assemblingFeature := ops.assemblingFeature
136
+ isRnaSeqPreset := is_undefined(assemblingFeature)
136
137
  cellTags := ops.cellTags
137
138
  hasUmi := ops.hasUmi
138
139
  splitByC := ops.splitByC
@@ -175,12 +176,35 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
175
176
  clonotypeKeyArgs := undefined
176
177
 
177
178
  if !is_undefined(assemblingFeature) {
178
- clonotypeKeyColumns = ["nSeq" + assemblingFeature, "bestVGene", "bestJGene"]
179
- clonotypeKeyArgs = [
180
- [ "-nFeature", assemblingFeature ],
181
- [ "-vGene" ],
182
- [ "-jGene" ]
183
- ]
179
+ if isRnaSeqPreset {
180
+ clonotypeKeyColumns = [
181
+ "nSeqFR1",
182
+ "nSeqCDR1",
183
+ "nSeqFR2",
184
+ "nSeqCDR2",
185
+ "nSeqFR3",
186
+ "nSeqCDR3",
187
+ "bestVGene",
188
+ "bestJGene"
189
+ ]
190
+ clonotypeKeyArgs = [
191
+ [ "-nFeature", "FR1" ],
192
+ [ "-nFeature", "CDR1" ],
193
+ [ "-nFeature", "FR2" ],
194
+ [ "-nFeature", "CDR2" ],
195
+ [ "-nFeature", "FR3" ],
196
+ [ "-nFeature", "CDR3" ],
197
+ [ "-vGene" ],
198
+ [ "-jGene" ]
199
+ ]
200
+ } else {
201
+ clonotypeKeyColumns = ["nSeq" + assemblingFeature, "bestVGene", "bestJGene"]
202
+ clonotypeKeyArgs = [
203
+ [ "-nFeature", assemblingFeature ],
204
+ [ "-vGene" ],
205
+ [ "-jGene" ]
206
+ ]
207
+ }
184
208
  if splitByC {
185
209
  clonotypeKeyColumns += ["bestCHit"]
186
210
  clonotypeKeyArgs += [ [ "-cHit" ] ]
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.mixcr-clonotyping-2.workflow",
3
- "version": "3.23.3",
3
+ "version": "3.23.5",
4
4
  "description": "Tengo-based template",
5
5
  "dependencies": {
6
6
  "@platforma-sdk/workflow-tengo": "5.8.2",
@@ -133,6 +133,7 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
133
133
  ops := exportSpecOpsFromPreset(presetSpecForBack)
134
134
 
135
135
  assemblingFeature := ops.assemblingFeature
136
+ isRnaSeqPreset := is_undefined(assemblingFeature)
136
137
  cellTags := ops.cellTags
137
138
  hasUmi := ops.hasUmi
138
139
  splitByC := ops.splitByC
@@ -175,12 +176,35 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
175
176
  clonotypeKeyArgs := undefined
176
177
 
177
178
  if !is_undefined(assemblingFeature) {
178
- clonotypeKeyColumns = ["nSeq" + assemblingFeature, "bestVGene", "bestJGene"]
179
- clonotypeKeyArgs = [
180
- [ "-nFeature", assemblingFeature ],
181
- [ "-vGene" ],
182
- [ "-jGene" ]
183
- ]
179
+ if isRnaSeqPreset {
180
+ clonotypeKeyColumns = [
181
+ "nSeqFR1",
182
+ "nSeqCDR1",
183
+ "nSeqFR2",
184
+ "nSeqCDR2",
185
+ "nSeqFR3",
186
+ "nSeqCDR3",
187
+ "bestVGene",
188
+ "bestJGene"
189
+ ]
190
+ clonotypeKeyArgs = [
191
+ [ "-nFeature", "FR1" ],
192
+ [ "-nFeature", "CDR1" ],
193
+ [ "-nFeature", "FR2" ],
194
+ [ "-nFeature", "CDR2" ],
195
+ [ "-nFeature", "FR3" ],
196
+ [ "-nFeature", "CDR3" ],
197
+ [ "-vGene" ],
198
+ [ "-jGene" ]
199
+ ]
200
+ } else {
201
+ clonotypeKeyColumns = ["nSeq" + assemblingFeature, "bestVGene", "bestJGene"]
202
+ clonotypeKeyArgs = [
203
+ [ "-nFeature", assemblingFeature ],
204
+ [ "-vGene" ],
205
+ [ "-jGene" ]
206
+ ]
207
+ }
184
208
  if splitByC {
185
209
  clonotypeKeyColumns += ["bestCHit"]
186
210
  clonotypeKeyArgs += [ [ "-cHit" ] ]
@@ -7,6 +7,7 @@ smart := import("@platforma-sdk/workflow-tengo:smart")
7
7
  slices := import("@platforma-sdk/workflow-tengo:slices")
8
8
  assets := import("@platforma-sdk/workflow-tengo:assets")
9
9
  exec := import("@platforma-sdk/workflow-tengo:exec")
10
+ units := import("@platforma-sdk/workflow-tengo:units")
10
11
  pt := import("@platforma-sdk/workflow-tengo:pt")
11
12
  clonotypeLabel := import(":clonotype-label")
12
13
  stopCodonReplacement := import(":stop-codon-replacement")
@@ -31,7 +32,7 @@ self.body(func(inputs) {
31
32
  aminoAcidSeqColumns := params.aminoAcidSeqColumns
32
33
  aminoAcidSeqColumnPairs := params.aminoAcidSeqColumnPairs
33
34
  cdr3SeqColumns := params.cdr3SeqColumns
34
-
35
+
35
36
  clonotypeKeyColumns := params.clonotypeKeyColumns
36
37
  clonotypeKeyArgs := params.clonotypeKeyArgs
37
38
 
@@ -49,7 +50,7 @@ self.body(func(inputs) {
49
50
 
50
51
  useProductiveFilter := is_undefined(stopCodonTypes) || len(stopCodonTypes) == 0
51
52
 
52
- exportMemGB := undefined
53
+ exportMemGB := undefined
53
54
  if !is_undefined(inputs.perProcessMemGB) {
54
55
  exportMemGB = int(1.0*inputs.perProcessMemGB/4.0)
55
56
  if exportMemGB < 12 {
@@ -59,8 +60,7 @@ self.body(func(inputs) {
59
60
  exportMemGB = 12
60
61
  }
61
62
  ptMemGB := int(2.0*exportMemGB/3.0)
62
-
63
-
63
+
64
64
  hashKeyDerivationExpressionPt := func(sourceColumns) {
65
65
  return pt.concatStr(
66
66
  slices.map(sourceColumns, func(colName) { return pt.col(colName).fillNull("") }),
@@ -130,7 +130,7 @@ self.body(func(inputs) {
130
130
  // PTabler processing for main TSV output
131
131
  wfMain := pt.workflow().
132
132
  inMediumQueue().
133
- mem(ptMemGB).
133
+ mem(ptMemGB * units.GiB).
134
134
  cpu(2)
135
135
 
136
136
  frameInputMap := {
@@ -111,6 +111,16 @@ const testCases: TestCase[] = [
111
111
  expect(config.columnsSpec.find((c: any) => c.column === 'readFraction')).toBeDefined();
112
112
  expect(config.columnsSpec.find((c: any) => c.column === 'nSeqCDR3')).toBeDefined();
113
113
  expect(config.columnsSpec.find((c: any) => c.column === 'aaSeqCDR3')).toBeDefined();
114
+ expect(config.clonotypeKeyColumns).toEqual([
115
+ 'nSeqFR1',
116
+ 'nSeqCDR1',
117
+ 'nSeqFR2',
118
+ 'nSeqCDR2',
119
+ 'nSeqFR3',
120
+ 'nSeqCDR3',
121
+ 'bestVGene',
122
+ 'bestJGene'
123
+ ]);
114
124
  }
115
125
  },
116
126
  {