@platforma-open/milaboratories.immune-assay-data.workflow 1.1.0 → 1.2.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/immune-assay-data/immune-assay-data/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.immune-assay-data.workflow@1.1.0 build /home/runner/work/immune-assay-data/immune-assay-data/workflow
3
+ > @platforma-open/milaboratories.immune-assay-data.workflow@1.2.0 build /home/runner/work/immune-assay-data/immune-assay-data/workflow
4
4
  > rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  Processing "src/main.tpl.tengo"...
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @platforma-open/milaboratories.immune-assay-data.workflow
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bd219bf: Update SDK and bugfixes
8
+
3
9
  ## 1.1.0
4
10
 
5
11
  ### Minor Changes
Binary file
Binary file
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.immune-assay-data.workflow",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "description": "Block Workflow",
6
6
  "dependencies": {
7
- "@platforma-sdk/workflow-tengo": "^4.7.1",
7
+ "@platforma-sdk/workflow-tengo": "^4.9.0",
8
8
  "@platforma-open/soedinglab.software-mmseqs2": "^1.0.0",
9
9
  "@platforma-open/milaboratories.immune-assay-data.prepare-fasta": "1.0.3",
10
10
  "@platforma-open/milaboratories.immune-assay-data.add-header": "1.0.2",
11
11
  "@platforma-open/milaboratories.immune-assay-data.coverage-mode-calc": "1.0.0"
12
12
  },
13
13
  "devDependencies": {
14
- "@platforma-sdk/tengo-builder": "^2.1.7",
15
- "@platforma-sdk/test": "^1.31.16",
14
+ "@platforma-sdk/tengo-builder": "^2.1.11",
15
+ "@platforma-sdk/test": "^1.37.8",
16
16
  "vitest": "^2.1.8"
17
17
  },
18
18
  "scripts": {
@@ -7,17 +7,15 @@ maps:= import("@platforma-sdk/workflow-tengo:maps")
7
7
  xsv := import("@platforma-sdk/workflow-tengo:pframes.xsv")
8
8
  pframes := import("@platforma-sdk/workflow-tengo:pframes")
9
9
  pSpec := import("@platforma-sdk/workflow-tengo:pframes.spec")
10
- slices := import("@platforma-sdk/workflow-tengo:slices")
11
10
  pt := import("@platforma-sdk/workflow-tengo:pt")
12
11
  path := import("@platforma-sdk/workflow-tengo:path")
13
12
  json := import("json")
14
- strings := import("@platforma-sdk/workflow-tengo:strings")
15
13
  text := import("text")
16
14
  render := import("@platforma-sdk/workflow-tengo:render")
15
+ strings := import("@platforma-sdk/workflow-tengo:strings")
17
16
  runAlignmentTpl := assets.importTemplate(":run-alignment")
18
17
 
19
18
  prepareFastaSw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.prepare-fasta:main")
20
- mmseqsSw := assets.importSoftware("@platforma-open/soedinglab.software-mmseqs2:main")
21
19
  addHeaderSw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.add-header:main")
22
20
  covModeCalcSw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.coverage-mode-calc:main")
23
21
 
@@ -81,6 +79,8 @@ prepareClonesTsv := func(args) {
81
79
  cloneTable.setAxisHeader(datasetSpec.axesSpec[1].name, "seqId")
82
80
  cloneTable.add(columns.getColumn(args.targetRef), {header: "sequence"})
83
81
 
82
+ cloneTable.mem("16GiB")
83
+ cloneTable.cpu(1)
84
84
  return cloneTable.build()
85
85
  }
86
86
 
@@ -92,6 +92,8 @@ prepareClonesTsv := func(args) {
92
92
  runTsvToFasta := func(fileTsv) {
93
93
  e := exec.builder().
94
94
  software(prepareFastaSw).
95
+ mem("16GiB").
96
+ cpu(1).
95
97
  addFile("input.tsv", fileTsv).
96
98
  arg("-i").arg("input.tsv").
97
99
  arg("-o").arg("output.fasta").
@@ -102,6 +104,10 @@ runTsvToFasta := func(fileTsv) {
102
104
  return e.run()
103
105
  }
104
106
 
107
+ assayColumnName := func(header) {
108
+ return "pl7.app/vdj/assay-data/" + strings.substituteSpecialCharacters(header)
109
+ }
110
+
105
111
  wf.body(func(args) {
106
112
  importFile := file.importFile(args.fileHandle)
107
113
  datasetSpec := args.columns.getSpec(args.datasetRef)
@@ -159,6 +165,8 @@ wf.body(func(args) {
159
165
  // Dynamically determine coverage mode by comparing average sequence lengths
160
166
  coverageMode := exec.builder().
161
167
  software(covModeCalcSw).
168
+ mem("16GiB").
169
+ cpu(1).
162
170
  addFile("clones.fasta", clonesFasta).
163
171
  addFile("assay.fasta", assayFasta).
164
172
  arg("--clones-fasta").arg("clones.fasta").
@@ -199,6 +207,8 @@ wf.body(func(args) {
199
207
  // @TODO remove header stuff and replace with pt when available (!)
200
208
  addHeaderRunResult := exec.builder().
201
209
  software(addHeaderSw).
210
+ mem("16GiB").
211
+ cpu(1).
202
212
  arg("-i").arg("results.tsv").
203
213
  arg("-o").arg("results_with_header.tsv").
204
214
  addFile("results.tsv", mmseqsOutput).
@@ -300,6 +310,7 @@ wf.body(func(args) {
300
310
  },
301
311
  {
302
312
  column: sequenceColumnInfo.header,
313
+ id: strings.substituteSpecialCharacters(sequenceColumnInfo.header),
303
314
  spec: {
304
315
  name: "pl7.app/vdj/sequence",
305
316
  valueType: "String",
@@ -338,8 +349,9 @@ wf.body(func(args) {
338
349
  }
339
350
  assayColumns = append(assayColumns, {
340
351
  column: h.header,
352
+ id: strings.substituteSpecialCharacters(h.header),
341
353
  spec: {
342
- name: h.header,
354
+ name: assayColumnName(h.header),
343
355
  valueType: h.type,
344
356
  annotations: {
345
357
  "pl7.app/label": h.header,
@@ -368,7 +380,7 @@ wf.body(func(args) {
368
380
  annotations: {
369
381
  "pl7.app/isAnchor": "true"
370
382
  }
371
- })
383
+ }, {cpu: 1, mem: "16GiB"})
372
384
 
373
385
  // "bits", "evalue", "pident"
374
386
  cloneColumns := [
@@ -421,8 +433,9 @@ wf.body(func(args) {
421
433
  for h in columnsToImport {
422
434
  cloneColumns = append(cloneColumns, {
423
435
  column: h.header,
436
+ id: strings.substituteSpecialCharacters(h.header),
424
437
  spec: {
425
- name: h.header,
438
+ name: assayColumnName(h.header),
426
439
  valueType: h.type,
427
440
  annotations: {
428
441
  "pl7.app/label": h.header,
@@ -447,7 +460,7 @@ wf.body(func(args) {
447
460
  }],
448
461
  columns: cloneColumns
449
462
  },
450
- { splitDataAndSpec: true }
463
+ { splitDataAndSpec: true, cpu: 1, mem: "16GiB" }
451
464
  )
452
465
 
453
466
  trace := pSpec.makeTrace(datasetSpec,
@@ -18,6 +18,8 @@ self.body(func(args) {
18
18
 
19
19
  mmseqs := exec.builder().
20
20
  software(mmseqsSw).
21
+ mem("32GiB").
22
+ cpu(1).
21
23
  dontSaveStdoutOrStderr(). // important to avoid CID conflict problems coming from different stdout output on same datasets
22
24
  arg("easy-search").
23
25
  arg("clones.fasta").