@platforma-open/milaboratories.top-antibodies.workflow 1.14.0 → 1.15.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 +11 -11
- package/CHANGELOG.md +18 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -0
- package/dist/tengo/lib/{libs.pf-kabat-conv.lib.tengo → pf-kabat-conv.lib.tengo} +5 -4
- package/{src/libs → dist/tengo/lib}/pf-spectratype-conv.lib.tengo +0 -1
- package/{src/libs → dist/tengo/lib}/pf-vj-usage-conv.lib.tengo +0 -1
- package/{src/libs → dist/tengo/lib}/sampled-cols-conv.lib.tengo +0 -1
- package/dist/tengo/tpl/assembling-fasta.plj.gz +0 -0
- package/dist/tengo/tpl/filter-and-sample.plj.gz +0 -0
- package/dist/tengo/tpl/main.plj.gz +0 -0
- package/dist/tengo/tpl/prerun.plj.gz +0 -0
- package/package.json +9 -9
- package/src/assembling-fasta.tpl.tengo +4 -4
- package/src/filter-and-sample.tpl.tengo +81 -0
- package/src/{libs/pf-kabat-conv.lib.tengo → pf-kabat-conv.lib.tengo} +5 -4
- package/{dist/tengo/lib/libs.pf-spectratype-conv.lib.tengo → src/pf-spectratype-conv.lib.tengo} +0 -1
- package/{dist/tengo/lib/libs.pf-vj-usage-conv.lib.tengo → src/pf-vj-usage-conv.lib.tengo} +0 -1
- package/src/prerun.tpl.tengo +278 -71
- package/{dist/tengo/lib/libs.sampled-cols-conv.lib.tengo → src/sampled-cols-conv.lib.tengo} +0 -1
- package/dist/tengo/lib/libs.data-utils.lib.tengo +0 -324
- package/src/libs/data-utils.lib.tengo +0 -324
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.top-antibodies.workflow@1.
|
|
3
|
+
> @platforma-open/milaboratories.top-antibodies.workflow@1.15.0 build /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow
|
|
4
4
|
> rm -rf dist && pl-tengo check && pl-tengo build
|
|
5
5
|
|
|
6
6
|
Processing "src/assembling-fasta.tpl.tengo"...
|
|
7
|
-
Processing "src/
|
|
8
|
-
Processing "src/libs/pf-kabat-conv.lib.tengo"...
|
|
9
|
-
Processing "src/libs/pf-spectratype-conv.lib.tengo"...
|
|
10
|
-
Processing "src/libs/pf-vj-usage-conv.lib.tengo"...
|
|
11
|
-
Processing "src/libs/sampled-cols-conv.lib.tengo"...
|
|
7
|
+
Processing "src/filter-and-sample.tpl.tengo"...
|
|
12
8
|
Processing "src/main.tpl.tengo"...
|
|
9
|
+
Processing "src/pf-kabat-conv.lib.tengo"...
|
|
10
|
+
Processing "src/pf-spectratype-conv.lib.tengo"...
|
|
11
|
+
Processing "src/pf-vj-usage-conv.lib.tengo"...
|
|
13
12
|
Processing "src/prerun.tpl.tengo"...
|
|
13
|
+
Processing "src/sampled-cols-conv.lib.tengo"...
|
|
14
14
|
No syntax errors found.
|
|
15
15
|
info: Compiling 'dist'...
|
|
16
|
-
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/
|
|
17
|
-
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/
|
|
18
|
-
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/
|
|
19
|
-
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/
|
|
20
|
-
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/libs.sampled-cols-conv.lib.tengo
|
|
16
|
+
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/pf-kabat-conv.lib.tengo
|
|
17
|
+
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/pf-spectratype-conv.lib.tengo
|
|
18
|
+
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/pf-vj-usage-conv.lib.tengo
|
|
19
|
+
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/sampled-cols-conv.lib.tengo
|
|
21
20
|
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/tpl/assembling-fasta.plj.gz
|
|
21
|
+
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/tpl/filter-and-sample.plj.gz
|
|
22
22
|
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/tpl/prerun.plj.gz
|
|
23
23
|
info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/tpl/main.plj.gz
|
|
24
24
|
info: Template Pack build done.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @platforma-open/milaboratories.top-antibodies.workflow
|
|
2
2
|
|
|
3
|
+
## 1.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 00143a9: multiple clustering blocks fix, columns names fix, dependencies updates
|
|
8
|
+
|
|
9
|
+
## 1.14.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- b99b7ba: Revert optimization changes
|
|
14
|
+
- Updated dependencies [b99b7ba]
|
|
15
|
+
- @platforma-open/milaboratories.top-antibodies.sample-clonotypes@1.7.1
|
|
16
|
+
- @platforma-open/milaboratories.top-antibodies.assembling-fasta@1.2.1
|
|
17
|
+
- @platforma-open/milaboratories.top-antibodies.anarci-kabat@1.2.1
|
|
18
|
+
- @platforma-open/milaboratories.top-antibodies.spectratype@1.7.1
|
|
19
|
+
- @platforma-open/milaboratories.top-antibodies.umap@1.2.1
|
|
20
|
+
|
|
3
21
|
## 1.14.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
module.exports = { Templates: {
|
|
2
2
|
'assembling-fasta': { type: 'from-file', path: require.resolve('./tengo/tpl/assembling-fasta.plj.gz') },
|
|
3
|
+
'filter-and-sample': { type: 'from-file', path: require.resolve('./tengo/tpl/filter-and-sample.plj.gz') },
|
|
3
4
|
'prerun': { type: 'from-file', path: require.resolve('./tengo/tpl/prerun.plj.gz') },
|
|
4
5
|
'main': { type: 'from-file', path: require.resolve('./tengo/tpl/main.plj.gz') }
|
|
5
6
|
}};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
declare type TemplateFromFile = { readonly type: "from-file"; readonly path: string; };
|
|
2
|
-
declare type TplName = "assembling-fasta" | "prerun" | "main";
|
|
2
|
+
declare type TplName = "assembling-fasta" | "filter-and-sample" | "prerun" | "main";
|
|
3
3
|
declare const Templates: Record<TplName, TemplateFromFile>;
|
|
4
4
|
export { Templates };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
export const Templates = {
|
|
3
3
|
'assembling-fasta': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/assembling-fasta.plj.gz') },
|
|
4
|
+
'filter-and-sample': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/filter-and-sample.plj.gz') },
|
|
4
5
|
'prerun': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/prerun.plj.gz') },
|
|
5
6
|
'main': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/main.plj.gz') }
|
|
6
7
|
};
|
|
@@ -19,7 +19,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
19
19
|
annotations: {
|
|
20
20
|
"pl7.app/label": "KABAT sequence " + featureName + " Heavy",
|
|
21
21
|
"pl7.app/table/orderPriority": "10",
|
|
22
|
-
|
|
22
|
+
"pl7.app/table/visibility": "default"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -34,7 +34,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
34
34
|
annotations: {
|
|
35
35
|
"pl7.app/label": "KABAT positions " + featureName + " Heavy",
|
|
36
36
|
"pl7.app/table/orderPriority": "9",
|
|
37
|
-
|
|
37
|
+
"pl7.app/table/visibility": "optional"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -53,7 +53,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
53
53
|
annotations: {
|
|
54
54
|
"pl7.app/label": "KABAT sequence " + featureName + " Light",
|
|
55
55
|
"pl7.app/table/orderPriority": "8",
|
|
56
|
-
|
|
56
|
+
"pl7.app/table/visibility": "default"
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
},
|
|
@@ -68,7 +68,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
68
68
|
annotations: {
|
|
69
69
|
"pl7.app/label": "KABAT positions " + featureName + " Light",
|
|
70
70
|
"pl7.app/table/orderPriority": "7",
|
|
71
|
-
|
|
71
|
+
"pl7.app/table/visibility": "optional"
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -128,3 +128,4 @@ export ll.toStrict({
|
|
|
128
128
|
getColumns: getColumns
|
|
129
129
|
})
|
|
130
130
|
|
|
131
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-open/milaboratories.top-antibodies.workflow",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Block Workflow",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@platforma-sdk/workflow-tengo": "^5.6.
|
|
7
|
+
"@platforma-sdk/workflow-tengo": "^5.6.6",
|
|
8
8
|
"@platforma-open/milaboratories.software-anarci": "^0.0.3",
|
|
9
|
-
"@platforma-open/milaboratories.top-antibodies.sample-clonotypes": "1.7.
|
|
10
|
-
"@platforma-open/milaboratories.top-antibodies.umap": "1.2.
|
|
11
|
-
"@platforma-open/milaboratories.top-antibodies.
|
|
12
|
-
"@platforma-open/milaboratories.top-antibodies.
|
|
13
|
-
"@platforma-open/milaboratories.top-antibodies.
|
|
9
|
+
"@platforma-open/milaboratories.top-antibodies.sample-clonotypes": "1.7.1",
|
|
10
|
+
"@platforma-open/milaboratories.top-antibodies.umap": "1.2.1",
|
|
11
|
+
"@platforma-open/milaboratories.top-antibodies.spectratype": "1.7.1",
|
|
12
|
+
"@platforma-open/milaboratories.top-antibodies.assembling-fasta": "1.2.1",
|
|
13
|
+
"@platforma-open/milaboratories.top-antibodies.anarci-kabat": "1.2.1"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@platforma-sdk/tengo-builder": "^2.
|
|
17
|
-
"@platforma-sdk/test": "^1.
|
|
16
|
+
"@platforma-sdk/tengo-builder": "^2.4.0",
|
|
17
|
+
"@platforma-sdk/test": "^1.47.3",
|
|
18
18
|
"vitest": "^2.1.8"
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
@@ -12,7 +12,7 @@ self.body(func(inputs) {
|
|
|
12
12
|
|
|
13
13
|
inputTsv := inputs.inputTsv
|
|
14
14
|
keyColumn := inputs.keyColumn // "clonotypeKey" or "scClonotypeKey"
|
|
15
|
-
|
|
15
|
+
finalClonotypesCsv := inputs.finalClonotypesCsv // optional
|
|
16
16
|
isSingleCell := inputs.isSingleCell // boolean
|
|
17
17
|
bulkChain := inputs.bulkChain // "H" or "KL" when !isSingleCell
|
|
18
18
|
|
|
@@ -25,9 +25,9 @@ self.body(func(inputs) {
|
|
|
25
25
|
arg("--key_column").arg(keyColumn).
|
|
26
26
|
arg("--output_fasta").arg("assembling.fasta")
|
|
27
27
|
|
|
28
|
-
if
|
|
29
|
-
cmd = cmd.addFile("finalClonotypes.
|
|
30
|
-
arg("--
|
|
28
|
+
if finalClonotypesCsv != undefined {
|
|
29
|
+
cmd = cmd.addFile("finalClonotypes.csv", finalClonotypesCsv).
|
|
30
|
+
arg("--final_clonotypes_csv").arg("finalClonotypes.csv")
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
cmd = cmd.saveFile("assembling.fasta").
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Template for clonotype filtering and sampling
|
|
2
|
+
self := import("@platforma-sdk/workflow-tengo:tpl")
|
|
3
|
+
exec := import("@platforma-sdk/workflow-tengo:exec")
|
|
4
|
+
assets := import("@platforma-sdk/workflow-tengo:assets")
|
|
5
|
+
pframes := import("@platforma-sdk/workflow-tengo:pframes")
|
|
6
|
+
xsv := import("@platforma-sdk/workflow-tengo:pframes.xsv")
|
|
7
|
+
render := import("@platforma-sdk/workflow-tengo:render")
|
|
8
|
+
sampledColsConv := import(":sampled-cols-conv")
|
|
9
|
+
json := import("json")
|
|
10
|
+
|
|
11
|
+
self.defineOutputs("sampledRows", "finalClonotypesCsv")
|
|
12
|
+
|
|
13
|
+
self.body(func(inputs) {
|
|
14
|
+
|
|
15
|
+
cloneTable := inputs.cloneTable
|
|
16
|
+
datasetSpec := inputs.datasetSpec
|
|
17
|
+
filterMap := inputs.filterMap
|
|
18
|
+
rankingMap := inputs.rankingMap
|
|
19
|
+
topClonotypes := inputs.topClonotypes
|
|
20
|
+
|
|
21
|
+
outputs := {}
|
|
22
|
+
finalClonotypesCsv := undefined
|
|
23
|
+
|
|
24
|
+
// Run filtering script
|
|
25
|
+
filterResult := exec.builder().
|
|
26
|
+
software(assets.importSoftware("@platforma-open/milaboratories.top-antibodies.sample-clonotypes:filter")).
|
|
27
|
+
mem("16GiB").
|
|
28
|
+
cpu(1).
|
|
29
|
+
addFile("clonotypes.csv", cloneTable).
|
|
30
|
+
arg("--csv").arg("clonotypes.csv").
|
|
31
|
+
arg("--out").arg("filteredClonotypes.csv").
|
|
32
|
+
arg("--filter-map").arg(string(json.encode(filterMap))).
|
|
33
|
+
saveFile("filteredClonotypes.csv").
|
|
34
|
+
printErrStreamToStdout().
|
|
35
|
+
cache(24 * 60 * 60 * 1000).
|
|
36
|
+
run()
|
|
37
|
+
|
|
38
|
+
// Save filtered CSV file
|
|
39
|
+
filteredClonotypesCsv := filterResult.getFile("filteredClonotypes.csv")
|
|
40
|
+
|
|
41
|
+
// Store outputs
|
|
42
|
+
sampledColsParams := sampledColsConv.getColumns(datasetSpec, false) // No ranking column
|
|
43
|
+
filteredClonotypesPf := xsv.importFile(filteredClonotypesCsv, "csv", sampledColsParams,
|
|
44
|
+
{cpu: 1, mem: "16GiB"})
|
|
45
|
+
|
|
46
|
+
// Prepare outputs in case there is no top ranking
|
|
47
|
+
outputs["sampledRows"] = pframes.exportFrame(filteredClonotypesPf)
|
|
48
|
+
finalClonotypesCsv = filteredClonotypesCsv
|
|
49
|
+
|
|
50
|
+
if topClonotypes != undefined {
|
|
51
|
+
|
|
52
|
+
////////// Top Clonotypes Sampling //////////
|
|
53
|
+
// Run sampling script on filtered data
|
|
54
|
+
sampleClones := exec.builder().
|
|
55
|
+
software(assets.importSoftware("@platforma-open/milaboratories.top-antibodies.sample-clonotypes:main")).
|
|
56
|
+
mem("16GiB").
|
|
57
|
+
cpu(1).
|
|
58
|
+
addFile("filteredClonotypes.csv", filteredClonotypesCsv).
|
|
59
|
+
arg("--csv").arg("filteredClonotypes.csv").
|
|
60
|
+
arg("--n").arg(string(topClonotypes)).
|
|
61
|
+
arg("--ranking-map").arg(string(json.encode(rankingMap))).
|
|
62
|
+
arg("--out").arg("sampledClonotypes_top.csv").
|
|
63
|
+
saveFile("sampledClonotypes_top.csv").
|
|
64
|
+
printErrStreamToStdout().
|
|
65
|
+
cache(24 * 60 * 60 * 1000).
|
|
66
|
+
run()
|
|
67
|
+
|
|
68
|
+
// Save top clonotypes CSV file
|
|
69
|
+
finalClonotypesCsv = sampleClones.getFile("sampledClonotypes_top.csv")
|
|
70
|
+
|
|
71
|
+
// Store outputs
|
|
72
|
+
sampledColsParams := sampledColsConv.getColumns(datasetSpec, true) // Add ranking column
|
|
73
|
+
sampledColumnsPf := xsv.importFile(finalClonotypesCsv, "csv", sampledColsParams,
|
|
74
|
+
{cpu: 1, mem: "16GiB"})
|
|
75
|
+
outputs["sampledRows"] = pframes.exportFrame(sampledColumnsPf)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
outputs["finalClonotypesCsv"] = finalClonotypesCsv
|
|
79
|
+
|
|
80
|
+
return outputs
|
|
81
|
+
})
|
|
@@ -19,7 +19,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
19
19
|
annotations: {
|
|
20
20
|
"pl7.app/label": "KABAT sequence " + featureName + " Heavy",
|
|
21
21
|
"pl7.app/table/orderPriority": "10",
|
|
22
|
-
|
|
22
|
+
"pl7.app/table/visibility": "default"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -34,7 +34,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
34
34
|
annotations: {
|
|
35
35
|
"pl7.app/label": "KABAT positions " + featureName + " Heavy",
|
|
36
36
|
"pl7.app/table/orderPriority": "9",
|
|
37
|
-
|
|
37
|
+
"pl7.app/table/visibility": "optional"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -53,7 +53,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
53
53
|
annotations: {
|
|
54
54
|
"pl7.app/label": "KABAT sequence " + featureName + " Light",
|
|
55
55
|
"pl7.app/table/orderPriority": "8",
|
|
56
|
-
|
|
56
|
+
"pl7.app/table/visibility": "default"
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
},
|
|
@@ -68,7 +68,7 @@ getColumns := func(datasetSpec, featureName, bulkChain) {
|
|
|
68
68
|
annotations: {
|
|
69
69
|
"pl7.app/label": "KABAT positions " + featureName + " Light",
|
|
70
70
|
"pl7.app/table/orderPriority": "7",
|
|
71
|
-
|
|
71
|
+
"pl7.app/table/visibility": "optional"
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -128,3 +128,4 @@ export ll.toStrict({
|
|
|
128
128
|
getColumns: getColumns
|
|
129
129
|
})
|
|
130
130
|
|
|
131
|
+
|