@platforma-open/milaboratories.mixcr-shm-trees.workflow 3.1.0 → 3.2.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/CHANGELOG.md +6 -0
- package/dist/tengo/lib/export-settings.lib.tengo +308 -308
- package/dist/tengo/lib/soi-export.lib.tengo +14 -14
- package/dist/tengo/tpl/main.plj.gz +0 -0
- package/dist/tengo/tpl/process.plj.gz +0 -0
- package/dist/tengo/tpl/reconstruct-shm-trees.plj.gz +0 -0
- package/dist/tengo/tpl/soi.plj.gz +0 -0
- package/package.json +1 -1
- package/src/export-settings.lib.tengo +308 -308
- package/src/main.tpl.tengo +12 -12
- package/src/process.tpl.tengo +40 -40
- package/src/reconstruct-shm-trees.tpl.tengo +59 -21
- package/src/soi-export.lib.tengo +14 -14
- package/src/soi.tpl.tengo +12 -12
|
@@ -20,58 +20,58 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
20
20
|
|
|
21
21
|
cmdArgs = append(cmdArgs, "-treeId")
|
|
22
22
|
axes = append(axes, {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
column: "treeId",
|
|
24
|
+
spec: {
|
|
25
|
+
name: "pl7.app/dendrogram/treeId",
|
|
26
|
+
type: "Long",
|
|
27
|
+
domain: { },
|
|
28
|
+
annotations: {
|
|
29
29
|
"pl7.app/label": "Tree id"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
})
|
|
33
33
|
|
|
34
|
-
if dataDescription
|
|
34
|
+
if dataDescription.cellsAssembled {
|
|
35
35
|
cmdArgs = append(cmdArgs, "-subtreeId")
|
|
36
36
|
axes = append(axes, {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
column: "subtreeId",
|
|
38
|
+
spec: {
|
|
39
|
+
name: "pl7.app/dendrogram/subtreeId",
|
|
40
|
+
type: "Long",
|
|
41
|
+
domain: { },
|
|
42
|
+
annotations: {
|
|
43
43
|
"pl7.app/label": "Subtree id"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
})
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
if dataDescription
|
|
49
|
+
if dataDescription.hasCellTags {
|
|
50
50
|
cmdArgs = append(cmdArgs, "-totalUniqueTagCountInTree", "Cell")
|
|
51
51
|
columns = append(columns, {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
column: "totalUniqueCellCountInTree",
|
|
53
|
+
id: "uniq-cell-count",
|
|
54
|
+
allowNA: allowNA,
|
|
55
|
+
spec: {
|
|
56
|
+
name: "pl7.app/vdj/uniqueCellCount",
|
|
57
|
+
valueType: "Long",
|
|
58
|
+
annotations: {
|
|
59
59
|
"pl7.app/label": "Number of cells"
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
})
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
if dataDescription
|
|
65
|
+
if dataDescription.hasUmiTags {
|
|
66
66
|
cmdArgs = append(cmdArgs, "-totalUniqueTagCountInTree", "Molecule")
|
|
67
67
|
columns = append(columns, {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
column: "totalUniqueMoleculeCountInTree",
|
|
69
|
+
id: "uniq-umi-count",
|
|
70
|
+
allowNA: allowNA,
|
|
71
|
+
spec: {
|
|
72
|
+
name: "pl7.app/vdj/uniqueMoleculeCount",
|
|
73
|
+
valueType: "Long",
|
|
74
|
+
annotations: {
|
|
75
75
|
"pl7.app/label": "Number of molecules"
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -80,13 +80,13 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
80
80
|
|
|
81
81
|
cmdArgs = append(cmdArgs, "-numberOfClonesInTree")
|
|
82
82
|
columns = append(columns, {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
83
|
+
column: "numberOfClonesInTree",
|
|
84
|
+
id: "number-of-clones-in-tree",
|
|
85
|
+
allowNA: allowNA,
|
|
86
|
+
spec: {
|
|
87
|
+
name: "pl7.app/vdj/numberOfClonesInTree",
|
|
88
|
+
valueType: "Long",
|
|
89
|
+
annotations: {
|
|
90
90
|
"pl7.app/label": "Number of clones"
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -94,13 +94,13 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
94
94
|
|
|
95
95
|
cmdArgs = append(cmdArgs, "-numberOfNodesWithClones")
|
|
96
96
|
columns = append(columns, {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
column: "numberOfNodesWithClones",
|
|
98
|
+
id: "number-of-nodes-with-clones",
|
|
99
|
+
allowNA: allowNA,
|
|
100
|
+
spec: {
|
|
101
|
+
name: "pl7.app/vdj/numberOfNodesWithClones",
|
|
102
|
+
valueType: "Long",
|
|
103
|
+
annotations: {
|
|
104
104
|
"pl7.app/label": "Number of nodes"
|
|
105
105
|
}
|
|
106
106
|
}
|
|
@@ -108,13 +108,13 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
108
108
|
|
|
109
109
|
cmdArgs = append(cmdArgs, "-totalReadsCountInTree")
|
|
110
110
|
columns = append(columns, {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
111
|
+
column: "totalReadsCountInTree",
|
|
112
|
+
id: "total-reads-count-in-tree",
|
|
113
|
+
allowNA: allowNA,
|
|
114
|
+
spec: {
|
|
115
|
+
name: "pl7.app/vdj/totalReadsCountInTree",
|
|
116
|
+
valueType: "Long",
|
|
117
|
+
annotations: {
|
|
118
118
|
"pl7.app/label": "Total reads count"
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -122,17 +122,17 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
122
122
|
|
|
123
123
|
cmdArgs = append(cmdArgs, "-vHit")
|
|
124
124
|
columns = append(columns, {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
125
|
+
column: "bestVHit",
|
|
126
|
+
id: "v-gene",
|
|
127
|
+
allowNA: allowNA,
|
|
128
|
+
spec: {
|
|
129
|
+
name: "pl7.app/vdj/geneHit",
|
|
130
|
+
valueType: "String",
|
|
131
|
+
domain: {
|
|
132
132
|
"pl7.app/vdj/reference": "VGene"
|
|
133
133
|
},
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
annotations: {
|
|
135
|
+
type: "V gene name",
|
|
136
136
|
"pl7.app/label": "V gene"
|
|
137
137
|
}
|
|
138
138
|
}
|
|
@@ -140,17 +140,17 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
140
140
|
|
|
141
141
|
cmdArgs = append(cmdArgs, "-jHit")
|
|
142
142
|
columns = append(columns, {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
143
|
+
column: "bestJHit",
|
|
144
|
+
id: "j-gene",
|
|
145
|
+
allowNA: allowNA,
|
|
146
|
+
spec: {
|
|
147
|
+
name: "pl7.app/vdj/geneHit",
|
|
148
|
+
valueType: "String",
|
|
149
|
+
domain: {
|
|
150
150
|
"pl7.app/vdj/reference": "JGene"
|
|
151
151
|
},
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
annotations: {
|
|
153
|
+
type: "J gene name",
|
|
154
154
|
"pl7.app/label": "J gene"
|
|
155
155
|
}
|
|
156
156
|
}
|
|
@@ -158,32 +158,32 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
158
158
|
|
|
159
159
|
cmdArgs = append(cmdArgs, "-chains")
|
|
160
160
|
columns = append(columns, {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
161
|
+
column: "chains",
|
|
162
|
+
id: "chains",
|
|
163
|
+
allowNA: allowNA,
|
|
164
|
+
spec: {
|
|
165
|
+
valueType: "String",
|
|
166
|
+
name: "pl7.app/vdj/chain",
|
|
167
|
+
annotations: {
|
|
168
168
|
"pl7.app/label": "Chain"
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
})
|
|
172
172
|
|
|
173
|
-
for feature in dataDescription
|
|
173
|
+
for feature in dataDescription.coveredFeatures {
|
|
174
174
|
cmdArgs = append(cmdArgs, "-aaFeature", feature, "mrca")
|
|
175
175
|
columns = append(columns, {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
176
|
+
column: "aaSeq" + feature + "OfMrca",
|
|
177
|
+
id: "aa-seq-" + feature + "-mrca",
|
|
178
|
+
allowNA: allowNA,
|
|
179
|
+
spec: {
|
|
180
|
+
name: "pl7.app/vdj/sequence",
|
|
181
|
+
valueType: "String",
|
|
182
|
+
domain: {
|
|
183
183
|
"pl7.app/vdj/feature": feature,
|
|
184
184
|
"pl7.app/alphabet": "aminoacid"
|
|
185
185
|
},
|
|
186
|
-
|
|
186
|
+
annotations: {
|
|
187
187
|
"pl7.app/type": "sequence",
|
|
188
188
|
"pl7.app/label": feature + " of MRCA aa"
|
|
189
189
|
}
|
|
@@ -192,17 +192,17 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
192
192
|
|
|
193
193
|
cmdArgs = append(cmdArgs, "-nFeature", feature, "mrca")
|
|
194
194
|
columns = append(columns, {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
195
|
+
column: "nSeq" + feature + "OfMrca",
|
|
196
|
+
id: "n-seq-" + feature + "-mrca",
|
|
197
|
+
allowNA: allowNA,
|
|
198
|
+
spec: {
|
|
199
|
+
name: "pl7.app/vdj/sequence",
|
|
200
|
+
valueType: "String",
|
|
201
|
+
domain: {
|
|
202
202
|
"pl7.app/vdj/feature": feature,
|
|
203
203
|
"pl7.app/alphabet": "nucleotide"
|
|
204
204
|
},
|
|
205
|
-
|
|
205
|
+
annotations: {
|
|
206
206
|
"pl7.app/type": "sequence",
|
|
207
207
|
"pl7.app/label": feature + " of MRCA nt"
|
|
208
208
|
}
|
|
@@ -211,13 +211,13 @@ shmTreeTableOptions := func(dataDescription) {
|
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
return {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
214
|
+
pfconvParams: {
|
|
215
|
+
axes: axes,
|
|
216
|
+
columns: columns,
|
|
217
|
+
storageFormat: "Binary",
|
|
218
|
+
partitionKeyLength: 0
|
|
219
219
|
},
|
|
220
|
-
|
|
220
|
+
cmdArgs: cmdArgs
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
|
|
@@ -229,26 +229,26 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
229
229
|
|
|
230
230
|
cmdArgs = append(cmdArgs, "-treeId")
|
|
231
231
|
axes = append(axes, {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
232
|
+
column: "treeId",
|
|
233
|
+
spec: {
|
|
234
|
+
name: "pl7.app/dendrogram/treeId",
|
|
235
|
+
type: "Long",
|
|
236
|
+
domain: { },
|
|
237
|
+
annotations: {
|
|
238
238
|
"pl7.app/label": "Tree id"
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
})
|
|
242
242
|
|
|
243
|
-
if dataDescription
|
|
243
|
+
if dataDescription.cellsAssembled {
|
|
244
244
|
cmdArgs = append(cmdArgs, "-subtreeId")
|
|
245
245
|
axes = append(axes, {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
246
|
+
column: "subtreeId",
|
|
247
|
+
spec: {
|
|
248
|
+
name: "pl7.app/dendrogram/subtreeId",
|
|
249
|
+
type: "Long",
|
|
250
|
+
domain: { },
|
|
251
|
+
annotations: {
|
|
252
252
|
"pl7.app/label": "Subtree id"
|
|
253
253
|
}
|
|
254
254
|
}
|
|
@@ -257,12 +257,12 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
257
257
|
|
|
258
258
|
cmdArgs = append(cmdArgs, "-nodeId")
|
|
259
259
|
axes = append(axes, {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
260
|
+
column: "nodeId",
|
|
261
|
+
spec: {
|
|
262
|
+
name: "pl7.app/dendrogram/nodeId",
|
|
263
|
+
type: "Long",
|
|
264
|
+
domain: { },
|
|
265
|
+
annotations: {
|
|
266
266
|
"pl7.app/label": "Node id"
|
|
267
267
|
}
|
|
268
268
|
}
|
|
@@ -270,14 +270,14 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
270
270
|
|
|
271
271
|
cmdArgs = append(cmdArgs, "-isObserved")
|
|
272
272
|
columns = append(columns, {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
273
|
+
column: "isObserved",
|
|
274
|
+
id: "is-node-observed",
|
|
275
|
+
allowNA: false,
|
|
276
|
+
spec: {
|
|
277
|
+
name: "pl7.app/dendrogram/isObserved",
|
|
278
278
|
// TODO change to Boolean when it will be supported
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
valueType: "String",
|
|
280
|
+
annotations: {
|
|
281
281
|
"pl7.app/label": "Is observed in data"
|
|
282
282
|
}
|
|
283
283
|
}
|
|
@@ -285,13 +285,13 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
285
285
|
|
|
286
286
|
cmdArgs = append(cmdArgs, "-parentId")
|
|
287
287
|
columns = append(columns, {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
288
|
+
column: "parentId",
|
|
289
|
+
id: "parent-id",
|
|
290
|
+
allowNA: true,
|
|
291
|
+
spec: {
|
|
292
|
+
name: "pl7.app/dendrogram/topology",
|
|
293
|
+
valueType: "Long",
|
|
294
|
+
annotations: {
|
|
295
295
|
"pl7.app/label": "Parent node id",
|
|
296
296
|
"pl7.app/dendrogram/isTopology": "true"
|
|
297
297
|
}
|
|
@@ -300,16 +300,16 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
300
300
|
|
|
301
301
|
cmdArgs = append(cmdArgs, "-distance", "germline")
|
|
302
302
|
columns = append(columns, {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
303
|
+
column: "DistanceFromGermline",
|
|
304
|
+
id: "distance-from-germline",
|
|
305
|
+
allowNA: true,
|
|
306
|
+
spec: {
|
|
307
|
+
name: "pl7.app/dendrogram/distance",
|
|
308
|
+
valueType: "Double",
|
|
309
|
+
domain: {
|
|
310
310
|
"pl7.app/dendrogram/distance/from": "germline"
|
|
311
311
|
},
|
|
312
|
-
|
|
312
|
+
annotations: {
|
|
313
313
|
"pl7.app/label": "Distanse from germline",
|
|
314
314
|
"pl7.app/dendrogram/distance/from": "germline", // change to domain only, once can be selected in graphmaker
|
|
315
315
|
"pl7.app/dendrogram/isDistance": "true"
|
|
@@ -319,16 +319,16 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
319
319
|
|
|
320
320
|
cmdArgs = append(cmdArgs, "-distance", "parent")
|
|
321
321
|
columns = append(columns, {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
322
|
+
column: "DistanceFromParent",
|
|
323
|
+
id: "distance-from-parent",
|
|
324
|
+
allowNA: true,
|
|
325
|
+
spec: {
|
|
326
|
+
name: "pl7.app/dendrogram/distance",
|
|
327
|
+
valueType: "Double",
|
|
328
|
+
domain: {
|
|
329
329
|
"pl7.app/dendrogram/distance/from": "parent"
|
|
330
330
|
},
|
|
331
|
-
|
|
331
|
+
annotations: {
|
|
332
332
|
"pl7.app/label": "Distanse from parent",
|
|
333
333
|
"pl7.app/dendrogram/distance/from": "parent", // change to domain only, once can be selected in graphmaker
|
|
334
334
|
"pl7.app/dendrogram/isDistance": "true"
|
|
@@ -338,17 +338,17 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
338
338
|
|
|
339
339
|
cmdArgs = append(cmdArgs, "-nMutationsRate")
|
|
340
340
|
columns = append(columns, {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
"pl7.app/vdj/features": text.join(dataDescription
|
|
341
|
+
column: "nMutationsRate",
|
|
342
|
+
id: "n-mutations-rate",
|
|
343
|
+
allowNA: allowNA,
|
|
344
|
+
spec: {
|
|
345
|
+
name: "pl7.app/vdj/mutationsRate",
|
|
346
|
+
valueType: "Double",
|
|
347
|
+
domain: {
|
|
348
|
+
"pl7.app/vdj/features": text.join(dataDescription.coveredFeatures, ","),
|
|
349
349
|
"pl7.app/alphabet": "nucleotide"
|
|
350
350
|
},
|
|
351
|
-
|
|
351
|
+
annotations: {
|
|
352
352
|
"pl7.app/label": "Mutations rate nt"
|
|
353
353
|
}
|
|
354
354
|
}
|
|
@@ -356,17 +356,17 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
356
356
|
|
|
357
357
|
cmdArgs = append(cmdArgs, "-vHit")
|
|
358
358
|
columns = append(columns, {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
359
|
+
column: "bestVHit",
|
|
360
|
+
id: "v-gene",
|
|
361
|
+
allowNA: allowNA,
|
|
362
|
+
spec: {
|
|
363
|
+
name: "pl7.app/vdj/geneHit",
|
|
364
|
+
valueType: "String",
|
|
365
|
+
domain: {
|
|
366
366
|
"pl7.app/vdj/reference": "VGene"
|
|
367
367
|
},
|
|
368
|
-
|
|
369
|
-
|
|
368
|
+
annotations: {
|
|
369
|
+
type: "V gene name",
|
|
370
370
|
"pl7.app/label": "V gene"
|
|
371
371
|
}
|
|
372
372
|
}
|
|
@@ -374,36 +374,36 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
374
374
|
|
|
375
375
|
cmdArgs = append(cmdArgs, "-jHit")
|
|
376
376
|
columns = append(columns, {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
377
|
+
column: "bestJHit",
|
|
378
|
+
id: "j-gene",
|
|
379
|
+
allowNA: allowNA,
|
|
380
|
+
spec: {
|
|
381
|
+
name: "pl7.app/vdj/geneHit",
|
|
382
|
+
valueType: "String",
|
|
383
|
+
domain: {
|
|
384
384
|
"pl7.app/vdj/reference": "JGene"
|
|
385
385
|
},
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
annotations: {
|
|
387
|
+
type: "J gene name",
|
|
388
388
|
"pl7.app/label": "J gene"
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
})
|
|
392
392
|
|
|
393
|
-
for feature in dataDescription
|
|
393
|
+
for feature in dataDescription.coveredFeatures {
|
|
394
394
|
cmdArgs = append(cmdArgs, "-aaFeature", feature)
|
|
395
395
|
columns = append(columns, {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
396
|
+
column: "aaSeq" + feature,
|
|
397
|
+
id: "aa-seq-" + feature,
|
|
398
|
+
allowNA: allowNA,
|
|
399
|
+
spec: {
|
|
400
|
+
name: "pl7.app/vdj/sequence",
|
|
401
|
+
valueType: "String",
|
|
402
|
+
domain: {
|
|
403
403
|
"pl7.app/vdj/feature": feature,
|
|
404
404
|
"pl7.app/alphabet": "aminoacid"
|
|
405
405
|
},
|
|
406
|
-
|
|
406
|
+
annotations: {
|
|
407
407
|
"pl7.app/type": "sequence",
|
|
408
408
|
"pl7.app/label": feature + " aa"
|
|
409
409
|
}
|
|
@@ -412,17 +412,17 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
412
412
|
|
|
413
413
|
cmdArgs = append(cmdArgs, "-nFeature", feature)
|
|
414
414
|
columns = append(columns, {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
415
|
+
column: "nSeq" + feature,
|
|
416
|
+
id: "n-seq-" + feature,
|
|
417
|
+
allowNA: allowNA,
|
|
418
|
+
spec: {
|
|
419
|
+
name: "pl7.app/vdj/sequence",
|
|
420
|
+
valueType: "String",
|
|
421
|
+
domain: {
|
|
422
422
|
"pl7.app/vdj/feature": feature,
|
|
423
423
|
"pl7.app/alphabet": "nucleotide"
|
|
424
424
|
},
|
|
425
|
-
|
|
425
|
+
annotations: {
|
|
426
426
|
"pl7.app/type": "sequence",
|
|
427
427
|
"pl7.app/label": feature + " nt"
|
|
428
428
|
}
|
|
@@ -431,13 +431,13 @@ shmTreeNodesTableOptions := func(dataDescription) {
|
|
|
431
431
|
}
|
|
432
432
|
|
|
433
433
|
return {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
434
|
+
pfconvParams: {
|
|
435
|
+
axes: axes,
|
|
436
|
+
columns: columns,
|
|
437
|
+
storageFormat: "Binary",
|
|
438
|
+
partitionKeyLength: 0
|
|
439
439
|
},
|
|
440
|
-
|
|
440
|
+
cmdArgs: cmdArgs
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
443
|
|
|
@@ -452,26 +452,26 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
452
452
|
|
|
453
453
|
cmdArgs = append(cmdArgs, "-treeId")
|
|
454
454
|
axes = append(axes, {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
455
|
+
column: "treeId",
|
|
456
|
+
spec: {
|
|
457
|
+
name: "pl7.app/dendrogram/treeId",
|
|
458
|
+
type: "Long",
|
|
459
|
+
domain: { },
|
|
460
|
+
annotations: {
|
|
461
461
|
"pl7.app/label": "Tree id"
|
|
462
462
|
}
|
|
463
463
|
}
|
|
464
464
|
})
|
|
465
465
|
|
|
466
|
-
if dataDescription
|
|
466
|
+
if dataDescription.cellsAssembled {
|
|
467
467
|
cmdArgs = append(cmdArgs, "-subtreeId")
|
|
468
468
|
axes = append(axes, {
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
469
|
+
column: "subtreeId",
|
|
470
|
+
spec: {
|
|
471
|
+
name: "pl7.app/dendrogram/subtreeId",
|
|
472
|
+
type: "Long",
|
|
473
|
+
domain: { },
|
|
474
|
+
annotations: {
|
|
475
475
|
"pl7.app/label": "Subtree id"
|
|
476
476
|
}
|
|
477
477
|
}
|
|
@@ -480,12 +480,12 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
480
480
|
|
|
481
481
|
cmdArgs = append(cmdArgs, "-nodeId")
|
|
482
482
|
axes = append(axes, {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
483
|
+
column: "nodeId",
|
|
484
|
+
spec: {
|
|
485
|
+
name: "pl7.app/dendrogram/nodeId",
|
|
486
|
+
type: "Long",
|
|
487
|
+
domain: { },
|
|
488
|
+
annotations: {
|
|
489
489
|
"pl7.app/label": "Node id"
|
|
490
490
|
}
|
|
491
491
|
}
|
|
@@ -493,62 +493,62 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
493
493
|
|
|
494
494
|
cmdArgs = append(cmdArgs, "-fileName")
|
|
495
495
|
axes = append(axes, {
|
|
496
|
-
|
|
496
|
+
column: "fileName",
|
|
497
497
|
// in case of single cell trees, not all subtrees will be filled for nodes with observed
|
|
498
|
-
//
|
|
499
|
-
|
|
498
|
+
// allowNA: true,
|
|
499
|
+
preProcess: [
|
|
500
500
|
{
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
501
|
+
type: "regexpReplace",
|
|
502
|
+
pattern: "^(.*)___.*\\.clns$",
|
|
503
|
+
replacement: "$1"
|
|
504
504
|
}
|
|
505
505
|
],
|
|
506
|
-
|
|
506
|
+
spec: donorColumnSpec.axesSpec[0]
|
|
507
507
|
})
|
|
508
508
|
|
|
509
509
|
cmdArgs = append(cmdArgs, "-cloneId")
|
|
510
510
|
axes = append(axes, {
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
//
|
|
511
|
+
column: "cloneId",
|
|
512
|
+
id: "clone-id",
|
|
513
|
+
// allowNA: true,
|
|
514
514
|
// filtering off records without clones because we are not interested in them here
|
|
515
515
|
filterOutRegex: "^$",
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
516
|
+
spec: {
|
|
517
|
+
name: "pl7.app/vdj/cloneId",
|
|
518
|
+
type: "Long",
|
|
519
519
|
// TODO domain with blockId
|
|
520
|
-
|
|
520
|
+
annotations: {
|
|
521
521
|
"pl7.app/label": "Clone id"
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
524
|
})
|
|
525
525
|
|
|
526
|
-
if dataDescription
|
|
526
|
+
if dataDescription.hasCellTags {
|
|
527
527
|
cmdArgs = append(cmdArgs, "-uniqueTagCount", "Cell")
|
|
528
528
|
columns = append(columns, {
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
529
|
+
column: "uniqueCellCount",
|
|
530
|
+
id: "uniq-cell-count-for-clone",
|
|
531
|
+
allowNA: true,
|
|
532
|
+
spec: {
|
|
533
|
+
name: "pl7.app/vdj/uniqueCellCount",
|
|
534
|
+
valueType: "Long",
|
|
535
|
+
annotations: {
|
|
536
536
|
"pl7.app/label": "Number of cells"
|
|
537
537
|
}
|
|
538
538
|
}
|
|
539
539
|
})
|
|
540
540
|
}
|
|
541
541
|
|
|
542
|
-
if dataDescription
|
|
542
|
+
if dataDescription.hasUmiTags {
|
|
543
543
|
cmdArgs = append(cmdArgs, "-uniqueTagCount", "Molecule")
|
|
544
544
|
columns = append(columns, {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
545
|
+
column: "uniqueMoleculeCount",
|
|
546
|
+
id: "uniq-umi-count-for-clone",
|
|
547
|
+
allowNA: true,
|
|
548
|
+
spec: {
|
|
549
|
+
name: "pl7.app/vdj/uniqueMoleculeCount",
|
|
550
|
+
valueType: "Long",
|
|
551
|
+
annotations: {
|
|
552
552
|
"pl7.app/label": "Number of molecules"
|
|
553
553
|
}
|
|
554
554
|
}
|
|
@@ -557,13 +557,13 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
557
557
|
|
|
558
558
|
cmdArgs = append(cmdArgs, "-readCount")
|
|
559
559
|
columns = append(columns, {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
560
|
+
column: "readCount",
|
|
561
|
+
id: "read-count",
|
|
562
|
+
allowNA: true,
|
|
563
|
+
spec: {
|
|
564
|
+
name: "pl7.app/vdj/readCount",
|
|
565
|
+
valueType: "Long",
|
|
566
|
+
annotations: {
|
|
567
567
|
"pl7.app/label": "Number of Reads"
|
|
568
568
|
}
|
|
569
569
|
}
|
|
@@ -571,13 +571,13 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
571
571
|
|
|
572
572
|
cmdArgs = append(cmdArgs, "-readFraction")
|
|
573
573
|
columns = append(columns, {
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
574
|
+
column: "readFraction",
|
|
575
|
+
id: "read-fraction",
|
|
576
|
+
allowNA: true,
|
|
577
|
+
spec: {
|
|
578
|
+
name: "pl7.app/vdj/readFraction",
|
|
579
|
+
valueType: "Double",
|
|
580
|
+
annotations: {
|
|
581
581
|
"pl7.app/label": "Fraction of reads"
|
|
582
582
|
}
|
|
583
583
|
}
|
|
@@ -585,17 +585,17 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
585
585
|
|
|
586
586
|
cmdArgs = append(cmdArgs, "-targetSequences")
|
|
587
587
|
columns = append(columns, {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
588
|
+
column: "targetSequences",
|
|
589
|
+
id: "n-seq-clonal-sequences",
|
|
590
|
+
allowNA: true,
|
|
591
|
+
spec: {
|
|
592
|
+
name: "pl7.app/vdj/sequence",
|
|
593
|
+
valueType: "String",
|
|
594
|
+
domain: {
|
|
595
595
|
"pl7.app/vdj/sequence": "clonalSequence",
|
|
596
596
|
"pl7.app/alphabet": "nucleotide"
|
|
597
597
|
},
|
|
598
|
-
|
|
598
|
+
annotations: {
|
|
599
599
|
"pl7.app/type": "sequence",
|
|
600
600
|
"pl7.app/label": "Clonal sequences"
|
|
601
601
|
}
|
|
@@ -604,17 +604,17 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
604
604
|
|
|
605
605
|
cmdArgs = append(cmdArgs, "-targetQualities")
|
|
606
606
|
columns = append(columns, {
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
607
|
+
column: "targetQualities",
|
|
608
|
+
id: "clonal-qualities",
|
|
609
|
+
allowNA: true,
|
|
610
|
+
spec: {
|
|
611
|
+
name: "pl7.app/vdj/sequenceQuality",
|
|
612
|
+
valueType: "String",
|
|
613
|
+
domain: {
|
|
614
614
|
"pl7.app/vdj/quality": "clonalQuality"
|
|
615
615
|
},
|
|
616
|
-
|
|
617
|
-
|
|
616
|
+
annotations: {
|
|
617
|
+
type: "quality string",
|
|
618
618
|
"pl7.app/label": "Clonal qualities"
|
|
619
619
|
}
|
|
620
620
|
}
|
|
@@ -622,17 +622,17 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
622
622
|
|
|
623
623
|
cmdArgs = append(cmdArgs, "-dHit")
|
|
624
624
|
columns = append(columns, {
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
625
|
+
column: "bestDHit",
|
|
626
|
+
id: "d-gene",
|
|
627
|
+
allowNA: true,
|
|
628
|
+
spec: {
|
|
629
|
+
name: "pl7.app/vdj/geneHit",
|
|
630
|
+
valueType: "String",
|
|
631
|
+
domain: {
|
|
632
632
|
"pl7.app/vdj/reference": "DGene"
|
|
633
633
|
},
|
|
634
|
-
|
|
635
|
-
|
|
634
|
+
annotations: {
|
|
635
|
+
type: "D gene name",
|
|
636
636
|
"pl7.app/label": "Best D hit"
|
|
637
637
|
}
|
|
638
638
|
}
|
|
@@ -640,17 +640,17 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
640
640
|
|
|
641
641
|
cmdArgs = append(cmdArgs, "-cHit")
|
|
642
642
|
columns = append(columns, {
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
643
|
+
column: "bestCHit",
|
|
644
|
+
id: "c-gene",
|
|
645
|
+
allowNA: true,
|
|
646
|
+
spec: {
|
|
647
|
+
name: "pl7.app/vdj/geneHit",
|
|
648
|
+
valueType: "String",
|
|
649
|
+
domain: {
|
|
650
650
|
"pl7.app/vdj/reference": "CGene"
|
|
651
651
|
},
|
|
652
|
-
|
|
653
|
-
|
|
652
|
+
annotations: {
|
|
653
|
+
type: "C gene name",
|
|
654
654
|
"pl7.app/label": "Best C hit"
|
|
655
655
|
}
|
|
656
656
|
}
|
|
@@ -658,26 +658,26 @@ shmTreeNodesWithClonesTableOptions := func(dataDescription, donorColumn) {
|
|
|
658
658
|
|
|
659
659
|
cmdArgs = append(cmdArgs, "-isotype")
|
|
660
660
|
columns = append(columns, {
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
661
|
+
column: "isotype",
|
|
662
|
+
id: "isotype",
|
|
663
|
+
allowNA: true,
|
|
664
|
+
spec: {
|
|
665
|
+
valueType: "String",
|
|
666
|
+
name: "pl7.app/vdj/isotype",
|
|
667
|
+
annotations: {
|
|
668
668
|
"pl7.app/label": "IG isotype"
|
|
669
669
|
}
|
|
670
670
|
}
|
|
671
671
|
})
|
|
672
672
|
|
|
673
673
|
return {
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
674
|
+
pfconvParams: {
|
|
675
|
+
axes: axes,
|
|
676
|
+
columns: columns,
|
|
677
|
+
storageFormat: "Binary",
|
|
678
|
+
partitionKeyLength: 0
|
|
679
679
|
},
|
|
680
|
-
|
|
680
|
+
cmdArgs: cmdArgs
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
683
|
|