@platforma-open/milaboratories.samples-and-data.workflow 2.3.0 → 2.4.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.
@@ -37,6 +37,10 @@ getSamples := func(dataset, importFile) {
37
37
  return result
38
38
  }
39
39
 
40
+ createGroupAxis := func(groupIdAxis, _) {
41
+ return copy(groupIdAxis)
42
+ }
43
+
40
44
  createDataset := func(blockId, sampleIdAxis, groupIdAxis, dataset, importFile) {
41
45
 
42
46
  extension := dataset.content.xsvType + (dataset.content.gzipped ? ".gz" : "")
@@ -64,5 +68,6 @@ createDataset := func(blockId, sampleIdAxis, groupIdAxis, dataset, importFile) {
64
68
  export {
65
69
  isGrouped: true,
66
70
  getSamples: getSamples,
71
+ createGroupAxis: createGroupAxis,
67
72
  createDataset: createDataset
68
73
  }
@@ -0,0 +1,10 @@
1
+ util := import("@platforma-open/milaboratories.samples-and-data.workflow:util")
2
+
3
+ createDataset := func(blockId, sampleIdAxis, dataset, importFile) {
4
+ return util.createFileDataset(blockId, sampleIdAxis, dataset, importFile, "h5")
5
+ }
6
+
7
+ export {
8
+ isGrouped: false,
9
+ createDataset: createDataset
10
+ }
@@ -1,34 +1,10 @@
1
-
2
- ll := import("@platforma-sdk/workflow-tengo:ll")
3
- pColumn := import("@platforma-sdk/workflow-tengo:pframes.pcolumn")
4
-
5
1
  util := import("@platforma-open/milaboratories.samples-and-data.workflow:util")
6
2
 
7
3
  createDataset := func(blockId, sampleIdAxis, dataset, importFile) {
8
- extension := "h5ad"
9
-
10
- spec := util.datasetColumnSpecBase(blockId, dataset, extension)
11
- spec.axesSpec = [sampleIdAxis]
12
-
13
- data := pColumn.resourceMapBuilder(1)
14
- for sampleId, importHandle in dataset.content.data {
15
- if !importHandle {
16
- ll.panic("File handle not set for sample %v", sampleId)
17
- }
18
- data.add([sampleId], importFile(importHandle))
19
- }
20
-
21
- result := {}
22
- result["dataset." + dataset.id] = {
23
- spec: spec,
24
- data: data.build()
25
- }
26
-
27
- return result
4
+ return util.createFileDataset(blockId, sampleIdAxis, dataset, importFile, "h5ad")
28
5
  }
29
6
 
30
7
  export {
31
8
  isGrouped: false,
32
9
  createDataset: createDataset
33
10
  }
34
-
@@ -5,6 +5,10 @@ json := import("json")
5
5
  smart := import("@platforma-sdk/workflow-tengo:smart")
6
6
  util := import("@platforma-open/milaboratories.samples-and-data.workflow:util")
7
7
 
8
+ createGroupAxis := func(groupIdAxis, _) {
9
+ return copy(groupIdAxis)
10
+ }
11
+
8
12
  createDataset := func(blockId, sampleIdAxis, groupIdAxis, dataset, importFile) {
9
13
  extension := dataset.content.gzipped ? "fastq.gz" : "fastq"
10
14
 
@@ -50,6 +54,7 @@ getSamples := func(dataset, importFile) {
50
54
 
51
55
  export {
52
56
  isGrouped: true,
57
+ createGroupAxis: createGroupAxis,
53
58
  createDataset: createDataset,
54
59
  getSamples: getSamples
55
60
  }
@@ -18,10 +18,7 @@ getColumns := func(fImport, importFile) {
18
18
 
19
19
  getSamples := func(dataset, importFile) {
20
20
  result := {}
21
- sampleColumnName := dataset.content.sampleColumnName
22
- if !sampleColumnName {
23
- sampleColumnName = "sample"
24
- }
21
+ sampleColumnName := util.getSampleColumnName(dataset)
25
22
  for groupId, importHandle in dataset.content.data {
26
23
  if !importHandle {
27
24
  ll.panic("File handle not set for group %v", groupId)
@@ -36,6 +33,13 @@ getSamples := func(dataset, importFile) {
36
33
  return result
37
34
  }
38
35
 
36
+ createGroupAxis := func(groupIdAxis, dataset) {
37
+ sampleColumnName := util.getSampleColumnName(dataset)
38
+ result := copy(groupIdAxis)
39
+ result.annotations["pl7.app/sampleColumnName"] = sampleColumnName
40
+ return result
41
+ }
42
+
39
43
  createDataset := func(blockId, sampleIdAxis, groupIdAxis, dataset, importFile) {
40
44
 
41
45
  extension := "h5ad"
@@ -64,6 +68,7 @@ export {
64
68
  isGrouped: true,
65
69
  getColumns: getColumns,
66
70
  getSamples: getSamples,
71
+ createGroupAxis: createGroupAxis,
67
72
  createDataset: createDataset
68
73
  }
69
74
 
@@ -18,10 +18,7 @@ getColumns := func(fImport, importFile) {
18
18
 
19
19
  getSamples := func(dataset, importFile) {
20
20
  result := {}
21
- sampleColumnName := dataset.content.sampleColumnName
22
- if !sampleColumnName {
23
- sampleColumnName = "sample"
24
- }
21
+ sampleColumnName := util.getSampleColumnName(dataset)
25
22
  for groupId, importHandle in dataset.content.data {
26
23
  if !importHandle {
27
24
  ll.panic("File handle not set for group %v", groupId)
@@ -36,6 +33,13 @@ getSamples := func(dataset, importFile) {
36
33
  return result
37
34
  }
38
35
 
36
+ createGroupAxis := func(groupIdAxis, dataset) {
37
+ sampleColumnName := util.getSampleColumnName(dataset)
38
+ result := copy(groupIdAxis)
39
+ result.annotations["pl7.app/sampleColumnName"] = sampleColumnName
40
+ return result
41
+ }
42
+
39
43
  createDataset := func(blockId, sampleIdAxis, groupIdAxis, dataset, importFile) {
40
44
 
41
45
  extension := "rds"
@@ -64,6 +68,7 @@ export {
64
68
  isGrouped: true,
65
69
  getColumns: getColumns,
66
70
  getSamples: getSamples,
71
+ createGroupAxis: createGroupAxis,
67
72
  createDataset: createDataset
68
73
  }
69
74
 
@@ -1,34 +1,10 @@
1
-
2
- ll := import("@platforma-sdk/workflow-tengo:ll")
3
- pColumn := import("@platforma-sdk/workflow-tengo:pframes.pcolumn")
4
-
5
1
  util := import("@platforma-open/milaboratories.samples-and-data.workflow:util")
6
2
 
3
+ createDataset := func(blockId, sampleIdAxis, dataset, importFile) {
4
+ return util.createFileDataset(blockId, sampleIdAxis, dataset, importFile, "rds")
5
+ }
6
+
7
7
  export {
8
8
  isGrouped: false,
9
-
10
- createDataset: func(blockId, sampleIdAxis, dataset, importFile) {
11
- extension := "rds"
12
-
13
- spec := util.datasetColumnSpecBase(blockId, dataset, extension)
14
- spec.axesSpec = [sampleIdAxis]
15
-
16
- data := pColumn.resourceMapBuilder(1)
17
- for sampleId, importHandle in dataset.content.data {
18
- if !importHandle {
19
- ll.panic("File handle not set for sample %v", sampleId)
20
- }
21
- data.add([sampleId], importFile(importHandle))
22
- }
23
-
24
- result := {}
25
- result["dataset." + dataset.id] = {
26
- spec: spec,
27
- data: data.build()
28
- }
29
-
30
- return result
31
- }
9
+ createDataset: createDataset
32
10
  }
33
-
34
-
@@ -2,6 +2,8 @@ json := import("json")
2
2
  maps := import("@platforma-sdk/workflow-tengo:maps")
3
3
  smart := import("@platforma-sdk/workflow-tengo:smart")
4
4
  consts := import("@platforma-sdk/workflow-tengo:pframes.constants")
5
+ ll := import("@platforma-sdk/workflow-tengo:ll")
6
+ pColumn := import("@platforma-sdk/workflow-tengo:pframes.pcolumn")
5
7
 
6
8
  RTYPE_P_COLUMN_DATA_JSON := consts.RTYPE_P_COLUMN_DATA_JSON
7
9
 
@@ -72,9 +74,39 @@ sampleGroupsLinkerColumn := func(blockId, dataset, sampleIdAxis, groupIdAxis) {
72
74
  }
73
75
  }
74
76
 
77
+ getSampleColumnName := func(dataset) {
78
+ sampleColumnName := dataset.content.sampleColumnName
79
+ if !sampleColumnName {
80
+ return "sample"
81
+ }
82
+ return sampleColumnName
83
+ }
84
+
85
+ createFileDataset := func(blockId, sampleIdAxis, dataset, importFile, extension) {
86
+ spec := datasetColumnSpecBase(blockId, dataset, extension)
87
+ spec.axesSpec = [sampleIdAxis]
88
+
89
+ data := pColumn.resourceMapBuilder(1)
90
+ for sampleId, importHandle in dataset.content.data {
91
+ if !importHandle {
92
+ ll.panic("File handle not set for sample %v", sampleId)
93
+ }
94
+ data.add([sampleId], importFile(importHandle))
95
+ }
96
+
97
+ result := {}
98
+ result["dataset." + dataset.id] = {
99
+ spec: spec,
100
+ data: data.build()
101
+ }
102
+
103
+ return result
104
+ }
75
105
 
76
106
  export {
77
107
  createJsonPColumnData: createJsonPColumnData,
78
108
  datasetColumnSpecBase: datasetColumnSpecBase,
79
- sampleGroupsLinkerColumn: sampleGroupsLinkerColumn
109
+ sampleGroupsLinkerColumn: sampleGroupsLinkerColumn,
110
+ getSampleColumnName: getSampleColumnName,
111
+ createFileDataset: createFileDataset
80
112
  }
Binary file
Binary file
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.samples-and-data.workflow",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "./dist/**/*"
7
7
  ],
8
8
  "description": "Tengo-based template",
9
9
  "dependencies": {
10
- "@platforma-sdk/workflow-tengo": "5.6.1",
10
+ "@platforma-sdk/workflow-tengo": "5.6.3",
11
11
  "@platforma-open/milaboratories.samples-and-data.parse-h5ad": "1.1.1",
12
12
  "@platforma-open/milaboratories.samples-and-data.parse-seurat": "1.1.0"
13
13
  },
14
14
  "devDependencies": {
15
- "@platforma-sdk/tengo-builder": "2.3.10"
15
+ "@platforma-sdk/tengo-builder": "2.3.13"
16
16
  },
17
17
  "scripts": {
18
18
  "build": "rm -rf dist/* && pl-tengo check && pl-tengo build",