@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 2.8.1 → 2.9.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-2/mixcr-clonotyping-2/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.8.1 build /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.9.0 build /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/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
@@ -1,21 +1,21 @@
1
1
   WARN  Issue while reading "/home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.8.1 test /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.9.0 test /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow
4
4
  > vitest
5
5
 
6
6
 
7
7
   RUN  v2.1.8 /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow
8
8
 
9
- ✓ src/test/columns.test.ts (6 tests) 52630ms
10
- ✓ checking preset for 'milab-human-dna-xcr-7genes-multiplex' 12190ms
11
- ✓ checking preset for '10x-sc-xcr-vdj' 8567ms
12
- ✓ checking preset for 'cellecta-human-rna-xcr-umi-drivermap-…' 8302ms
13
- ✓ checking preset for 'takara-human-rna-bcr-umi-smartseq' 8076ms
14
- ✓ checking preset for 'rna-seq' 7653ms
15
- ✓ checking preset for 'generic-single-cell-gex' 7842ms
9
+ ✓ src/test/columns.test.ts (6 tests) 56823ms
10
+ ✓ checking preset for 'milab-human-dna-xcr-7genes-multiplex' 15346ms
11
+ ✓ checking preset for '10x-sc-xcr-vdj' 8722ms
12
+ ✓ checking preset for 'cellecta-human-rna-xcr-umi-drivermap-…' 8542ms
13
+ ✓ checking preset for 'takara-human-rna-bcr-umi-smartseq' 8212ms
14
+ ✓ checking preset for 'rna-seq' 8009ms
15
+ ✓ checking preset for 'generic-single-cell-gex' 7990ms
16
16
 
17
17
   Test Files  1 passed (1)
18
18
   Tests  6 passed (6)
19
-  Start at  15:34:37
20
-  Duration  53.50s (transform 48ms, setup 0ms, collect 601ms, tests 52.63s, environment 0ms, prepare 78ms)
19
+  Start at  06:28:06
20
+  Duration  57.72s (transform 53ms, setup 0ms, collect 631ms, tests 56.82s, environment 0ms, prepare 67ms)
21
21
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @platforma-open/milaboratories.mixcr-clonotyping.workflow
2
2
 
3
+ ## 2.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1de5b81: MiXCR upgrade to increase export process memory
8
+
9
+ ## 2.8.2
10
+
11
+ ### Patch Changes
12
+
13
+ - e84b4df: SDK upgrade to fix empty tables issues & minor corrections to column generation logic
14
+
3
15
  ## 2.8.1
4
16
 
5
17
  ### Patch Changes
@@ -269,7 +269,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
269
269
  features = ["CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
270
270
  anchorFeature = "CDR3"
271
271
  } else if assemblingFeature != "CDR3" {
272
- features = [assemblingFeature, "CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
272
+ features = ["CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4", assemblingFeature]
273
273
  anchorFeature = assemblingFeature
274
274
  } else {
275
275
  features = ["CDR3"]
@@ -281,12 +281,12 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
281
281
  imputedL := text.to_lower(imputedU)
282
282
  for featureU in features {
283
283
  featureL := text.to_lower(featureU)
284
- for isAminoAcid in [false, true] {
284
+ for isAminoAcid in [true, false] {
285
285
  alphabet := isAminoAcid ? "aminoacid" : "nucleotide"
286
286
  alphabetShort := isAminoAcid ? "aa" : "nt"
287
287
  alphabetShortMixcr := isAminoAcid ? "aa" : "n"
288
288
  columnName := alphabetShortMixcr + "Seq" + imputedU + featureU
289
- visibility := isSingleCell ? (featureU == "CDR3") && isAminoAcid : (featureU == "CDR3") || (featureU == assemblingFeature)
289
+ visibility := featureU == "CDR3" && (!isSingleCell || isAminoAcid) // isSingleCell ? (featureU == "CDR3") && isAminoAcid : (featureU == "CDR3") || (featureU == assemblingFeature)
290
290
  columnsSpecPerClonotype += [ {
291
291
  column: columnName,
292
292
  id: alphabetShortMixcr + "-seq-" + featureL + (isImputed ? "-imputed" : ""),
@@ -304,6 +304,29 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
304
304
  })
305
305
  }
306
306
  } ]
307
+ exportArgs += [ [ "-" + alphabetShortMixcr + "Feature" + imputedU, featureU ] ]
308
+ orderP -= 100
309
+
310
+
311
+ if featureU == "CDR3" {
312
+ columnsSpecPerClonotype += [ {
313
+ column: alphabetShortMixcr + "Length" + featureU,
314
+ id: alphabetShortMixcr + "-length-" + featureL,
315
+ naRegex: "region_not_covered",
316
+ spec: {
317
+ name: "pl7.app/vdj/sequenceLength",
318
+ valueType: "Int",
319
+ domain: {
320
+ "pl7.app/vdj/feature": featureU,
321
+ "pl7.app/alphabet": alphabet
322
+ },
323
+ annotations: a(orderP, false, {
324
+ "pl7.app/label": "Length of " + featureU + " " + alphabetShort
325
+ })
326
+ }
327
+ } ]
328
+ exportArgs += [ [ "-" + alphabetShortMixcr + "Length", featureU ] ]
329
+ }
307
330
 
308
331
 
309
332
  if isAminoAcid && !isSingleCell && featureU == "CDR3" {
@@ -318,14 +341,12 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
318
341
  spec: {
319
342
  name: "pl7.app/label",
320
343
  valueType: "String",
321
- annotations: {
344
+ annotations: a(100000, false, {
322
345
  "pl7.app/label": "Clone label"
323
- }
346
+ })
324
347
  }
325
348
  } ]
326
349
  }
327
- exportArgs += [ [ "-" + alphabetShortMixcr + "Feature" + imputedU, featureU ] ]
328
- orderP -= 100
329
350
  }
330
351
  }
331
352
  }
@@ -376,7 +397,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
376
397
 
377
398
  orderP = 10000
378
399
 
379
- mutationColumnVariants := [
400
+ mutationColumnVariants := [
380
401
 
381
402
 
382
403
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.mixcr-clonotyping-2.workflow",
3
- "version": "2.8.1",
3
+ "version": "2.9.0",
4
4
  "description": "Tengo-based template",
5
5
  "dependencies": {
6
- "@platforma-sdk/workflow-tengo": "^4.0.3",
6
+ "@platforma-sdk/workflow-tengo": "^4.0.8",
7
7
  "@platforma-open/milaboratories.mixcr-clonotyping-2.single-cell-scripts": "1.1.1"
8
8
  },
9
9
  "devDependencies": {
10
10
  "@platforma-sdk/tengo-builder": "^2.0.3",
11
- "@platforma-open/milaboratories.software-mixcr": "4.7.0-149-develop",
11
+ "@platforma-open/milaboratories.software-mixcr": "4.7.0-150-develop",
12
12
  "@platforma-open/milaboratories.software-ptransform": "^1.3.1",
13
- "@platforma-sdk/test": "^1.28.2",
13
+ "@platforma-sdk/test": "^1.29.3",
14
14
  "vitest": "^2.1.8",
15
15
  "typescript": "~5.5.4"
16
16
  },
@@ -269,7 +269,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
269
269
  features = ["CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
270
270
  anchorFeature = "CDR3"
271
271
  } else if assemblingFeature != "CDR3" {
272
- features = [assemblingFeature, "CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
272
+ features = ["CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4", assemblingFeature]
273
273
  anchorFeature = assemblingFeature
274
274
  } else {
275
275
  features = ["CDR3"]
@@ -281,12 +281,12 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
281
281
  imputedL := text.to_lower(imputedU)
282
282
  for featureU in features {
283
283
  featureL := text.to_lower(featureU)
284
- for isAminoAcid in [false, true] {
284
+ for isAminoAcid in [true, false] {
285
285
  alphabet := isAminoAcid ? "aminoacid" : "nucleotide"
286
286
  alphabetShort := isAminoAcid ? "aa" : "nt"
287
287
  alphabetShortMixcr := isAminoAcid ? "aa" : "n"
288
288
  columnName := alphabetShortMixcr + "Seq" + imputedU + featureU
289
- visibility := isSingleCell ? (featureU == "CDR3") && isAminoAcid : (featureU == "CDR3") || (featureU == assemblingFeature)
289
+ visibility := featureU == "CDR3" && (!isSingleCell || isAminoAcid) // isSingleCell ? (featureU == "CDR3") && isAminoAcid : (featureU == "CDR3") || (featureU == assemblingFeature)
290
290
  columnsSpecPerClonotype += [ {
291
291
  column: columnName,
292
292
  id: alphabetShortMixcr + "-seq-" + featureL + (isImputed ? "-imputed" : ""),
@@ -304,6 +304,29 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
304
304
  })
305
305
  }
306
306
  } ]
307
+ exportArgs += [ [ "-" + alphabetShortMixcr + "Feature" + imputedU, featureU ] ]
308
+ orderP -= 100
309
+
310
+ // For now calculate length only for CDR3 to keep the number of columns manageable
311
+ if featureU == "CDR3" {
312
+ columnsSpecPerClonotype += [ {
313
+ column: alphabetShortMixcr + "Length" + featureU,
314
+ id: alphabetShortMixcr + "-length-" + featureL,
315
+ naRegex: "region_not_covered",
316
+ spec: {
317
+ name: "pl7.app/vdj/sequenceLength",
318
+ valueType: "Int",
319
+ domain: {
320
+ "pl7.app/vdj/feature": featureU,
321
+ "pl7.app/alphabet": alphabet
322
+ },
323
+ annotations: a(orderP, false, {
324
+ "pl7.app/label": "Length of " + featureU + " " + alphabetShort
325
+ })
326
+ }
327
+ } ]
328
+ exportArgs += [ [ "-" + alphabetShortMixcr + "Length", featureU ] ]
329
+ }
307
330
 
308
331
  // label column
309
332
  if isAminoAcid && !isSingleCell && featureU == "CDR3" {
@@ -318,14 +341,12 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
318
341
  spec: {
319
342
  name: "pl7.app/label",
320
343
  valueType: "String",
321
- annotations: {
344
+ annotations: a(100000, false, {
322
345
  "pl7.app/label": "Clone label"
323
- }
346
+ })
324
347
  }
325
348
  } ]
326
349
  }
327
- exportArgs += [ [ "-" + alphabetShortMixcr + "Feature" + imputedU, featureU ] ]
328
- orderP -= 100
329
350
  }
330
351
  }
331
352
  }
@@ -376,7 +397,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
376
397
 
377
398
  orderP = 10000
378
399
 
379
- mutationColumnVariants := [
400
+ mutationColumnVariants := [
380
401
  // {
381
402
  // name: "Mutations",
382
403
  // valueType: "String",