@platforma-open/milaboratories.top-antibodies.workflow 1.17.2 → 1.17.3

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.
@@ -1,7 +1,7 @@
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.17.2 build /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow
4
- > rm -rf dist && pl-tengo check && pl-tengo build
3
+ > @platforma-open/milaboratories.top-antibodies.workflow@1.17.3 build /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow
4
+ > shx rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  Processing "src/assembling-fasta.tpl.tengo"...
7
7
  Processing "src/filter-and-sample.tpl.tengo"...
@@ -10,6 +10,7 @@ Processing "src/pf-kabat-conv.lib.tengo"...
10
10
  Processing "src/pf-spectratype-conv.lib.tengo"...
11
11
  Processing "src/pf-vj-usage-conv.lib.tengo"...
12
12
  Processing "src/sampled-cols-conv.lib.tengo"...
13
+ Processing "src/sampled-export-conv.lib.tengo"...
13
14
  Processing "src/utils.lib.tengo"...
14
15
  No syntax errors found.
15
16
  info: Compiling 'dist'...
@@ -17,6 +18,7 @@ No syntax errors found.
17
18
  info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/pf-spectratype-conv.lib.tengo
18
19
  info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/pf-vj-usage-conv.lib.tengo
19
20
  info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/sampled-cols-conv.lib.tengo
21
+ info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/sampled-export-conv.lib.tengo
20
22
  info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/lib/utils.lib.tengo
21
23
  info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/tpl/assembling-fasta.plj.gz
22
24
  info: - writing /home/runner/work/antibody-tcr-lead-selection/antibody-tcr-lead-selection/workflow/dist/tengo/tpl/filter-and-sample.plj.gz
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @platforma-open/milaboratories.top-antibodies.workflow
2
2
 
3
+ ## 1.17.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 535be8f: Exporte selected Leads
8
+
3
9
  ## 1.17.2
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,34 @@
1
+ ll := import("@platforma-sdk/workflow-tengo:ll")
2
+
3
+ getColumns := func(datasetSpec) {
4
+ columns := [{
5
+ column: "top",
6
+ id: "link",
7
+ allowNA: false,
8
+ spec: {
9
+ name: "pl7.app/vdj/lead-selection",
10
+ valueType: "Int",
11
+ domain: {},
12
+ annotations: {
13
+ "pl7.app/label": "Selected Leads",
14
+ "pl7.app/table/visibility": "hidden",
15
+ "pl7.app/isSubset": "true"
16
+ }
17
+ }
18
+ }]
19
+
20
+ return {
21
+ axes: [
22
+ {
23
+ column: "clonotypeKey",
24
+ spec: datasetSpec.axesSpec[1]
25
+ }],
26
+ columns: columns,
27
+ storageFormat: "Parquet",
28
+ partitionKeyLength: 0
29
+ }
30
+ }
31
+
32
+ export ll.toStrict({
33
+ getColumns: getColumns
34
+ })
Binary file
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.top-antibodies.workflow",
3
- "version": "1.17.2",
3
+ "version": "1.17.3",
4
4
  "type": "module",
5
5
  "description": "Block Workflow",
6
6
  "dependencies": {
7
- "@platforma-sdk/workflow-tengo": "5.7.3",
7
+ "@platforma-sdk/workflow-tengo": "5.8.1",
8
8
  "@platforma-open/milaboratories.software-anarci": "^0.0.3",
9
9
  "@platforma-open/milaboratories.top-antibodies.sample-clonotypes": "1.9.2",
10
10
  "@platforma-open/milaboratories.top-antibodies.spectratype": "1.8.1",
@@ -13,11 +13,11 @@
13
13
  "@platforma-open/milaboratories.top-antibodies.assembling-fasta": "1.3.0"
14
14
  },
15
15
  "devDependencies": {
16
- "@platforma-sdk/tengo-builder": "2.4.8"
16
+ "@platforma-sdk/tengo-builder": "2.4.13"
17
17
  },
18
18
  "scripts": {
19
- "build": "rm -rf dist && pl-tengo check && pl-tengo build",
19
+ "build": "shx rm -rf dist && pl-tengo check && pl-tengo build",
20
20
  "format": "/usr/bin/env emacs --script ./format.el",
21
- "do-pack": "rm -f *.tgz && pnpm pack && mv *.tgz package.tgz"
21
+ "do-pack": "shx rm -f *.tgz && pnpm pack && shx mv *.tgz package.tgz"
22
22
  }
23
23
  }
@@ -6,9 +6,10 @@ pframes := import("@platforma-sdk/workflow-tengo:pframes")
6
6
  xsv := import("@platforma-sdk/workflow-tengo:pframes.xsv")
7
7
  render := import("@platforma-sdk/workflow-tengo:render")
8
8
  sampledColsConv := import(":sampled-cols-conv")
9
+ sampledExportConv := import(":sampled-export-conv")
9
10
  json := import("json")
10
11
 
11
- self.defineOutputs("sampledRows", "finalClonotypes")
12
+ self.defineOutputs("sampledRows", "finalClonotypes", "sampledColumnsExport")
12
13
 
13
14
  self.body(func(inputs) {
14
15
 
@@ -87,5 +88,11 @@ self.body(func(inputs) {
87
88
 
88
89
  outputs["finalClonotypes"] = finalClonotypes
89
90
 
91
+ // Export only the sampling column to be used as a filter downstream
92
+ sampledExportsParams := sampledExportConv.getColumns(datasetSpec)
93
+ sampledColumnsOnlyPf := xsv.importFile(finalClonotypes, "parquet", sampledExportsParams,
94
+ {cpu: 1, mem: "16GiB"})
95
+ outputs["sampledColumnsExport"] = sampledColumnsOnlyPf
96
+
90
97
  return outputs
91
98
  })
@@ -110,6 +110,7 @@ wf.prepare(func(args){
110
110
  wf.body(func(args) {
111
111
  // output containers
112
112
  outputs := {}
113
+ exports := {}
113
114
 
114
115
  if !is_undefined(args.inputAnchor) {
115
116
  // Input arguments
@@ -154,7 +155,10 @@ wf.body(func(args) {
154
155
 
155
156
  // Get the filtered and sampled clonotypes P-frame from the template result
156
157
  finalClonotypes := filterSampleResult.output("finalClonotypes", 24 * 60 * 60 * 1000)
157
-
158
+
159
+ // Export only the sampling column for downstream (built inside sub-template to avoid hang)
160
+ exports["sampledColumnsPf"] = filterSampleResult.output("sampledColumnsExport", 24 * 60 * 60 * 1000)
161
+
158
162
  ////////// CDR3 Length Calculation //////////
159
163
  // Initialize and build CDR3 sequence table
160
164
  cdr3SeqTableBuilt := utils.initializeCdr3SeqTable(pframes, columns, datasetSpec, isSingleCell)
@@ -230,6 +234,6 @@ wf.body(func(args) {
230
234
 
231
235
  return {
232
236
  outputs: outputs,
233
- exports: {}
237
+ exports: exports
234
238
  }
235
239
  })
@@ -0,0 +1,34 @@
1
+ ll := import("@platforma-sdk/workflow-tengo:ll")
2
+
3
+ getColumns := func(datasetSpec) {
4
+ columns := [{
5
+ column: "top",
6
+ id: "link",
7
+ allowNA: false,
8
+ spec: {
9
+ name: "pl7.app/vdj/lead-selection",
10
+ valueType: "Int",
11
+ domain: {},
12
+ annotations: {
13
+ "pl7.app/label": "Selected Leads",
14
+ "pl7.app/table/visibility": "hidden",
15
+ "pl7.app/isSubset": "true"
16
+ }
17
+ }
18
+ }]
19
+
20
+ return {
21
+ axes: [
22
+ {
23
+ column: "clonotypeKey",
24
+ spec: datasetSpec.axesSpec[1]
25
+ }],
26
+ columns: columns,
27
+ storageFormat: "Parquet",
28
+ partitionKeyLength: 0
29
+ }
30
+ }
31
+
32
+ export ll.toStrict({
33
+ getColumns: getColumns
34
+ })