@platforma-open/milaboratories.mixcr-amplicon-alignment.workflow 1.21.5 → 1.21.7
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 +1 -1
- package/CHANGELOG.md +12 -0
- package/dist/tengo/tpl/aggregate-by-clonotype-key.plj.gz +0 -0
- package/dist/tengo/tpl/export-report.plj.gz +0 -0
- package/dist/tengo/tpl/main.plj.gz +0 -0
- package/dist/tengo/tpl/mixcr-analyze.plj.gz +0 -0
- package/dist/tengo/tpl/mixcr-export.plj.gz +0 -0
- package/dist/tengo/tpl/prerun.plj.gz +0 -0
- package/dist/tengo/tpl/process.plj.gz +0 -0
- package/dist/tengo/tpl/repseqio-library.plj.gz +0 -0
- package/package.json +2 -2
- package/src/aggregate-by-clonotype-key.tpl.tengo +10 -1
- package/src/export-report.tpl.tengo +1 -1
- package/src/mixcr-analyze.tpl.tengo +2 -2
- package/src/mixcr-export.tpl.tengo +3 -3
- package/src/process.tpl.tengo +8 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/mixcr-amplicon-alignment/mixcr-amplicon-alignment/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.mixcr-amplicon-alignment.workflow@1.21.
|
|
3
|
+
> @platforma-open/milaboratories.mixcr-amplicon-alignment.workflow@1.21.7 build /home/runner/work/mixcr-amplicon-alignment/mixcr-amplicon-alignment/workflow
|
|
4
4
|
> rm -rf dist && pl-tengo check && pl-tengo build
|
|
5
5
|
|
|
6
6
|
Processing "src/aggregate-by-clonotype-key.tpl.tengo"...
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @platforma-open/milaboratories.mixcr-amplicon-alignment.workflow
|
|
2
2
|
|
|
3
|
+
## 1.21.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b67eb61: Upgrade MiXCR to 4.7.0-343-develop — packed NucleotideSequence storage for 4x memory reduction
|
|
8
|
+
|
|
9
|
+
## 1.21.6
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- a463f4f: Fix memory allocation for aggregation step and correct GB/GiB unit mismatch across all workflow templates
|
|
14
|
+
|
|
3
15
|
## 1.21.5
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-open/milaboratories.mixcr-amplicon-alignment.workflow",
|
|
3
|
-
"version": "1.21.
|
|
3
|
+
"version": "1.21.7",
|
|
4
4
|
"description": "MiXCR Amplicon Alignment Workflow",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@platforma-sdk/workflow-tengo": "5.11.0",
|
|
8
|
-
"@platforma-open/milaboratories.software-mixcr": "4.7.0-
|
|
8
|
+
"@platforma-open/milaboratories.software-mixcr": "4.7.0-343-develop",
|
|
9
9
|
"@platforma-open/milaboratories.software-repseqio": "^2.5.0-13-master"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
@@ -31,9 +31,18 @@ self.body(func(inputs) {
|
|
|
31
31
|
inputMap := inputData.inputs()
|
|
32
32
|
numberOfSamples := len(inputMap)
|
|
33
33
|
|
|
34
|
+
baseMemGB := 32
|
|
35
|
+
if !is_undefined(inputs.perProcessMemGB) {
|
|
36
|
+
baseMemGB = inputs.perProcessMemGB / 2
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
perSampleMem := int(math.max(2, baseMemGB / 10))
|
|
40
|
+
effectiveSamples := int(math.max(numberOfSamples, 3))
|
|
41
|
+
memGB := int(math.min(312, math.max(baseMemGB * 3 / 2, effectiveSamples * perSampleMem)))
|
|
42
|
+
|
|
34
43
|
wf := pt.workflow().
|
|
35
44
|
inMediumQueue().
|
|
36
|
-
mem(
|
|
45
|
+
mem(memGB * units.GiB).
|
|
37
46
|
cpu(int(math.max(numberOfSamples, 32)))
|
|
38
47
|
|
|
39
48
|
dataFrames := []
|
|
@@ -204,7 +204,7 @@ self.body(func(inputs) {
|
|
|
204
204
|
baseMemGB = perProcessMemGB
|
|
205
205
|
}
|
|
206
206
|
memGB := func(floorGB, divisor) {
|
|
207
|
-
return string(int(math.max(floorGB, baseMemGB / divisor))) + "
|
|
207
|
+
return string(int(math.max(floorGB, baseMemGB / divisor))) + "GiB"
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
// Count clonotypes filtered by stop codons and out-of-frame per sample
|
|
@@ -143,9 +143,9 @@ self.body(func(inputs) {
|
|
|
143
143
|
// Memory limit per process
|
|
144
144
|
if !is_undefined(perProcessMemGB) {
|
|
145
145
|
// memory per process was set in "Advanced Settings" block directly
|
|
146
|
-
mixcrCmdBuilder.mem(string(perProcessMemGB) + "
|
|
146
|
+
mixcrCmdBuilder.mem(string(perProcessMemGB) + "GiB")
|
|
147
147
|
} else {
|
|
148
|
-
mixcrCmdBuilder.mem("
|
|
148
|
+
mixcrCmdBuilder.mem("64GiB")
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
if !is_undefined(limitInput) {
|
|
@@ -179,11 +179,11 @@ self.body(func(inputs) {
|
|
|
179
179
|
|
|
180
180
|
// Memory for downstream operations, linked to user override with hardcoded floors
|
|
181
181
|
baseMemGB := 64
|
|
182
|
-
if !is_undefined(
|
|
183
|
-
baseMemGB =
|
|
182
|
+
if !is_undefined(inputs.perProcessMemGB) {
|
|
183
|
+
baseMemGB = inputs.perProcessMemGB
|
|
184
184
|
}
|
|
185
185
|
memGB := func(floorGB, divisor) {
|
|
186
|
-
return string(int(math.max(floorGB, baseMemGB / divisor))) + "
|
|
186
|
+
return string(int(math.max(floorGB, baseMemGB / divisor))) + "GiB"
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
hashKeyDerivationExpressionPt := func(sourceColumns) {
|
package/src/process.tpl.tengo
CHANGED
|
@@ -77,9 +77,9 @@ self.body(func(inputs) {
|
|
|
77
77
|
if !is_undefined(perProcessMemGB) {
|
|
78
78
|
baseMemGB = perProcessMemGB
|
|
79
79
|
}
|
|
80
|
-
// Returns max(floor, baseMemGB / divisor) as a string like "
|
|
80
|
+
// Returns max(floor, baseMemGB / divisor) as a string like "32GiB"
|
|
81
81
|
memGB := func(floorGB, divisor) {
|
|
82
|
-
return string(int(math.max(floorGB, baseMemGB / divisor))) + "
|
|
82
|
+
return string(int(math.max(floorGB, baseMemGB / divisor))) + "GiB"
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
fileExtension := inputSpec.domain["pl7.app/fileExtension"]
|
|
@@ -285,9 +285,11 @@ self.body(func(inputs) {
|
|
|
285
285
|
cdr3SeqColumns: cdr3SeqColumns,
|
|
286
286
|
stopCodonTypes: params.stopCodonTypes,
|
|
287
287
|
stopCodonReplacements: params.stopCodonReplacements,
|
|
288
|
-
perProcessMemGB: perProcessMemGB,
|
|
289
288
|
isLibraryFileGzipped: params.isLibraryFileGzipped
|
|
290
289
|
}, { removeUndefs: true })
|
|
290
|
+
},
|
|
291
|
+
metaExtra: {
|
|
292
|
+
perProcessMemGB: perProcessMemGB
|
|
291
293
|
}
|
|
292
294
|
}
|
|
293
295
|
)
|
|
@@ -339,6 +341,9 @@ self.body(func(inputs) {
|
|
|
339
341
|
schemaPerClonotypeAggregates: columnsToSchema(columnsSpecPerClonotypeAggregates),
|
|
340
342
|
schemaPerSample: columnsToSchema(columnsSpecPerSample)
|
|
341
343
|
}
|
|
344
|
+
},
|
|
345
|
+
metaExtra: {
|
|
346
|
+
perProcessMemGB: perProcessMemGB
|
|
342
347
|
}
|
|
343
348
|
}
|
|
344
349
|
)
|