@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 2.15.1 → 2.17.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 +12 -0
- package/dist/tengo/lib/calculate-export-specs.lib.tengo +29 -14
- 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-single-cell.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 +2 -2
- package/src/calculate-export-specs.lib.tengo +29 -14
- package/.test_auth.json +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/mixcr-clonotyping/mixcr-clonotyping/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.
|
|
3
|
+
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.17.0 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
|
|
4
4
|
> rm -rf dist && pl-tengo check && pl-tengo build
|
|
5
5
|
|
|
6
6
|
info: Skipping unknown file type: test/columns.test.ts
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/mixcr-clonotyping/mixcr-clonotyping/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.
|
|
3
|
+
> @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@2.17.0 test /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
|
|
4
4
|
> vitest
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
[1m[7m[36m RUN [39m[27m[22m [36mv2.1.8 [39m[90m/home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow[39m
|
|
8
8
|
|
|
9
|
-
[32m✓[39m src/test/columns.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m
|
|
10
|
-
[33m[2m✓[22m[39m checking preset for 'milab-human-dna-xcr-7genes-multiplex' [
|
|
11
|
-
[33m[2m✓[22m[39m checking preset for '10x-sc-xcr-vdj' [
|
|
12
|
-
[33m[2m✓[22m[39m checking preset for 'cellecta-human-rna-xcr-umi-drivermap-…' [
|
|
13
|
-
[33m[2m✓[22m[39m checking preset for 'takara-human-rna-bcr-umi-smartseq' [
|
|
14
|
-
[33m[2m✓[22m[39m checking preset for 'rna-seq' [
|
|
15
|
-
[33m[2m✓[22m[39m checking preset for 'generic-single-cell-gex' [
|
|
9
|
+
[32m✓[39m src/test/columns.test.ts [2m([22m[2m6 tests[22m[2m)[22m[33m 52852[2mms[22m[39m
|
|
10
|
+
[33m[2m✓[22m[39m checking preset for 'milab-human-dna-xcr-7genes-multiplex' [33m13107[2mms[22m[39m
|
|
11
|
+
[33m[2m✓[22m[39m checking preset for '10x-sc-xcr-vdj' [33m8442[2mms[22m[39m
|
|
12
|
+
[33m[2m✓[22m[39m checking preset for 'cellecta-human-rna-xcr-umi-drivermap-…' [33m7979[2mms[22m[39m
|
|
13
|
+
[33m[2m✓[22m[39m checking preset for 'takara-human-rna-bcr-umi-smartseq' [33m7987[2mms[22m[39m
|
|
14
|
+
[33m[2m✓[22m[39m checking preset for 'rna-seq' [33m7550[2mms[22m[39m
|
|
15
|
+
[33m[2m✓[22m[39m checking preset for 'generic-single-cell-gex' [33m7787[2mms[22m[39m
|
|
16
16
|
|
|
17
17
|
[2m Test Files [22m [1m[32m1 passed[39m[22m[90m (1)[39m
|
|
18
18
|
[2m Tests [22m [1m[32m6 passed[39m[22m[90m (6)[39m
|
|
19
|
-
[2m Start at [22m
|
|
20
|
-
[2m Duration [22m 53.
|
|
19
|
+
[2m Start at [22m 15:43:08
|
|
20
|
+
[2m Duration [22m 53.65s[2m (transform 43ms, setup 0ms, collect 567ms, tests 52.85s, environment 0ms, prepare 58ms)[22m
|
|
21
21
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @platforma-open/milaboratories.mixcr-clonotyping.workflow
|
|
2
2
|
|
|
3
|
+
## 2.17.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 50d0b31: isAssemblingFeature in domain
|
|
8
|
+
|
|
9
|
+
## 2.16.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 632c7c0: fixed bugs with assemblingFeature and updated ptransform to 1.4.0
|
|
14
|
+
|
|
3
15
|
## 2.15.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -36,24 +36,30 @@ assemblingFeatureInfo := func(assemblingFeature) {
|
|
|
36
36
|
productiveFeature := undefined
|
|
37
37
|
coreVFeature := undefined
|
|
38
38
|
coreJFeature := undefined
|
|
39
|
-
if assemblingFeature
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
if assemblingFeature {
|
|
40
|
+
splittedFeature1 := text.split(assemblingFeature, "_TO_")
|
|
41
|
+
splittedFeature2 := text.split(assemblingFeature, ":")
|
|
42
|
+
if assemblingFeature == "CDR3" {
|
|
43
|
+
productiveFeature = "CDR3"
|
|
44
|
+
} else if assemblingFeature == "VDJRegion" {
|
|
45
|
+
productiveFeature = "VDJRegion(0,-1)"
|
|
46
|
+
coreVFeature = "{FR1Begin:FR3End}"
|
|
47
|
+
coreJFeature = "FR4"
|
|
48
|
+
} else if len(splittedFeature1) == 2 {
|
|
49
|
+
if splittedFeature1[1] == "FR4" {
|
|
50
|
+
productiveFeature = splittedFeature1[0] + "_TO_FR4(0,-1)"
|
|
51
|
+
coreVFeature = "{"+splittedFeature1[0]+"Begin:FR3End}"
|
|
51
52
|
coreJFeature = "FR4"
|
|
52
53
|
} else {
|
|
53
54
|
productiveFeature = assemblingFeature
|
|
54
|
-
coreVFeature = "{"+
|
|
55
|
+
coreVFeature = "{"+splittedFeature1[0]+"Begin:FR3End}"
|
|
55
56
|
}
|
|
57
|
+
} else if len(splittedFeature2) == 2 {
|
|
58
|
+
productiveFeature = assemblingFeature
|
|
59
|
+
coreVFeature = splittedFeature2[0]+":FR3End}"
|
|
56
60
|
}
|
|
61
|
+
} else {
|
|
62
|
+
productiveFeature = "CDR3"
|
|
57
63
|
}
|
|
58
64
|
return {
|
|
59
65
|
productiveFeature: productiveFeature,
|
|
@@ -64,6 +70,14 @@ assemblingFeatureInfo := func(assemblingFeature) {
|
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
|
|
73
|
+
|
|
74
|
+
formatId := func(input) {
|
|
75
|
+
noNums := text.re_replace(`\(\s*-?\d+(\s*,\s*-?\d+)*\s*\)`, input, "")
|
|
76
|
+
noBraces := text.re_replace(`[{}\(\)]`, noNums, "")
|
|
77
|
+
result := text.re_replace(`:`, noBraces, "-")
|
|
78
|
+
return result
|
|
79
|
+
}
|
|
80
|
+
|
|
67
81
|
exportSpecOpsFromPreset := func(presetSpecForBack) {
|
|
68
82
|
assemblingFeature := undefined
|
|
69
83
|
if !is_undefined(presetSpecForBack.assemblingFeature) {
|
|
@@ -302,7 +316,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
302
316
|
imputedU := isImputed ? "Imputed" : ""
|
|
303
317
|
imputedL := text.to_lower(imputedU)
|
|
304
318
|
for featureU in features {
|
|
305
|
-
featureL := text.to_lower(featureU)
|
|
319
|
+
featureL := text.to_lower(formatId(featureU))
|
|
306
320
|
for isAminoAcid in [true, false] {
|
|
307
321
|
alphabet := isAminoAcid ? "aminoacid" : "nucleotide"
|
|
308
322
|
alphabetShort := isAminoAcid ? "aa" : "nt"
|
|
@@ -321,6 +335,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
321
335
|
"pl7.app/alphabet": alphabet
|
|
322
336
|
},
|
|
323
337
|
annotations: a(orderP, visibility, {
|
|
338
|
+
"pl7.app/vdj/isAssemblingFeature": featureU == anchorFeature ? "true" : "false",
|
|
324
339
|
"pl7.app/vdj/imputed": string(isImputed),
|
|
325
340
|
"pl7.app/label": featureU + " " + alphabetShort
|
|
326
341
|
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-open/milaboratories.mixcr-clonotyping-2.workflow",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.17.0",
|
|
4
4
|
"description": "Tengo-based template",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@platforma-sdk/workflow-tengo": "^4.1.2",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@platforma-sdk/tengo-builder": "^2.1.0",
|
|
12
12
|
"@platforma-open/milaboratories.software-mixcr": "4.7.0-165-develop",
|
|
13
|
-
"@platforma-open/milaboratories.software-ptransform": "^1.
|
|
13
|
+
"@platforma-open/milaboratories.software-ptransform": "^1.4.2",
|
|
14
14
|
"@platforma-sdk/test": "^1.29.17",
|
|
15
15
|
"vitest": "~2.1.8",
|
|
16
16
|
"typescript": "~5.5.4"
|
|
@@ -36,24 +36,30 @@ assemblingFeatureInfo := func(assemblingFeature) {
|
|
|
36
36
|
productiveFeature := undefined
|
|
37
37
|
coreVFeature := undefined
|
|
38
38
|
coreJFeature := undefined
|
|
39
|
-
if assemblingFeature
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
if assemblingFeature {
|
|
40
|
+
splittedFeature1 := text.split(assemblingFeature, "_TO_")
|
|
41
|
+
splittedFeature2 := text.split(assemblingFeature, ":")
|
|
42
|
+
if assemblingFeature == "CDR3" {
|
|
43
|
+
productiveFeature = "CDR3"
|
|
44
|
+
} else if assemblingFeature == "VDJRegion" {
|
|
45
|
+
productiveFeature = "VDJRegion(0,-1)"
|
|
46
|
+
coreVFeature = "{FR1Begin:FR3End}"
|
|
47
|
+
coreJFeature = "FR4"
|
|
48
|
+
} else if len(splittedFeature1) == 2 {
|
|
49
|
+
if splittedFeature1[1] == "FR4" {
|
|
50
|
+
productiveFeature = splittedFeature1[0] + "_TO_FR4(0,-1)"
|
|
51
|
+
coreVFeature = "{"+splittedFeature1[0]+"Begin:FR3End}"
|
|
51
52
|
coreJFeature = "FR4"
|
|
52
53
|
} else {
|
|
53
54
|
productiveFeature = assemblingFeature
|
|
54
|
-
coreVFeature = "{"+
|
|
55
|
+
coreVFeature = "{"+splittedFeature1[0]+"Begin:FR3End}"
|
|
55
56
|
}
|
|
57
|
+
} else if len(splittedFeature2) == 2 {
|
|
58
|
+
productiveFeature = assemblingFeature
|
|
59
|
+
coreVFeature = splittedFeature2[0]+":FR3End}"
|
|
56
60
|
}
|
|
61
|
+
} else {
|
|
62
|
+
productiveFeature = "CDR3"
|
|
57
63
|
}
|
|
58
64
|
return {
|
|
59
65
|
productiveFeature: productiveFeature,
|
|
@@ -64,6 +70,14 @@ assemblingFeatureInfo := func(assemblingFeature) {
|
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
|
|
73
|
+
// sometimes we need to format assembling feature to be used in column ids
|
|
74
|
+
formatId := func(input) {
|
|
75
|
+
noNums := text.re_replace(`\(\s*-?\d+(\s*,\s*-?\d+)*\s*\)`, input, "")
|
|
76
|
+
noBraces := text.re_replace(`[{}\(\)]`, noNums, "")
|
|
77
|
+
result := text.re_replace(`:`, noBraces, "-")
|
|
78
|
+
return result
|
|
79
|
+
}
|
|
80
|
+
|
|
67
81
|
exportSpecOpsFromPreset := func(presetSpecForBack) {
|
|
68
82
|
assemblingFeature := undefined
|
|
69
83
|
if !is_undefined(presetSpecForBack.assemblingFeature) {
|
|
@@ -302,7 +316,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
302
316
|
imputedU := isImputed ? "Imputed" : ""
|
|
303
317
|
imputedL := text.to_lower(imputedU)
|
|
304
318
|
for featureU in features {
|
|
305
|
-
featureL := text.to_lower(featureU)
|
|
319
|
+
featureL := text.to_lower(formatId(featureU))
|
|
306
320
|
for isAminoAcid in [true, false] {
|
|
307
321
|
alphabet := isAminoAcid ? "aminoacid" : "nucleotide"
|
|
308
322
|
alphabetShort := isAminoAcid ? "aa" : "nt"
|
|
@@ -321,6 +335,7 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
|
|
|
321
335
|
"pl7.app/alphabet": alphabet
|
|
322
336
|
},
|
|
323
337
|
annotations: a(orderP, visibility, {
|
|
338
|
+
"pl7.app/vdj/isAssemblingFeature": featureU == anchorFeature ? "true" : "false",
|
|
324
339
|
"pl7.app/vdj/imputed": string(isImputed),
|
|
325
340
|
"pl7.app/label": featureU + " " + alphabetShort
|
|
326
341
|
})
|
package/.test_auth.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"conf":{"address":"http://127.0.0.1:6345","test_user":"test-user","test_password":"test-password"},"authInformation":{"jwtToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImxvZ2luIjoidGVzdC11c2VyIn0sImV4cCI6MTc0NjU2MjQ5MywiaWF0IjoxNzQ1OTU3NjkzfQ.ZMQGoZ3Z2SanN_ZOemm_xqZSD7YNnYC561qeU_fU2CA"},"expiration":1746044093000}
|