@platforma-open/milaboratories.top-antibodies.workflow 1.3.0 → 1.3.1

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,21 +1,17 @@
1
1
   WARN  Issue while reading "/home/runner/work/top-antibodies/top-antibodies/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.top-antibodies.workflow@1.3.0 build /home/runner/work/top-antibodies/top-antibodies/workflow
3
+ > @platforma-open/milaboratories.top-antibodies.workflow@1.3.1 build /home/runner/work/top-antibodies/top-antibodies/workflow
4
4
  > rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  Processing "src/main.tpl.tengo"...
7
7
  Processing "src/pf-spectratype-conv.lib.tengo"...
8
- Processing "src/pf-umap-conv.lib.tengo"...
9
8
  Processing "src/pf-vj-usage-conv.lib.tengo"...
10
9
  Processing "src/sampled-cols-conv.lib.tengo"...
11
- Processing "src/sampled-cols-umap-conv.lib.tengo"...
12
10
  No syntax errors found.
13
11
  info: Compiling 'dist'...
14
12
  info: - writing /home/runner/work/top-antibodies/top-antibodies/workflow/dist/tengo/lib/pf-spectratype-conv.lib.tengo
15
- info: - writing /home/runner/work/top-antibodies/top-antibodies/workflow/dist/tengo/lib/pf-umap-conv.lib.tengo
16
13
  info: - writing /home/runner/work/top-antibodies/top-antibodies/workflow/dist/tengo/lib/pf-vj-usage-conv.lib.tengo
17
14
  info: - writing /home/runner/work/top-antibodies/top-antibodies/workflow/dist/tengo/lib/sampled-cols-conv.lib.tengo
18
- info: - writing /home/runner/work/top-antibodies/top-antibodies/workflow/dist/tengo/lib/sampled-cols-umap-conv.lib.tengo
19
15
  info: - writing /home/runner/work/top-antibodies/top-antibodies/workflow/dist/tengo/tpl/main.plj.gz
20
16
  info: Template Pack build done.
21
17
  info: Template Pack build done.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @platforma-open/milaboratories.top-antibodies.workflow
2
2
 
3
+ ## 1.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [b280c5c]
8
+ - @platforma-open/milaboratories.top-antibodies.sample-clonotypes@1.0.2
9
+ - @platforma-open/milaboratories.top-antibodies.spectratype@1.3.1
10
+ - @platforma-open/milaboratories.top-antibodies.umap@1.0.2
11
+
3
12
  ## 1.3.0
4
13
 
5
14
  ### Minor Changes
@@ -2,55 +2,55 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
 
3
3
  getColumns := func() {
4
4
  return {
5
- "axes": [
5
+ axes: [
6
6
  {
7
- "column": "chain",
8
- "spec": {
9
- "name": "pl7.app/vdj/chain",
10
- "type": "String",
11
- "annotations": { "pl7.app/label": "CDR3 chain" }
7
+ column: "chain",
8
+ spec: {
9
+ name: "pl7.app/vdj/chain",
10
+ type: "String",
11
+ annotations: { "pl7.app/label": "CDR3 chain" }
12
12
  }
13
13
  },
14
14
  {
15
- "column": "cdr3Length",
16
- "spec": {
17
- "name": "pl7.app/vdj/sequenceLength",
18
- "type": "Int",
19
- "domain": {
15
+ column: "cdr3Length",
16
+ spec: {
17
+ name: "pl7.app/vdj/sequenceLength",
18
+ type: "Int",
19
+ domain: {
20
20
  "pl7.app/vdj/feature": "CDR3",
21
21
  "pl7.app/alphabet": "aminoacid"
22
22
  },
23
- "annotations": { "pl7.app/label": "CDR3 aa Length" }
23
+ annotations: { "pl7.app/label": "CDR3 aa Length" }
24
24
  }
25
25
  },
26
26
  {
27
- "column": "vGene",
28
- "spec": {
29
- "name": "pl7.app/vdj/geneHit",
30
- "type": "String",
31
- "domain": { "pl7.app/vdj/reference": "VGene" },
32
- "annotations": {
27
+ column: "vGene",
28
+ spec: {
29
+ name: "pl7.app/vdj/geneHit",
30
+ type: "String",
31
+ domain: { "pl7.app/vdj/reference": "VGene" },
32
+ annotations: {
33
33
  "pl7.app/label": "Best V gene"
34
34
  }
35
35
  }
36
36
  }
37
37
  ],
38
- "columns": [
38
+ columns: [
39
39
  {
40
- "column": "count",
41
- "spec": {
42
- "name": "pl7.app/vdj/vSpectratype",
43
- "valueType": "Int",
44
- "domain": {
40
+ column: "count",
41
+ spec: {
42
+ name: "pl7.app/vdj/vSpectratype",
43
+ valueType: "Int",
44
+ domain: {
45
45
  "pl7.app/vdj/feature": "CDR3",
46
46
  "pl7.app/alphabet": "aminoacid"
47
47
  },
48
- "annotations": { "pl7.app/label": "CDR3 V Spectratype" }
48
+ annotations: { "pl7.app/label": "CDR3 V Spectratype" }
49
49
  }
50
50
  }
51
51
  ],
52
- "storageFormat": "Binary",
53
- "partitionKeyLength": 0
52
+ storageFormat: "Binary",
53
+ partitionKeyLength: 0
54
54
  }
55
55
  }
56
56
 
@@ -2,50 +2,50 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
 
3
3
  getColumns := func() {
4
4
  return {
5
- "axes": [
5
+ axes: [
6
6
  {
7
- "column": "chain",
8
- "spec": {
9
- "name": "pl7.app/vdj/chain",
10
- "type": "String",
11
- "annotations": { "pl7.app/label": "CDR3 chain" }
7
+ column: "chain",
8
+ spec: {
9
+ name: "pl7.app/vdj/chain",
10
+ type: "String",
11
+ annotations: { "pl7.app/label": "CDR3 chain" }
12
12
  }
13
13
  },
14
14
  {
15
- "column": "vGene",
16
- "spec": {
17
- "name": "pl7.app/vdj/geneHit",
18
- "type": "String",
19
- "domain": { "pl7.app/vdj/reference": "VGene" },
20
- "annotations": {
15
+ column: "vGene",
16
+ spec: {
17
+ name: "pl7.app/vdj/geneHit",
18
+ type: "String",
19
+ domain: { "pl7.app/vdj/reference": "VGene" },
20
+ annotations: {
21
21
  "pl7.app/label": "Best V gene"
22
22
  }
23
23
  }
24
24
  },
25
25
  {
26
- "column": "jGene",
27
- "spec": {
28
- "name": "pl7.app/vdj/geneHit",
29
- "type": "String",
30
- "domain": { "pl7.app/vdj/reference": "JGene" },
31
- "annotations": {
26
+ column: "jGene",
27
+ spec: {
28
+ name: "pl7.app/vdj/geneHit",
29
+ type: "String",
30
+ domain: { "pl7.app/vdj/reference": "JGene" },
31
+ annotations: {
32
32
  "pl7.app/label": "Best J gene"
33
33
  }
34
34
  }
35
35
  }
36
36
  ],
37
- "columns": [
37
+ columns: [
38
38
  {
39
- "column": "count",
40
- "spec": {
41
- "name": "pl7.app/vdj/vjGeneUsage",
42
- "valueType": "Int",
43
- "annotations": { "pl7.app/label": "V/J usage" }
39
+ column: "count",
40
+ spec: {
41
+ name: "pl7.app/vdj/vjGeneUsage",
42
+ valueType: "Int",
43
+ annotations: { "pl7.app/label": "V/J usage" }
44
44
  }
45
45
  }
46
46
  ],
47
- "storageFormat": "Binary",
48
- "partitionKeyLength": 0
47
+ storageFormat: "Binary",
48
+ partitionKeyLength: 0
49
49
  }
50
50
  }
51
51
 
@@ -1,42 +1,31 @@
1
1
  ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
 
3
- getColumns := func(datasetSpec, linkerAxisSpec) {
4
- axes := [
5
- {
6
- "column": "clonotypeKey",
7
- "spec": datasetSpec.axesSpec[1]
8
- }]
9
-
10
- if len(linkerAxisSpec) > 0 {
11
- for key, val in linkerAxisSpec {
12
- axes = axes + [
13
- {
14
- "column": key,
15
- "spec": val
16
- }]
17
- }
18
-
19
- }
3
+ getColumns := func(datasetSpec) {
20
4
  return {
21
- "axes": axes,
22
- "columns": [
5
+ axes: [
6
+ {
7
+ column: "clonotypeKey",
8
+ spec: datasetSpec.axesSpec[1]
9
+ }],
10
+ columns: [
23
11
  {
24
- "column": "top",
25
- "id": "link",
26
- "allowNA": false,
27
- "spec": {
28
- "name": "pl7.app/vdj/sampling-column",
29
- "valueType": "Int",
30
- "domain": {},
31
- "annotations": {
12
+ column: "top",
13
+ id: "link",
14
+ allowNA: false,
15
+ spec: {
16
+ name: "pl7.app/vdj/sampling-column",
17
+ valueType: "Int",
18
+ domain: {},
19
+ annotations: {
32
20
  "pl7.app/label": "Sampling column",
33
- "pl7.app/table/visibility": "optional"
21
+ "pl7.app/table/visibility": "optional",
22
+ "pl7.app/isSubset": "true"
34
23
  }
35
24
  }
36
25
  }
37
26
  ],
38
- "storageFormat": "Binary",
39
- "partitionKeyLength": 0
27
+ storageFormat: "Binary",
28
+ partitionKeyLength: 0
40
29
  }
41
30
  }
42
31
 
Binary file
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.top-antibodies.workflow",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "description": "Block Workflow",
6
6
  "dependencies": {
7
- "@platforma-sdk/workflow-tengo": "^4.6.1",
8
- "@platforma-open/milaboratories.top-antibodies.spectratype": "1.3.0",
9
- "@platforma-open/milaboratories.top-antibodies.sample-clonotypes": "1.0.1",
10
- "@platforma-open/milaboratories.top-antibodies.umap": "1.0.1"
7
+ "@platforma-sdk/workflow-tengo": "^4.6.2",
8
+ "@platforma-open/milaboratories.top-antibodies.sample-clonotypes": "1.0.2",
9
+ "@platforma-open/milaboratories.top-antibodies.umap": "1.0.2",
10
+ "@platforma-open/milaboratories.top-antibodies.spectratype": "1.3.1"
11
11
  },
12
12
  "devDependencies": {
13
13
  "@platforma-sdk/tengo-builder": "^2.1.5",
14
- "@platforma-sdk/test": "^1.31.16",
14
+ "@platforma-sdk/test": "^1.31.18",
15
15
  "vitest": "^2.1.8"
16
16
  },
17
17
  "scripts": {
@@ -5,11 +5,9 @@ assets:= import("@platforma-sdk/workflow-tengo:assets")
5
5
  xsv := import("@platforma-sdk/workflow-tengo:pframes.xsv")
6
6
  pframes := import("@platforma-sdk/workflow-tengo:pframes")
7
7
  sampledColsConv := import(":sampled-cols-conv")
8
- sampledColsUmapConv := import(":sampled-cols-umap-conv")
9
8
  spectratypeConv := import(":pf-spectratype-conv")
10
9
  vjUsageConv := import(":pf-vj-usage-conv")
11
10
  slices := import("@platforma-sdk/workflow-tengo:slices")
12
- umapConv := import(":pf-umap-conv")
13
11
 
14
12
  wf.prepare(func(args){
15
13
  // We need a table with cluster ID (optional) | clonotype id | selected ranking columns
@@ -145,47 +143,10 @@ wf.body(func(args) {
145
143
  topClonotypesCsv = sampleClones.getFile("sampledClonotypes_top.csv")
146
144
 
147
145
  // Store outputs
148
- sampledColsParams := sampledColsConv.getColumns(datasetSpec, linkerAxisSpec)
146
+ sampledColsParams := sampledColsConv.getColumns(datasetSpec)
149
147
  sampledColumnsPf := xsv.importFile(topClonotypesCsv, "csv", sampledColsParams)
150
148
  outputs["sampledRows"] = pframes.exportFrame(sampledColumnsPf)
151
-
152
- // Prepare filter col subset for UMAP
153
- // Avoid taking cluster axis using other params
154
- sampledColsUmapParams := sampledColsUmapConv.getColumns(datasetSpec)
155
- sampledColsUmapPf := xsv.importFile(topClonotypesCsv, "csv", sampledColsUmapParams)
156
- outputs["sampledRowsUmap"] = pframes.exportFrame(sampledColsUmapPf)
157
- }
158
-
159
- ////////// UMAP //////////
160
- // Generate input TSV with Clonotype ID and aa sequence
161
- umapTable := pframes.tsvFileBuilder()
162
- umapTable.setAxisHeader(datasetSpec.axesSpec[1].name, "clonotypeKey")
163
- for col in columns.getColumns("aaSequence") {
164
- if isSingleCell {
165
- chainLabel := col.spec.domain["pl7.app/vdj/scClonotypeChain"]
166
- umapTable.add(col, {header: "aaSequence." + chainLabel})
167
- } else {
168
- chainLabel := col.spec.axesSpec[0].domain["pl7.app/vdj/chain"]
169
- umapTable.add(col, {header: "aaSequence." + chainLabel})
170
- }
171
149
  }
172
- umapTable = umapTable.build()
173
-
174
- // UMAP script should go here
175
- umapClones := exec.builder().
176
- software(assets.importSoftware("@platforma-open/milaboratories.top-antibodies.umap:main")).
177
- addFile("sequences.tsv", umapTable).
178
- arg("-i").arg("sequences.tsv").
179
- arg("-u").arg("umap.tsv").
180
- saveFile("umap.tsv").
181
- printErrStreamToStdout().
182
- saveStdoutContent().
183
- cache(24 * 60 * 60 * 1000).
184
- run()
185
-
186
-
187
- umapPf := xsv.importFile(umapClones.getFile("umap.tsv"), "tsv", umapConv.getColumns(datasetSpec))
188
- outputs["umap"] = pframes.exportFrame(umapPf)
189
150
 
190
151
  ////////// CDR3 Length Calculation //////////
191
152
 
@@ -2,55 +2,55 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
 
3
3
  getColumns := func() {
4
4
  return {
5
- "axes": [
5
+ axes: [
6
6
  {
7
- "column": "chain",
8
- "spec": {
9
- "name": "pl7.app/vdj/chain",
10
- "type": "String",
11
- "annotations": { "pl7.app/label": "CDR3 chain" }
7
+ column: "chain",
8
+ spec: {
9
+ name: "pl7.app/vdj/chain",
10
+ type: "String",
11
+ annotations: { "pl7.app/label": "CDR3 chain" }
12
12
  }
13
13
  },
14
14
  {
15
- "column": "cdr3Length",
16
- "spec": {
17
- "name": "pl7.app/vdj/sequenceLength",
18
- "type": "Int",
19
- "domain": {
15
+ column: "cdr3Length",
16
+ spec: {
17
+ name: "pl7.app/vdj/sequenceLength",
18
+ type: "Int",
19
+ domain: {
20
20
  "pl7.app/vdj/feature": "CDR3",
21
21
  "pl7.app/alphabet": "aminoacid"
22
22
  },
23
- "annotations": { "pl7.app/label": "CDR3 aa Length" }
23
+ annotations: { "pl7.app/label": "CDR3 aa Length" }
24
24
  }
25
25
  },
26
26
  {
27
- "column": "vGene",
28
- "spec": {
29
- "name": "pl7.app/vdj/geneHit",
30
- "type": "String",
31
- "domain": { "pl7.app/vdj/reference": "VGene" },
32
- "annotations": {
27
+ column: "vGene",
28
+ spec: {
29
+ name: "pl7.app/vdj/geneHit",
30
+ type: "String",
31
+ domain: { "pl7.app/vdj/reference": "VGene" },
32
+ annotations: {
33
33
  "pl7.app/label": "Best V gene"
34
34
  }
35
35
  }
36
36
  }
37
37
  ],
38
- "columns": [
38
+ columns: [
39
39
  {
40
- "column": "count",
41
- "spec": {
42
- "name": "pl7.app/vdj/vSpectratype",
43
- "valueType": "Int",
44
- "domain": {
40
+ column: "count",
41
+ spec: {
42
+ name: "pl7.app/vdj/vSpectratype",
43
+ valueType: "Int",
44
+ domain: {
45
45
  "pl7.app/vdj/feature": "CDR3",
46
46
  "pl7.app/alphabet": "aminoacid"
47
47
  },
48
- "annotations": { "pl7.app/label": "CDR3 V Spectratype" }
48
+ annotations: { "pl7.app/label": "CDR3 V Spectratype" }
49
49
  }
50
50
  }
51
51
  ],
52
- "storageFormat": "Binary",
53
- "partitionKeyLength": 0
52
+ storageFormat: "Binary",
53
+ partitionKeyLength: 0
54
54
  }
55
55
  }
56
56
 
@@ -2,50 +2,50 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
 
3
3
  getColumns := func() {
4
4
  return {
5
- "axes": [
5
+ axes: [
6
6
  {
7
- "column": "chain",
8
- "spec": {
9
- "name": "pl7.app/vdj/chain",
10
- "type": "String",
11
- "annotations": { "pl7.app/label": "CDR3 chain" }
7
+ column: "chain",
8
+ spec: {
9
+ name: "pl7.app/vdj/chain",
10
+ type: "String",
11
+ annotations: { "pl7.app/label": "CDR3 chain" }
12
12
  }
13
13
  },
14
14
  {
15
- "column": "vGene",
16
- "spec": {
17
- "name": "pl7.app/vdj/geneHit",
18
- "type": "String",
19
- "domain": { "pl7.app/vdj/reference": "VGene" },
20
- "annotations": {
15
+ column: "vGene",
16
+ spec: {
17
+ name: "pl7.app/vdj/geneHit",
18
+ type: "String",
19
+ domain: { "pl7.app/vdj/reference": "VGene" },
20
+ annotations: {
21
21
  "pl7.app/label": "Best V gene"
22
22
  }
23
23
  }
24
24
  },
25
25
  {
26
- "column": "jGene",
27
- "spec": {
28
- "name": "pl7.app/vdj/geneHit",
29
- "type": "String",
30
- "domain": { "pl7.app/vdj/reference": "JGene" },
31
- "annotations": {
26
+ column: "jGene",
27
+ spec: {
28
+ name: "pl7.app/vdj/geneHit",
29
+ type: "String",
30
+ domain: { "pl7.app/vdj/reference": "JGene" },
31
+ annotations: {
32
32
  "pl7.app/label": "Best J gene"
33
33
  }
34
34
  }
35
35
  }
36
36
  ],
37
- "columns": [
37
+ columns: [
38
38
  {
39
- "column": "count",
40
- "spec": {
41
- "name": "pl7.app/vdj/vjGeneUsage",
42
- "valueType": "Int",
43
- "annotations": { "pl7.app/label": "V/J usage" }
39
+ column: "count",
40
+ spec: {
41
+ name: "pl7.app/vdj/vjGeneUsage",
42
+ valueType: "Int",
43
+ annotations: { "pl7.app/label": "V/J usage" }
44
44
  }
45
45
  }
46
46
  ],
47
- "storageFormat": "Binary",
48
- "partitionKeyLength": 0
47
+ storageFormat: "Binary",
48
+ partitionKeyLength: 0
49
49
  }
50
50
  }
51
51
 
@@ -1,42 +1,31 @@
1
1
  ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
 
3
- getColumns := func(datasetSpec, linkerAxisSpec) {
4
- axes := [
5
- {
6
- "column": "clonotypeKey",
7
- "spec": datasetSpec.axesSpec[1]
8
- }]
9
-
10
- if len(linkerAxisSpec) > 0 {
11
- for key, val in linkerAxisSpec {
12
- axes = axes + [
13
- {
14
- "column": key,
15
- "spec": val
16
- }]
17
- }
18
-
19
- }
3
+ getColumns := func(datasetSpec) {
20
4
  return {
21
- "axes": axes,
22
- "columns": [
5
+ axes: [
6
+ {
7
+ column: "clonotypeKey",
8
+ spec: datasetSpec.axesSpec[1]
9
+ }],
10
+ columns: [
23
11
  {
24
- "column": "top",
25
- "id": "link",
26
- "allowNA": false,
27
- "spec": {
28
- "name": "pl7.app/vdj/sampling-column",
29
- "valueType": "Int",
30
- "domain": {},
31
- "annotations": {
12
+ column: "top",
13
+ id: "link",
14
+ allowNA: false,
15
+ spec: {
16
+ name: "pl7.app/vdj/sampling-column",
17
+ valueType: "Int",
18
+ domain: {},
19
+ annotations: {
32
20
  "pl7.app/label": "Sampling column",
33
- "pl7.app/table/visibility": "optional"
21
+ "pl7.app/table/visibility": "optional",
22
+ "pl7.app/isSubset": "true"
34
23
  }
35
24
  }
36
25
  }
37
26
  ],
38
- "storageFormat": "Binary",
39
- "partitionKeyLength": 0
27
+ storageFormat: "Binary",
28
+ partitionKeyLength: 0
40
29
  }
41
30
  }
42
31
 
@@ -1,43 +0,0 @@
1
- ll := import("@platforma-sdk/workflow-tengo:ll")
2
-
3
- getColumns := func(datasetSpec) {
4
- return {
5
- "axes": [
6
- {
7
- "column": "clonotypeKey",
8
- "spec": datasetSpec.axesSpec[1]
9
- }
10
- ],
11
- "columns": [
12
- {
13
- "column": "UMAP1",
14
- "id": "umap1",
15
- "allowNA": false,
16
- "spec": {
17
- "name": "pl7.app/vdj/umap1",
18
- "valueType": "Double",
19
- "annotations": {
20
- "pl7.app/label": "UMAP Dim1"
21
- }
22
- }
23
- },
24
- {
25
- "column": "UMAP2",
26
- "id": "umap2",
27
- "allowNA": false,
28
- "spec": {
29
- "name": "pl7.app/vdj/umap2",
30
- "valueType": "Double",
31
- "annotations": {
32
- "pl7.app/label": "UMAP Dim2"
33
- }
34
- }
35
- }],
36
- "storageFormat": "Binary",
37
- "partitionKeyLength": 0
38
- }
39
- }
40
-
41
- export ll.toStrict({
42
- getColumns: getColumns
43
- })
@@ -1,38 +0,0 @@
1
- ll := import("@platforma-sdk/workflow-tengo:ll")
2
-
3
-
4
-
5
- getColumns := func(datasetSpec) {
6
- axes := [
7
- {
8
- "column": "clonotypeKey",
9
- "spec": datasetSpec.axesSpec[1]
10
- }]
11
-
12
- return {
13
- "axes": axes,
14
- "columns": [
15
- {
16
- "column": "top",
17
- "id": "link2", // temporal change
18
- "allowNA": false,
19
- "spec": {
20
- "name": "pl7.app/vdj/sampling-column-umap",
21
- "valueType": "Int",
22
- "domain": {},
23
- "annotations": {
24
- "pl7.app/label": "Top clonotypes",
25
- "pl7.app/table/visibility": "optional",
26
- "pl7.app/isSubset": "true"
27
- }
28
- }
29
- }
30
- ],
31
- "storageFormat": "Binary",
32
- "partitionKeyLength": 0
33
- }
34
- }
35
-
36
- export ll.toStrict({
37
- getColumns: getColumns
38
- })
@@ -1,43 +0,0 @@
1
- ll := import("@platforma-sdk/workflow-tengo:ll")
2
-
3
- getColumns := func(datasetSpec) {
4
- return {
5
- "axes": [
6
- {
7
- "column": "clonotypeKey",
8
- "spec": datasetSpec.axesSpec[1]
9
- }
10
- ],
11
- "columns": [
12
- {
13
- "column": "UMAP1",
14
- "id": "umap1",
15
- "allowNA": false,
16
- "spec": {
17
- "name": "pl7.app/vdj/umap1",
18
- "valueType": "Double",
19
- "annotations": {
20
- "pl7.app/label": "UMAP Dim1"
21
- }
22
- }
23
- },
24
- {
25
- "column": "UMAP2",
26
- "id": "umap2",
27
- "allowNA": false,
28
- "spec": {
29
- "name": "pl7.app/vdj/umap2",
30
- "valueType": "Double",
31
- "annotations": {
32
- "pl7.app/label": "UMAP Dim2"
33
- }
34
- }
35
- }],
36
- "storageFormat": "Binary",
37
- "partitionKeyLength": 0
38
- }
39
- }
40
-
41
- export ll.toStrict({
42
- getColumns: getColumns
43
- })
@@ -1,38 +0,0 @@
1
- ll := import("@platforma-sdk/workflow-tengo:ll")
2
-
3
- // modified from sampled-cols-conv.lib.tengo
4
-
5
- getColumns := func(datasetSpec) {
6
- axes := [
7
- {
8
- "column": "clonotypeKey",
9
- "spec": datasetSpec.axesSpec[1]
10
- }]
11
-
12
- return {
13
- "axes": axes,
14
- "columns": [
15
- {
16
- "column": "top",
17
- "id": "link2", // temporal change
18
- "allowNA": false,
19
- "spec": {
20
- "name": "pl7.app/vdj/sampling-column-umap",
21
- "valueType": "Int",
22
- "domain": {},
23
- "annotations": {
24
- "pl7.app/label": "Top clonotypes",
25
- "pl7.app/table/visibility": "optional",
26
- "pl7.app/isSubset": "true"
27
- }
28
- }
29
- }
30
- ],
31
- "storageFormat": "Binary",
32
- "partitionKeyLength": 0
33
- }
34
- }
35
-
36
- export ll.toStrict({
37
- getColumns: getColumns
38
- })