@platforma-open/milaboratories.immune-assay-data.workflow 1.1.0 → 1.3.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.
package/.turbo/turbo-build.log
CHANGED
|
@@ -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.
|
|
3
|
+
> @platforma-open/milaboratories.immune-assay-data.workflow@1.3.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,17 @@
|
|
|
1
1
|
# @platforma-open/milaboratories.immune-assay-data.workflow
|
|
2
2
|
|
|
3
|
+
## 1.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b18f925: Update trace label and importance
|
|
8
|
+
|
|
9
|
+
## 1.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- bd219bf: Update SDK and bugfixes
|
|
14
|
+
|
|
3
15
|
## 1.1.0
|
|
4
16
|
|
|
5
17
|
### 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.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Block Workflow",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@platforma-sdk/workflow-tengo": "
|
|
7
|
+
"@platforma-sdk/workflow-tengo": "4.8.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.
|
|
15
|
-
"@platforma-sdk/test": "^1.
|
|
14
|
+
"@platforma-sdk/tengo-builder": "^2.1.11",
|
|
15
|
+
"@platforma-sdk/test": "^1.37.9",
|
|
16
16
|
"vitest": "^2.1.8"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
package/src/main.tpl.tengo
CHANGED
|
@@ -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,14 +460,21 @@ 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
|
|
|
466
|
+
// Create informative label with relevant matching parameters
|
|
467
|
+
identityStr := string(args.settings.identity)
|
|
468
|
+
coverageStr := string(args.settings.coverageThreshold)
|
|
469
|
+
similarityTypeStr := args.settings.similarityType == "sequence-identity" ? "Exact Match" : "BLOSUM"
|
|
470
|
+
|
|
471
|
+
traceLabel := "Assay Data (sim:" + similarityTypeStr + ", ident:" + identityStr + ", cov:" + coverageStr + ")"
|
|
472
|
+
|
|
453
473
|
trace := pSpec.makeTrace(datasetSpec,
|
|
454
474
|
{
|
|
455
475
|
type: "milaboratories.immune-assay-data",
|
|
456
|
-
importance:
|
|
457
|
-
label:
|
|
476
|
+
importance: 40,
|
|
477
|
+
label: traceLabel
|
|
458
478
|
})
|
|
459
479
|
|
|
460
480
|
epfB := pframes.pFrameBuilder()
|
|
@@ -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").
|