@platforma-open/milaboratories.mixcr-shm-trees.workflow 3.7.0 → 3.8.1
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 +7 -5
- package/CHANGELOG.md +12 -0
- package/dist/index.cjs +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/tengo/lib/export-settings.lib.tengo +117 -321
- package/dist/tengo/lib/prepare-donor-column.lib.tengo +7 -3
- package/dist/tengo/lib/{tablesAggregation.lib.tengo → tables-aggregation.lib.tengo} +37 -31
- package/dist/tengo/tpl/main.plj.gz +0 -0
- package/dist/tengo/tpl/mixcr-export.plj.gz +0 -0
- package/dist/tengo/tpl/mixcr-shm-trees.plj.gz +0 -0
- package/dist/tengo/tpl/process.plj.gz +0 -0
- package/dist/tengo/tpl/request-library.plj.gz +0 -0
- package/dist/tengo/tpl/soi.plj.gz +0 -0
- package/package.json +4 -4
- package/src/export-settings.lib.tengo +117 -321
- package/src/main.tpl.tengo +18 -6
- package/src/mixcr-export.tpl.tengo +132 -0
- package/src/{reconstruct-shm-trees.tpl.tengo → mixcr-shm-trees.tpl.tengo} +50 -116
- package/src/prepare-donor-column.lib.tengo +8 -4
- package/src/process.tpl.tengo +165 -114
- package/src/tables-aggregation.lib.tengo +81 -0
- package/dist/tengo/tpl/reconstruct-shm-trees.plj.gz +0 -0
- package/src/tablesAggregation.lib.tengo +0 -75
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
ll := import("@platforma-sdk/workflow-tengo:ll")
|
|
2
2
|
smart := import("@platforma-sdk/workflow-tengo:smart")
|
|
3
3
|
maps := import("@platforma-sdk/workflow-tengo:maps")
|
|
4
|
+
slices := import("@platforma-sdk/workflow-tengo:slices")
|
|
5
|
+
pSpec := import("@platforma-sdk/workflow-tengo:pframes.spec")
|
|
4
6
|
|
|
5
7
|
json := import("json")
|
|
6
8
|
|
|
7
9
|
_P_COLUMN_DATA_RESOURCE_MAP := { Name: "PColumnData/ResourceMap", Version: "1" }
|
|
8
10
|
|
|
9
|
-
groupDataByDonorId := func(donorColumn, datasets) {
|
|
11
|
+
groupDataByDonorId := func(donorColumn, datasets, firstDatasetSpec) {
|
|
10
12
|
|
|
11
13
|
|
|
12
14
|
|
|
@@ -23,9 +25,11 @@ groupDataByDonorId := func(donorColumn, datasets) {
|
|
|
23
25
|
|
|
24
26
|
donorColumnSpec := donorColumn.spec
|
|
25
27
|
|
|
28
|
+
trace := pSpec.makeTrace(firstDatasetSpec)
|
|
29
|
+
|
|
26
30
|
sampleIdAxis := donorColumnSpec.axesSpec[0]
|
|
27
31
|
|
|
28
|
-
resultSpec := maps.clone({
|
|
32
|
+
resultSpec := trace.inject(maps.clone({
|
|
29
33
|
kind: "PColumn",
|
|
30
34
|
name: "mixcr.com/clns",
|
|
31
35
|
valueType: "File",
|
|
@@ -47,7 +51,7 @@ groupDataByDonorId := func(donorColumn, datasets) {
|
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
]
|
|
50
|
-
}, { removeUndefs: true })
|
|
54
|
+
}, { removeUndefs: true }))
|
|
51
55
|
|
|
52
56
|
|
|
53
57
|
|
|
@@ -1,60 +1,65 @@
|
|
|
1
1
|
ll := import("@platforma-sdk/workflow-tengo:ll")
|
|
2
2
|
exec := import("@platforma-sdk/workflow-tengo:exec")
|
|
3
3
|
assets := import("@platforma-sdk/workflow-tengo:assets")
|
|
4
|
+
slices := import("@platforma-sdk/workflow-tengo:slices")
|
|
4
5
|
json := import("json")
|
|
5
|
-
paggregateSw := assets.importSoftware("@platforma-open/milaboratories.software-ptransform:main")
|
|
6
6
|
|
|
7
|
+
paggregateSw := assets.importSoftware("@platforma-open/milaboratories.software-ptransform:main")
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
ensureUniquenessParamsFromPconvParams := func(pfConvParams) {
|
|
10
|
+
return {
|
|
11
|
+
axes: slices.map(pfConvParams.axes, func(axis) {
|
|
12
|
+
return axis.column
|
|
13
|
+
}),
|
|
14
|
+
columns: slices.map(pfConvParams.columns, func(col) {
|
|
15
|
+
return col.column
|
|
16
|
+
})
|
|
12
17
|
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
ensureUniqueness := func(inputTsv, params, ...aggParams) {
|
|
22
|
+
keyColumns := params.axes
|
|
23
|
+
pickCols := params.columns
|
|
13
24
|
|
|
14
25
|
aggregationWorkflow := undefined
|
|
15
26
|
if len(aggParams) > 1 {
|
|
16
27
|
pickCols := []
|
|
17
|
-
for col in
|
|
28
|
+
for col in pickCols {
|
|
18
29
|
pickCols = append(pickCols, [
|
|
19
|
-
col
|
|
20
|
-
col
|
|
30
|
+
col,
|
|
31
|
+
col
|
|
21
32
|
]
|
|
22
33
|
)
|
|
23
34
|
}
|
|
24
35
|
|
|
25
36
|
rankingCol := aggParams[1]
|
|
26
|
-
aggregationWorkflow = {
|
|
27
|
-
steps: [
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
]
|
|
37
|
+
aggregationWorkflow = {
|
|
38
|
+
steps: [ {
|
|
39
|
+
type: "aggregate",
|
|
40
|
+
groupBy: keyColumns,
|
|
41
|
+
aggregations: [ {
|
|
42
|
+
type: aggParams[0],
|
|
43
|
+
rankingCol: rankingCol,
|
|
44
|
+
pickCols: pickCols
|
|
45
|
+
} ]
|
|
46
|
+
} ]
|
|
40
47
|
}
|
|
41
48
|
} else {
|
|
42
49
|
aggregations := []
|
|
43
|
-
for col in
|
|
50
|
+
for col in pickCols {
|
|
44
51
|
aggregations = append(aggregations, {
|
|
45
52
|
type: aggParams[0],
|
|
46
|
-
src: col
|
|
47
|
-
dst: col
|
|
53
|
+
src: col,
|
|
54
|
+
dst: col
|
|
48
55
|
})
|
|
49
56
|
}
|
|
50
57
|
|
|
51
|
-
aggregationWorkflow = { steps: [
|
|
52
|
-
{
|
|
58
|
+
aggregationWorkflow = { steps: [ {
|
|
53
59
|
type: "aggregate",
|
|
54
60
|
groupBy: keyColumns,
|
|
55
61
|
aggregations: aggregations
|
|
56
|
-
|
|
57
|
-
]
|
|
62
|
+
} ]
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
|
|
@@ -71,5 +76,6 @@ ensureUniqueness := func(inputTsv, pfConvParams, ...aggParams) {
|
|
|
71
76
|
}
|
|
72
77
|
|
|
73
78
|
export ll.toStrict({
|
|
74
|
-
ensureUniqueness: ensureUniqueness
|
|
75
|
-
|
|
79
|
+
ensureUniqueness: ensureUniqueness,
|
|
80
|
+
ensureUniquenessParamsFromPconvParams: ensureUniquenessParamsFromPconvParams
|
|
81
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-open/milaboratories.mixcr-shm-trees.workflow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Tengo-based template",
|
|
6
6
|
"//": {
|
|
7
7
|
"build": "node ./scripts/build-static.mjs src/pfconv_params.json src/pfconv_params.lib.tengo && rm -rf dist && pl-tengo check && pl-tengo build && ./create_tags.sh"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@platforma-sdk/workflow-tengo": "^4.
|
|
10
|
+
"@platforma-sdk/workflow-tengo": "^4.4.4"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@platforma-sdk/tengo-builder": "^2.1.3",
|
|
14
14
|
"@platforma-open/milaboratories.software-mixcr": "4.7.0-165-develop",
|
|
15
15
|
"@platforma-open/milaboratories.software-mitool": "2.3.1-5-main",
|
|
16
|
-
"@platforma-open/milaboratories.software-ptransform": "^1.3
|
|
17
|
-
"@platforma-sdk/test": "^1.30.
|
|
16
|
+
"@platforma-open/milaboratories.software-ptransform": "^1.4.3",
|
|
17
|
+
"@platforma-sdk/test": "^1.30.32",
|
|
18
18
|
"vitest": "~2.1.8",
|
|
19
19
|
"typescript": "~5.6.3"
|
|
20
20
|
},
|