@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 2.0.1 → 2.1.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 +1 -1
- package/.turbo/turbo-test.log +10 -10
- package/CHANGELOG.md +6 -0
- package/dist/tengo/lib/calculate-export-specs.lib.tengo +18 -4
- package/dist/tengo/tpl/aggregate-by-clonotype-key.plj.gz +0 -0
- package/dist/tengo/tpl/calculate-preset-info.plj.gz +0 -0
- package/dist/tengo/tpl/list-presets.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/test.columns-calculate.plj.gz +0 -0
- package/dist/tengo/tpl/test.columns.test.plj.gz +0 -0
- package/package.json +1 -1
- package/src/calculate-export-specs.lib.tengo +18 -4
- package/src/main.tpl.tengo +4 -1
- package/src/mixcr-export.tpl.tengo +1 -0
- package/src/process.tpl.tengo +1 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.0
|
|
2
|
+
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.1.0 build /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow
|
|
3
3
|
> rm -rf dist && pl-tengo check && pl-tengo build
|
|
4
4
|
|
|
5
5
|
Processing "src/aggregate-by-clonotype-key.tpl.tengo"...
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
|
|
2
|
-
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.0
|
|
2
|
+
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.1.0 test /home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow
|
|
3
3
|
> vitest
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
[1m[7m[36m RUN [39m[27m[22m [36mv2.1.8 [39m[90m/home/runner/work/mixcr-clonotyping-2/mixcr-clonotyping-2/workflow[39m
|
|
7
7
|
|
|
8
|
-
[32m✓[39m src/test/columns.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m
|
|
9
|
-
[33m[2m✓[22m[39m checking preset for 'milab-human-dna-xcr-7genes-multiplex' [
|
|
10
|
-
[33m[2m✓[22m[39m checking preset for '10x-sc-xcr-vdj' [
|
|
11
|
-
[33m[2m✓[22m[39m checking preset for 'cellecta-human-rna-xcr-umi-drivermap-…' [
|
|
12
|
-
[33m[2m✓[22m[39m checking preset for 'takara-human-rna-bcr-umi-smartseq' [
|
|
13
|
-
[33m[2m✓[22m[39m checking preset for 'rna-seq' [
|
|
14
|
-
[33m[2m✓[22m[39m checking preset for 'generic-single-cell-gex' [
|
|
8
|
+
[32m✓[39m src/test/columns.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 48155[2mms[22m[39m
|
|
9
|
+
[33m[2m✓[22m[39m checking preset for 'milab-human-dna-xcr-7genes-multiplex' [33m11939[2mms[22m[39m
|
|
10
|
+
[33m[2m✓[22m[39m checking preset for '10x-sc-xcr-vdj' [33m7604[2mms[22m[39m
|
|
11
|
+
[33m[2m✓[22m[39m checking preset for 'cellecta-human-rna-xcr-umi-drivermap-…' [33m7330[2mms[22m[39m
|
|
12
|
+
[33m[2m✓[22m[39m checking preset for 'takara-human-rna-bcr-umi-smartseq' [33m7316[2mms[22m[39m
|
|
13
|
+
[33m[2m✓[22m[39m checking preset for 'rna-seq' [33m6894[2mms[22m[39m
|
|
14
|
+
[33m[2m✓[22m[39m checking preset for 'generic-single-cell-gex' [33m7071[2mms[22m[39m
|
|
15
15
|
|
|
16
16
|
[2m Test Files [22m [1m[32m1 passed[39m[22m[90m (1)[39m
|
|
17
17
|
[2m Tests [22m [1m[32m6 passed[39m[22m[90m (6)[39m
|
|
18
|
-
[2m Start at [22m 11:
|
|
19
|
-
[2m Duration [22m 48.
|
|
18
|
+
[2m Start at [22m 20:11:15
|
|
19
|
+
[2m Duration [22m 48.92s[2m (transform 45ms, setup 0ms, collect 537ms, tests 48.16s, environment 0ms, prepare 61ms)[22m
|
|
20
20
|
|
package/CHANGELOG.md
CHANGED
|
@@ -118,6 +118,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
118
118
|
"pl7.app/isAbundance": "true",
|
|
119
119
|
"pl7.app/abundance/unit": "reads",
|
|
120
120
|
"pl7.app/abundance/normalized": "false",
|
|
121
|
+
"pl7.app/abundance/isPrimary": string(!hasUmi),
|
|
121
122
|
"pl7.app/label": "Number Of Reads"
|
|
122
123
|
})
|
|
123
124
|
}
|
|
@@ -134,6 +135,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
134
135
|
"pl7.app/isAbundance": "true",
|
|
135
136
|
"pl7.app/abundance/unit": "reads",
|
|
136
137
|
"pl7.app/abundance/normalized": "true",
|
|
138
|
+
"pl7.app/abundance/isPrimary": string(!hasUmi),
|
|
137
139
|
"pl7.app/label": "Fraction of reads"
|
|
138
140
|
})
|
|
139
141
|
}
|
|
@@ -157,6 +159,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
157
159
|
"pl7.app/isAbundance": "true",
|
|
158
160
|
"pl7.app/abundance/unit": "molecules",
|
|
159
161
|
"pl7.app/abundance/normalized": "false",
|
|
162
|
+
"pl7.app/abundance/isPrimary": "true",
|
|
160
163
|
"pl7.app/label": "Number of UMI"
|
|
161
164
|
})
|
|
162
165
|
}
|
|
@@ -173,6 +176,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
173
176
|
"pl7.app/isAbundance": "true",
|
|
174
177
|
"pl7.app/abundance/unit": "molecules",
|
|
175
178
|
"pl7.app/abundance/normalized": "true",
|
|
179
|
+
"pl7.app/abundance/isPrimary": "true",
|
|
176
180
|
"pl7.app/label": "Fraction of UMI"
|
|
177
181
|
})
|
|
178
182
|
}
|
|
@@ -229,13 +233,19 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
229
233
|
|
|
230
234
|
|
|
231
235
|
|
|
236
|
+
|
|
237
|
+
anchorFeature := undefined;
|
|
238
|
+
|
|
232
239
|
features := undefined
|
|
233
240
|
if is_undefined(assemblingFeature) {
|
|
234
241
|
features = ["CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
|
|
242
|
+
anchorFeature = "CDR3"
|
|
235
243
|
} else if assemblingFeature != "CDR3" {
|
|
236
244
|
features = [assemblingFeature, "CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
|
|
245
|
+
anchorFeature = assemblingFeature
|
|
237
246
|
} else {
|
|
238
247
|
features = ["CDR3"]
|
|
248
|
+
anchorFeature = "CDR3"
|
|
239
249
|
}
|
|
240
250
|
|
|
241
251
|
for isImputed in ( is_undefined(assemblingFeature) ? [false, true] : [false] ) {
|
|
@@ -248,6 +258,13 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
248
258
|
alphabetShort := isAminoAcid ? "aa" : "nt"
|
|
249
259
|
alphabetShortMixcr := isAminoAcid ? "aa" : "n"
|
|
250
260
|
visibility := (featureU == "CDR3") || (featureU == assemblingFeature)
|
|
261
|
+
annotations := {
|
|
262
|
+
"pl7.app/vdj/imputed": string(isImputed),
|
|
263
|
+
"pl7.app/label": featureU + " " + alphabetShort
|
|
264
|
+
}
|
|
265
|
+
if featureU == anchorFeature && !isImputed && !isAminoAcid {
|
|
266
|
+
annotations["pl7.app/isAnchor"] = "true"
|
|
267
|
+
}
|
|
251
268
|
columnsSpecPerClonotype += [ {
|
|
252
269
|
column: alphabetShortMixcr + "Seq" + imputedU + featureU,
|
|
253
270
|
id: alphabetShortMixcr + "-seq-" + featureL + (isImputed ? "-imputed" : ""),
|
|
@@ -259,10 +276,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
259
276
|
"pl7.app/vdj/feature": featureU,
|
|
260
277
|
"pl7.app/alphabet": alphabet
|
|
261
278
|
},
|
|
262
|
-
annotations: a(orderP, visibility,
|
|
263
|
-
"pl7.app/vdj/imputed": string(isImputed),
|
|
264
|
-
"pl7.app/label": featureU + " " + alphabetShort
|
|
265
|
-
})
|
|
279
|
+
annotations: a(orderP, visibility, annotations)
|
|
266
280
|
}
|
|
267
281
|
} ]
|
|
268
282
|
exportArgs += [ [ "-" + alphabetShortMixcr + "Feature" + imputedU, featureU ] ]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -118,6 +118,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
118
118
|
"pl7.app/isAbundance": "true",
|
|
119
119
|
"pl7.app/abundance/unit": "reads",
|
|
120
120
|
"pl7.app/abundance/normalized": "false",
|
|
121
|
+
"pl7.app/abundance/isPrimary": string(!hasUmi),
|
|
121
122
|
"pl7.app/label": "Number Of Reads"
|
|
122
123
|
})
|
|
123
124
|
}
|
|
@@ -134,6 +135,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
134
135
|
"pl7.app/isAbundance": "true",
|
|
135
136
|
"pl7.app/abundance/unit": "reads",
|
|
136
137
|
"pl7.app/abundance/normalized": "true",
|
|
138
|
+
"pl7.app/abundance/isPrimary": string(!hasUmi),
|
|
137
139
|
"pl7.app/label": "Fraction of reads"
|
|
138
140
|
})
|
|
139
141
|
}
|
|
@@ -157,6 +159,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
157
159
|
"pl7.app/isAbundance": "true",
|
|
158
160
|
"pl7.app/abundance/unit": "molecules",
|
|
159
161
|
"pl7.app/abundance/normalized": "false",
|
|
162
|
+
"pl7.app/abundance/isPrimary": "true",
|
|
160
163
|
"pl7.app/label": "Number of UMI"
|
|
161
164
|
})
|
|
162
165
|
}
|
|
@@ -173,6 +176,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
173
176
|
"pl7.app/isAbundance": "true",
|
|
174
177
|
"pl7.app/abundance/unit": "molecules",
|
|
175
178
|
"pl7.app/abundance/normalized": "true",
|
|
179
|
+
"pl7.app/abundance/isPrimary": "true",
|
|
176
180
|
"pl7.app/label": "Fraction of UMI"
|
|
177
181
|
})
|
|
178
182
|
}
|
|
@@ -229,13 +233,19 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
229
233
|
|
|
230
234
|
// Sequences
|
|
231
235
|
|
|
236
|
+
// column with nucleotide sequence of this feature will be marked as anchor
|
|
237
|
+
anchorFeature := undefined;
|
|
238
|
+
|
|
232
239
|
features := undefined
|
|
233
240
|
if is_undefined(assemblingFeature) {
|
|
234
241
|
features = ["CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
|
|
242
|
+
anchorFeature = "CDR3"
|
|
235
243
|
} else if assemblingFeature != "CDR3" {
|
|
236
244
|
features = [assemblingFeature, "CDR1", "FR1", "FR2", "CDR2", "FR3", "CDR3", "FR4"]
|
|
245
|
+
anchorFeature = assemblingFeature
|
|
237
246
|
} else {
|
|
238
247
|
features = ["CDR3"]
|
|
248
|
+
anchorFeature = "CDR3"
|
|
239
249
|
}
|
|
240
250
|
|
|
241
251
|
for isImputed in ( is_undefined(assemblingFeature) ? [false, true] : [false] ) {
|
|
@@ -248,6 +258,13 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
248
258
|
alphabetShort := isAminoAcid ? "aa" : "nt"
|
|
249
259
|
alphabetShortMixcr := isAminoAcid ? "aa" : "n"
|
|
250
260
|
visibility := (featureU == "CDR3") || (featureU == assemblingFeature)
|
|
261
|
+
annotations := {
|
|
262
|
+
"pl7.app/vdj/imputed": string(isImputed),
|
|
263
|
+
"pl7.app/label": featureU + " " + alphabetShort
|
|
264
|
+
}
|
|
265
|
+
if featureU == anchorFeature && !isImputed && !isAminoAcid {
|
|
266
|
+
annotations["pl7.app/isAnchor"] = "true"
|
|
267
|
+
}
|
|
251
268
|
columnsSpecPerClonotype += [ {
|
|
252
269
|
column: alphabetShortMixcr + "Seq" + imputedU + featureU,
|
|
253
270
|
id: alphabetShortMixcr + "-seq-" + featureL + (isImputed ? "-imputed" : ""),
|
|
@@ -259,10 +276,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
259
276
|
"pl7.app/vdj/feature": featureU,
|
|
260
277
|
"pl7.app/alphabet": alphabet
|
|
261
278
|
},
|
|
262
|
-
annotations: a(orderP, visibility,
|
|
263
|
-
"pl7.app/vdj/imputed": string(isImputed),
|
|
264
|
-
"pl7.app/label": featureU + " " + alphabetShort
|
|
265
|
-
})
|
|
279
|
+
annotations: a(orderP, visibility, annotations)
|
|
266
280
|
}
|
|
267
281
|
} ]
|
|
268
282
|
exportArgs += [ [ "-" + alphabetShortMixcr + "Feature" + imputedU, featureU ] ]
|
package/src/main.tpl.tengo
CHANGED
|
@@ -20,7 +20,7 @@ processTpl := assets.importTemplate(":process")
|
|
|
20
20
|
wf.setPreRun(assets.importTemplate(":prerun"))
|
|
21
21
|
|
|
22
22
|
wf.prepare(func(args){
|
|
23
|
-
return{
|
|
23
|
+
return {
|
|
24
24
|
resolvedLibraryInput: wf.resolve(args.inputLibrary, { errIfMissing: false })
|
|
25
25
|
}
|
|
26
26
|
})
|
|
@@ -94,6 +94,9 @@ wf.body(func(args) {
|
|
|
94
94
|
|
|
95
95
|
// calculating chains
|
|
96
96
|
chains := ["IGHeavy", "IGLight", "TRA", "TRB", "TRD", "TRG"]
|
|
97
|
+
if !is_undefined(args.chains) {
|
|
98
|
+
chains = args.chains
|
|
99
|
+
}
|
|
97
100
|
|
|
98
101
|
runMixcr := render.createEphemeral(processTpl, {
|
|
99
102
|
inputSpec: input.getFutureInputField("spec"),
|
package/src/process.tpl.tengo
CHANGED