@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 3.0.4 → 3.1.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.
@@ -0,0 +1,1293 @@
1
+ // QC Report Columns Library
2
+ // Defines column specifications for the mixcr exportReportsTable command output
3
+
4
+ ll := import("@platforma-sdk/workflow-tengo:ll")
5
+ pConstants := import("@platforma-sdk/workflow-tengo:pframes.constants")
6
+
7
+ // QC Report column specifications function
8
+ getQcReportColumns := func(hasUmi, isSingleCell, sampleIdAxisSpec, chains) {
9
+ // Bulk sequencing columns
10
+ baseColumns := [
11
+ {
12
+ column: "MiXCRVersion",
13
+ id: "mixcr-version",
14
+ allowNA: true,
15
+ naRegex: "",
16
+ spec: {
17
+ name: "mixcr.com/reports/MiXCRVersion",
18
+ valueType: "String",
19
+ annotations: {
20
+ "pl7.app/table/orderPriority": "100000",
21
+ "pl7.app/table/visibility": "optional",
22
+ "pl7.app/label": "MiXCR Version"
23
+ }
24
+ }
25
+ },
26
+ {
27
+ column: "align.alignmentsFailed",
28
+ id: "align-alignments-failed",
29
+ allowNA: true,
30
+ naRegex: "NaN",
31
+ spec: {
32
+ name: "mixcr.com/reports/align/alignmentsFailed",
33
+ valueType: "Long",
34
+ annotations: {
35
+ "pl7.app/min": "0",
36
+ "pl7.app/table/orderPriority": "94000",
37
+ "pl7.app/table/visibility": "optional",
38
+ "pl7.app/label": "Alignments Failed"
39
+ }
40
+ }
41
+ },
42
+ {
43
+ column: "align.alignmentsFailed.LowTotalScore",
44
+ id: "align-alignments-failed-low-total-score",
45
+ allowNA: true,
46
+ naRegex: "NaN",
47
+ spec: {
48
+ name: "mixcr.com/reports/align/alignmentsFailed/LowTotalScore",
49
+ valueType: "Long",
50
+ annotations: {
51
+ "pl7.app/min": "0",
52
+ "pl7.app/table/orderPriority": "94100",
53
+ "pl7.app/table/visibility": "optional",
54
+ "pl7.app/label": "Alignments Failed - Low Total Score"
55
+ }
56
+ }
57
+ },
58
+ {
59
+ column: "align.alignmentsFailed.LowTotalScorePercents",
60
+ id: "align-alignments-failed-low-total-score-percents",
61
+ allowNA: true,
62
+ naRegex: "NaN",
63
+ spec: {
64
+ name: "mixcr.com/reports/align/alignmentsFailed/LowTotalScorePercents",
65
+ valueType: "Double",
66
+ annotations: {
67
+ "pl7.app/min": "0",
68
+ "pl7.app/max": "100",
69
+ "pl7.app/table/orderPriority": "94200",
70
+ "pl7.app/table/visibility": "default",
71
+ "pl7.app/label": "Alignments Failed - Low Total Score (%)"
72
+ }
73
+ }
74
+ },
75
+ {
76
+ column: "align.alignmentsFailed.NoBarcode",
77
+ id: "align-alignments-failed-no-barcode",
78
+ allowNA: true,
79
+ naRegex: "NaN",
80
+ spec: {
81
+ name: "mixcr.com/reports/align/alignmentsFailed/NoBarcode",
82
+ valueType: "Long",
83
+ annotations: {
84
+ "pl7.app/min": "0",
85
+ "pl7.app/table/orderPriority": "94300",
86
+ "pl7.app/table/visibility": "optional",
87
+ "pl7.app/label": "Alignments Failed - No Barcode"
88
+ }
89
+ }
90
+ },
91
+ {
92
+ column: "align.alignmentsFailed.NoBarcodePercents",
93
+ id: "align-alignments-failed-no-barcode-percents",
94
+ allowNA: true,
95
+ naRegex: "NaN",
96
+ spec: {
97
+ name: "mixcr.com/reports/align/alignmentsFailed/NoBarcodePercents",
98
+ valueType: "Double",
99
+ annotations: {
100
+ "pl7.app/min": "0",
101
+ "pl7.app/max": "100",
102
+ "pl7.app/table/orderPriority": "94400",
103
+ "pl7.app/table/visibility": "default",
104
+ "pl7.app/label": "Alignments Failed - No Barcode (%)"
105
+ }
106
+ }
107
+ },
108
+ {
109
+ column: "align.alignmentsFailed.NoCDR3Parts",
110
+ id: "align-alignments-failed-no-cdr3-parts",
111
+ allowNA: true,
112
+ naRegex: "NaN",
113
+ spec: {
114
+ name: "mixcr.com/reports/align/alignmentsFailed/NoCDR3Parts",
115
+ valueType: "Long",
116
+ annotations: {
117
+ "pl7.app/min": "0",
118
+ "pl7.app/table/orderPriority": "94500",
119
+ "pl7.app/table/visibility": "optional",
120
+ "pl7.app/label": "Alignments Failed - No CDR3 Parts"
121
+ }
122
+ }
123
+ },
124
+ {
125
+ column: "align.alignmentsFailed.NoCDR3PartsPercents",
126
+ id: "align-alignments-failed-no-cdr3-parts-percents",
127
+ allowNA: true,
128
+ naRegex: "NaN",
129
+ spec: {
130
+ name: "mixcr.com/reports/align/alignmentsFailed/NoCDR3PartsPercents",
131
+ valueType: "Double",
132
+ annotations: {
133
+ "pl7.app/min": "0",
134
+ "pl7.app/max": "100",
135
+ "pl7.app/table/orderPriority": "94600",
136
+ "pl7.app/table/visibility": "default",
137
+ "pl7.app/label": "Alignments Failed - No CDR3 Parts (%)"
138
+ }
139
+ }
140
+ },
141
+ {
142
+ column: "align.alignmentsFailed.NoHits",
143
+ id: "align-alignments-failed-no-hits",
144
+ allowNA: true,
145
+ naRegex: "NaN",
146
+ spec: {
147
+ name: "mixcr.com/reports/align/alignmentsFailed/NoHits",
148
+ valueType: "Long",
149
+ annotations: {
150
+ "pl7.app/min": "0",
151
+ "pl7.app/table/orderPriority": "94700",
152
+ "pl7.app/table/visibility": "optional",
153
+ "pl7.app/label": "Alignments Failed - No Hits"
154
+ }
155
+ }
156
+ },
157
+ {
158
+ column: "align.alignmentsFailed.NoHitsPercents",
159
+ id: "align-alignments-failed-no-hits-percents",
160
+ allowNA: true,
161
+ naRegex: "NaN",
162
+ spec: {
163
+ name: "mixcr.com/reports/align/alignmentsFailed/NoHitsPercents",
164
+ valueType: "Double",
165
+ annotations: {
166
+ "pl7.app/min": "0",
167
+ "pl7.app/max": "100",
168
+ "pl7.app/table/orderPriority": "94800",
169
+ "pl7.app/table/visibility": "default",
170
+ "pl7.app/label": "Alignments Failed - No Hits (%)"
171
+ }
172
+ }
173
+ },
174
+ {
175
+ column: "align.alignmentsFailed.NoJHits",
176
+ id: "align-alignments-failed-no-j-hits",
177
+ allowNA: true,
178
+ naRegex: "NaN",
179
+ spec: {
180
+ name: "mixcr.com/reports/align/alignmentsFailed/NoJHits",
181
+ valueType: "Long",
182
+ annotations: {
183
+ "pl7.app/min": "0",
184
+ "pl7.app/table/orderPriority": "94900",
185
+ "pl7.app/table/visibility": "optional",
186
+ "pl7.app/label": "Alignments Failed - No J Hits"
187
+ }
188
+ }
189
+ },
190
+ {
191
+ column: "align.alignmentsFailed.NoJHitsPercents",
192
+ id: "align-alignments-failed-no-j-hits-percents",
193
+ allowNA: true,
194
+ naRegex: "NaN",
195
+ spec: {
196
+ name: "mixcr.com/reports/align/alignmentsFailed/NoJHitsPercents",
197
+ valueType: "Double",
198
+ annotations: {
199
+ "pl7.app/min": "0",
200
+ "pl7.app/max": "100",
201
+ "pl7.app/table/orderPriority": "94910",
202
+ "pl7.app/table/visibility": "default",
203
+ "pl7.app/label": "Alignments Failed - No J Hits (%)"
204
+ }
205
+ }
206
+ },
207
+ {
208
+ column: "align.alignmentsFailed.NoVHits",
209
+ id: "align-alignments-failed-no-v-hits",
210
+ allowNA: true,
211
+ naRegex: "NaN",
212
+ spec: {
213
+ name: "mixcr.com/reports/align/alignmentsFailed/NoVHits",
214
+ valueType: "Long",
215
+ annotations: {
216
+ "pl7.app/min": "0",
217
+ "pl7.app/table/orderPriority": "94920",
218
+ "pl7.app/table/visibility": "optional",
219
+ "pl7.app/label": "Alignments Failed - No V Hits"
220
+ }
221
+ }
222
+ },
223
+ {
224
+ column: "align.alignmentsFailed.NoVHitsPercents",
225
+ id: "align-alignments-failed-no-v-hits-percents",
226
+ allowNA: true,
227
+ naRegex: "NaN",
228
+ spec: {
229
+ name: "mixcr.com/reports/align/alignmentsFailed/NoVHitsPercents",
230
+ valueType: "Double",
231
+ annotations: {
232
+ "pl7.app/min": "0",
233
+ "pl7.app/max": "100",
234
+ "pl7.app/table/orderPriority": "94930",
235
+ "pl7.app/table/visibility": "default",
236
+ "pl7.app/label": "Alignments Failed - No V Hits (%)"
237
+ }
238
+ }
239
+ },
240
+ {
241
+ column: "align.alignmentsFailedPercents",
242
+ id: "align-alignments-failed-percents",
243
+ allowNA: true,
244
+ naRegex: "NaN",
245
+ spec: {
246
+ name: "mixcr.com/reports/align/alignmentsFailedPercents",
247
+ valueType: "Double",
248
+ annotations: {
249
+ "pl7.app/min": "0",
250
+ "pl7.app/max": "100",
251
+ "pl7.app/table/orderPriority": "94100",
252
+ "pl7.app/table/visibility": "default",
253
+ "pl7.app/label": "Alignments Failed (%)"
254
+ }
255
+ }
256
+ },
257
+ {
258
+ column: "align.overlapped",
259
+ id: "align-overlapped",
260
+ allowNA: true,
261
+ naRegex: "NaN",
262
+ spec: {
263
+ name: "mixcr.com/reports/align/overlapped",
264
+ valueType: "Long",
265
+ annotations: {
266
+ "pl7.app/min": "0",
267
+ "pl7.app/table/orderPriority": "95200",
268
+ "pl7.app/table/visibility": "optional",
269
+ "pl7.app/label": "Overlapped"
270
+ }
271
+ }
272
+ },
273
+ {
274
+ column: "align.overlappedAndAligned",
275
+ id: "align-overlapped-and-aligned",
276
+ allowNA: true,
277
+ naRegex: "NaN",
278
+ spec: {
279
+ name: "mixcr.com/reports/align/overlappedAndAligned",
280
+ valueType: "Long",
281
+ annotations: {
282
+ "pl7.app/min": "0",
283
+ "pl7.app/table/orderPriority": "95300",
284
+ "pl7.app/table/visibility": "optional",
285
+ "pl7.app/label": "Overlapped and Aligned"
286
+ }
287
+ }
288
+ },
289
+ {
290
+ column: "align.overlappedAndAlignedPercents",
291
+ id: "align-overlapped-and-aligned-percents",
292
+ allowNA: true,
293
+ naRegex: "NaN",
294
+ spec: {
295
+ name: "mixcr.com/reports/align/overlappedAndAlignedPercents",
296
+ valueType: "Double",
297
+ annotations: {
298
+ "pl7.app/min": "0",
299
+ "pl7.app/max": "100",
300
+ "pl7.app/table/orderPriority": "95400",
301
+ "pl7.app/table/visibility": "default",
302
+ "pl7.app/label": "Overlapped and Aligned (%)"
303
+ }
304
+ }
305
+ },
306
+ {
307
+ column: "align.overlappedPercents",
308
+ id: "align-overlapped-percents",
309
+ allowNA: true,
310
+ naRegex: "NaN",
311
+ spec: {
312
+ name: "mixcr.com/reports/align/overlappedPercents",
313
+ valueType: "Double",
314
+ annotations: {
315
+ "pl7.app/min": "0",
316
+ "pl7.app/max": "100",
317
+ "pl7.app/table/orderPriority": "95500",
318
+ "pl7.app/table/visibility": "default",
319
+ "pl7.app/label": "Overlapped (%)"
320
+ }
321
+ }
322
+ },
323
+ {
324
+ column: "align.patternMatchedReads",
325
+ id: "align-pattern-matched-reads",
326
+ allowNA: true,
327
+ naRegex: "",
328
+ spec: {
329
+ name: "mixcr.com/reports/align/patternMatchedReads",
330
+ valueType: "Long",
331
+ annotations: {
332
+ "pl7.app/min": "0",
333
+ "pl7.app/table/orderPriority": "95600",
334
+ "pl7.app/table/visibility": "optional",
335
+ "pl7.app/label": "Pattern Matched Reads"
336
+ }
337
+ }
338
+ },
339
+ {
340
+ column: "align.patternMatchedReadsPercents",
341
+ id: "align-pattern-matched-reads-percents",
342
+ allowNA: true,
343
+ naRegex: "",
344
+ spec: {
345
+ name: "mixcr.com/reports/align/patternMatchedReadsPercents",
346
+ valueType: "Double",
347
+ annotations: {
348
+ "pl7.app/min": "0",
349
+ "pl7.app/max": "100",
350
+ "pl7.app/table/orderPriority": "95700",
351
+ "pl7.app/table/visibility": "default",
352
+ "pl7.app/label": "Pattern Matched Reads (%)"
353
+ }
354
+ }
355
+ },
356
+ {
357
+ column: "align.successAligned",
358
+ id: "align-success-aligned",
359
+ allowNA: true,
360
+ naRegex: "NaN",
361
+ spec: {
362
+ name: "mixcr.com/reports/align/successAligned",
363
+ valueType: "Long",
364
+ annotations: {
365
+ "pl7.app/min": "0",
366
+ "pl7.app/table/orderPriority": "105000",
367
+ "pl7.app/table/visibility": "default",
368
+ "pl7.app/label": "Successfully Aligned"
369
+ }
370
+ }
371
+ },
372
+ {
373
+ column: "align.successAlignedPercents",
374
+ id: "align-success-aligned-percents",
375
+ allowNA: true,
376
+ naRegex: "NaN",
377
+ spec: {
378
+ name: "mixcr.com/reports/align/successAlignedPercents",
379
+ valueType: "Double",
380
+ annotations: {
381
+ "pl7.app/min": "0",
382
+ "pl7.app/max": "100",
383
+ "pl7.app/table/orderPriority": "106000",
384
+ "pl7.app/table/visibility": "default",
385
+ "pl7.app/label": "Successfully Aligned (%)"
386
+ }
387
+ }
388
+ },
389
+ {
390
+ column: "assemble.droppedReads.failedMapping",
391
+ id: "assemble-dropped-reads-failed-mapping",
392
+ allowNA: true,
393
+ naRegex: "NaN",
394
+ spec: {
395
+ name: "mixcr.com/reports/assemble/droppedReads/failedMapping",
396
+ valueType: "Long",
397
+ annotations: {
398
+ "pl7.app/min": "0",
399
+ "pl7.app/table/orderPriority": "75000",
400
+ "pl7.app/table/visibility": "optional",
401
+ "pl7.app/label": "Dropped Reads - Failed Mapping"
402
+ }
403
+ }
404
+ },
405
+ {
406
+ column: "assemble.droppedReads.failedMappingPercents",
407
+ id: "assemble-dropped-reads-failed-mapping-percents",
408
+ allowNA: true,
409
+ naRegex: "NaN",
410
+ spec: {
411
+ name: "mixcr.com/reports/assemble/droppedReads/failedMappingPercents",
412
+ valueType: "Double",
413
+ annotations: {
414
+ "pl7.app/min": "0",
415
+ "pl7.app/max": "100",
416
+ "pl7.app/table/orderPriority": "74100",
417
+ "pl7.app/table/visibility": "default",
418
+ "pl7.app/label": "Dropped Reads - Failed Mapping (%)"
419
+ }
420
+ }
421
+ },
422
+ {
423
+ column: "assemble.droppedReads.lowQual",
424
+ id: "assemble-dropped-reads-low-qual",
425
+ allowNA: true,
426
+ naRegex: "NaN",
427
+ spec: {
428
+ name: "mixcr.com/reports/assemble/droppedReads/lowQual",
429
+ valueType: "Long",
430
+ annotations: {
431
+ "pl7.app/min": "0",
432
+ "pl7.app/table/orderPriority": "74200",
433
+ "pl7.app/table/visibility": "optional",
434
+ "pl7.app/label": "Dropped Reads - Low Quality"
435
+ }
436
+ }
437
+ },
438
+ {
439
+ column: "assemble.droppedReads.lowQualPercents",
440
+ id: "assemble-dropped-reads-low-qual-percents",
441
+ allowNA: true,
442
+ naRegex: "NaN",
443
+ spec: {
444
+ name: "mixcr.com/reports/assemble/droppedReads/lowQualPercents",
445
+ valueType: "Double",
446
+ annotations: {
447
+ "pl7.app/min": "0",
448
+ "pl7.app/max": "100",
449
+ "pl7.app/table/orderPriority": "74300",
450
+ "pl7.app/table/visibility": "default",
451
+ "pl7.app/label": "Dropped Reads - Low Quality (%)"
452
+ }
453
+ }
454
+ },
455
+ {
456
+ column: "assemble.droppedReads.noClonalSeq",
457
+ id: "assemble-dropped-reads-no-clonal-seq",
458
+ allowNA: true,
459
+ naRegex: "NaN",
460
+ spec: {
461
+ name: "mixcr.com/reports/assemble/droppedReads/noClonalSeq",
462
+ valueType: "Long",
463
+ annotations: {
464
+ "pl7.app/min": "0",
465
+ "pl7.app/table/orderPriority": "74400",
466
+ "pl7.app/table/visibility": "optional",
467
+ "pl7.app/label": "Dropped Reads - No Clonal Sequence"
468
+ }
469
+ }
470
+ },
471
+ {
472
+ column: "assemble.droppedReads.noClonalSeqPercents",
473
+ id: "assemble-dropped-reads-no-clonal-seq-percents",
474
+ allowNA: true,
475
+ naRegex: "NaN",
476
+ spec: {
477
+ name: "mixcr.com/reports/assemble/droppedReads/noClonalSeqPercents",
478
+ valueType: "Double",
479
+ annotations: {
480
+ "pl7.app/min": "0",
481
+ "pl7.app/max": "100",
482
+ "pl7.app/table/orderPriority": "74500",
483
+ "pl7.app/table/visibility": "default",
484
+ "pl7.app/label": "Dropped Reads - No Clonal Sequence (%)"
485
+ }
486
+ }
487
+ },
488
+ {
489
+ column: "assemble.preCloneAssembler.unassignedAlignments",
490
+ id: "assemble-pre-clone-assembler-unassigned-alignments",
491
+ allowNA: true,
492
+ naRegex: "",
493
+ spec: {
494
+ name: "mixcr.com/reports/assemble/preCloneAssembler/unassignedAlignments",
495
+ valueType: "Long",
496
+ annotations: {
497
+ "pl7.app/min": "0",
498
+ "pl7.app/table/orderPriority": "74600",
499
+ "pl7.app/table/visibility": "optional",
500
+ "pl7.app/label": "Pre-Clone Assembler - Unassigned Alignments"
501
+ }
502
+ }
503
+ },
504
+ {
505
+ column: "assemble.preCloneAssembler.unassignedAlignmentsPercents",
506
+ id: "assemble-pre-clone-assembler-unassigned-alignments-percents",
507
+ allowNA: true,
508
+ naRegex: "",
509
+ spec: {
510
+ name: "mixcr.com/reports/assemble/preCloneAssembler/unassignedAlignmentsPercents",
511
+ valueType: "Double",
512
+ annotations: {
513
+ "pl7.app/min": "0",
514
+ "pl7.app/max": "100",
515
+ "pl7.app/table/orderPriority": "74700",
516
+ "pl7.app/table/visibility": "default",
517
+ "pl7.app/label": "Pre-Clone Assembler - Unassigned Alignments (%)"
518
+ }
519
+ }
520
+ },
521
+ {
522
+ column: "assemble.readsClusteredInCorrection",
523
+ id: "assemble-reads-clustered-in-correction",
524
+ allowNA: true,
525
+ naRegex: "NaN",
526
+ spec: {
527
+ name: "mixcr.com/reports/assemble/readsClusteredInCorrection",
528
+ valueType: "Long",
529
+ annotations: {
530
+ "pl7.app/min": "0",
531
+ "pl7.app/table/orderPriority": "74800",
532
+ "pl7.app/table/visibility": "optional",
533
+ "pl7.app/label": "Reads Clustered in Correction"
534
+ }
535
+ }
536
+ },
537
+ {
538
+ column: "assemble.readsClusteredInCorrectionPercents",
539
+ id: "assemble-reads-clustered-in-correction-percents",
540
+ allowNA: true,
541
+ naRegex: "NaN",
542
+ spec: {
543
+ name: "mixcr.com/reports/assemble/readsClusteredInCorrectionPercents",
544
+ valueType: "Double",
545
+ annotations: {
546
+ "pl7.app/min": "0",
547
+ "pl7.app/max": "100",
548
+ "pl7.app/table/orderPriority": "74900",
549
+ "pl7.app/table/visibility": "default",
550
+ "pl7.app/label": "Reads Clustered in Correction (%)"
551
+ }
552
+ }
553
+ },
554
+ {
555
+ column: "readsUsedInClonotypes",
556
+ id: "reads-used-in-clonotypes",
557
+ allowNA: true,
558
+ naRegex: "NaN",
559
+ spec: {
560
+ name: "mixcr.com/reports/readsUsedInClonotypes",
561
+ valueType: "Long",
562
+ annotations: {
563
+ "pl7.app/min": "0",
564
+ "pl7.app/table/orderPriority": "108000",
565
+ "pl7.app/table/visibility": "optional",
566
+ "pl7.app/label": "Reads Used in Clonotypes"
567
+ }
568
+ }
569
+ },
570
+ {
571
+ column: "totalClonotypes",
572
+ id: "total-clonotypes",
573
+ allowNA: true,
574
+ naRegex: "NaN",
575
+ spec: {
576
+ name: "mixcr.com/reports/totalClonotypes",
577
+ valueType: "Long",
578
+ annotations: {
579
+ "pl7.app/min": "0",
580
+ "pl7.app/table/orderPriority": "109000",
581
+ "pl7.app/table/visibility": "default",
582
+ "pl7.app/label": "Total Clonotypes"
583
+ }
584
+ }
585
+ },
586
+ {
587
+ column: "totalReads",
588
+ id: "total-reads",
589
+ allowNA: true,
590
+ naRegex: "NaN",
591
+ spec: {
592
+ name: "mixcr.com/reports/totalReads",
593
+ valueType: "Long",
594
+ annotations: {
595
+ "pl7.app/min": "0",
596
+ "pl7.app/table/orderPriority": "110000",
597
+ "pl7.app/table/visibility": "default",
598
+ "pl7.app/label": "Total Reads"
599
+ }
600
+ }
601
+ }]
602
+
603
+ dataWithUmiColumns := [ {
604
+ column: "refineTags.UMI.outputCount",
605
+ id: "refine-tags-umi-output-count",
606
+ allowNA: true,
607
+ naRegex: "NaN",
608
+ spec: {
609
+ name: "mixcr.com/reports/refineTags/UMI/outputCount",
610
+ valueType: "Long",
611
+ annotations: {
612
+ "pl7.app/min": "0",
613
+ "pl7.app/table/orderPriority": "85000",
614
+ "pl7.app/table/visibility": "optional",
615
+ "pl7.app/label": "Refine Tags UMI - Output Count"
616
+ }
617
+ }
618
+ },
619
+ {
620
+ column: "refineTags.UMI.outputCountPercents",
621
+ id: "refine-tags-umi-output-count-percents",
622
+ allowNA: true,
623
+ naRegex: "NaN",
624
+ spec: {
625
+ name: "mixcr.com/reports/refineTags/UMI/outputCountPercents",
626
+ valueType: "Double",
627
+ annotations: {
628
+ "pl7.app/min": "0",
629
+ "pl7.app/max": "100",
630
+ "pl7.app/table/orderPriority": "85100",
631
+ "pl7.app/table/visibility": "default",
632
+ "pl7.app/label": "Refine Tags UMI - Output Count (%)"
633
+ }
634
+ }
635
+ },
636
+ {
637
+ column: "refineTags.UMI.outputDiversity",
638
+ id: "refine-tags-umi-output-diversity",
639
+ allowNA: true,
640
+ naRegex: "NaN",
641
+ spec: {
642
+ name: "mixcr.com/reports/refineTags/UMI/outputDiversity",
643
+ valueType: "Long",
644
+ annotations: {
645
+ "pl7.app/min": "0",
646
+ "pl7.app/table/orderPriority": "85200",
647
+ "pl7.app/table/visibility": "optional",
648
+ "pl7.app/label": "Refine Tags UMI - Output Diversity"
649
+ }
650
+ }
651
+ },
652
+ {
653
+ column: "refineTags.UMI.outputDiversityPercents",
654
+ id: "refine-tags-umi-output-diversity-percents",
655
+ allowNA: true,
656
+ naRegex: "NaN",
657
+ spec: {
658
+ name: "mixcr.com/reports/refineTags/UMI/outputDiversityPercents",
659
+ valueType: "Double",
660
+ annotations: {
661
+ "pl7.app/min": "0",
662
+ "pl7.app/max": "100",
663
+ "pl7.app/table/orderPriority": "85300",
664
+ "pl7.app/table/visibility": "default",
665
+ "pl7.app/label": "Refine Tags UMI - Output Diversity (%)"
666
+ }
667
+ }
668
+ },
669
+ {
670
+ column: "refineTags.numberOfGroupsAccepted",
671
+ id: "refine-tags-number-of-groups-accepted",
672
+ allowNA: true,
673
+ naRegex: "",
674
+ spec: {
675
+ name: "mixcr.com/reports/refineTags/numberOfGroupsAccepted",
676
+ valueType: "Long",
677
+ annotations: {
678
+ "pl7.app/min": "0",
679
+ "pl7.app/table/orderPriority": "85400",
680
+ "pl7.app/table/visibility": "optional",
681
+ "pl7.app/label": "Refine Tags - Number of Groups Accepted"
682
+ }
683
+ }
684
+ },
685
+ {
686
+ column: "refineTags.numberOfGroupsAcceptedPercents",
687
+ id: "refine-tags-number-of-groups-accepted-percents",
688
+ allowNA: true,
689
+ naRegex: "",
690
+ spec: {
691
+ name: "mixcr.com/reports/refineTags/numberOfGroupsAcceptedPercents",
692
+ valueType: "Double",
693
+ annotations: {
694
+ "pl7.app/min": "0",
695
+ "pl7.app/max": "100",
696
+ "pl7.app/table/orderPriority": "85500",
697
+ "pl7.app/table/visibility": "default",
698
+ "pl7.app/label": "Refine Tags - Number of Groups Accepted (%)"
699
+ }
700
+ }
701
+ },
702
+ {
703
+ column: "refineTags.totalWeightAccepted",
704
+ id: "refine-tags-total-weight-accepted",
705
+ allowNA: true,
706
+ naRegex: "",
707
+ spec: {
708
+ name: "mixcr.com/reports/refineTags/totalWeightAccepted",
709
+ valueType: "Long",
710
+ annotations: {
711
+ "pl7.app/min": "0",
712
+ "pl7.app/table/orderPriority": "85600",
713
+ "pl7.app/table/visibility": "optional",
714
+ "pl7.app/label": "Refine Tags - Total Weight Accepted"
715
+ }
716
+ }
717
+ },
718
+ {
719
+ column: "refineTags.totalWeightAcceptedPercents",
720
+ id: "refine-tags-total-weight-accepted-percents",
721
+ allowNA: true,
722
+ naRegex: "",
723
+ spec: {
724
+ name: "mixcr.com/reports/refineTags/totalWeightAcceptedPercents",
725
+ valueType: "Double",
726
+ annotations: {
727
+ "pl7.app/min": "0",
728
+ "pl7.app/max": "100",
729
+ "pl7.app/table/orderPriority": "85700",
730
+ "pl7.app/table/visibility": "default",
731
+ "pl7.app/label": "Refine Tags - Total Weight Accepted (%)"
732
+ }
733
+ }
734
+ }
735
+ ]
736
+
737
+ // Single Cell columns
738
+ singleCellColumns := [
739
+ {
740
+ column: "align.readsWithChain.IGH",
741
+ id: "align-reads-with-chain-igh",
742
+ allowNA: true,
743
+ naRegex: "",
744
+ spec: {
745
+ name: "mixcr.com/reports/align/readsWithChain/IGH",
746
+ valueType: "Long",
747
+ annotations: {
748
+ "pl7.app/min": "0",
749
+ "pl7.app/table/orderPriority": "96000",
750
+ "pl7.app/table/visibility": "optional",
751
+ "pl7.app/label": "Reads with Chain IGH"
752
+ }
753
+ }
754
+ },
755
+ {
756
+ column: "align.readsWithChain.IGHPercents",
757
+ id: "align-reads-with-chain-igh-percents",
758
+ allowNA: true,
759
+ naRegex: "",
760
+ spec: {
761
+ name: "mixcr.com/reports/align/readsWithChain/IGHPercents",
762
+ valueType: "Double",
763
+ annotations: {
764
+ "pl7.app/min": "0",
765
+ "pl7.app/max": "100",
766
+ "pl7.app/table/orderPriority": "96100",
767
+ "pl7.app/table/visibility": "default",
768
+ "pl7.app/label": "Reads with Chain IGH (%)"
769
+ }
770
+ }
771
+ },
772
+ {
773
+ column: "align.readsWithChain.IGK",
774
+ id: "align-reads-with-chain-igk",
775
+ allowNA: true,
776
+ naRegex: "",
777
+ spec: {
778
+ name: "mixcr.com/reports/align/readsWithChain/IGK",
779
+ valueType: "Long",
780
+ annotations: {
781
+ "pl7.app/min": "0",
782
+ "pl7.app/table/orderPriority": "96200",
783
+ "pl7.app/table/visibility": "optional",
784
+ "pl7.app/label": "Reads with Chain IGK"
785
+ }
786
+ }
787
+ },
788
+ {
789
+ column: "align.readsWithChain.IGKPercents",
790
+ id: "align-reads-with-chain-igk-percents",
791
+ allowNA: true,
792
+ naRegex: "",
793
+ spec: {
794
+ name: "mixcr.com/reports/align/readsWithChain/IGKPercents",
795
+ valueType: "Double",
796
+ annotations: {
797
+ "pl7.app/min": "0",
798
+ "pl7.app/max": "100",
799
+ "pl7.app/table/orderPriority": "96300",
800
+ "pl7.app/table/visibility": "default",
801
+ "pl7.app/label": "Reads with Chain IGK (%)"
802
+ }
803
+ }
804
+ },
805
+ {
806
+ column: "align.readsWithChain.IGL",
807
+ id: "align-reads-with-chain-igl",
808
+ allowNA: true,
809
+ naRegex: "",
810
+ spec: {
811
+ name: "mixcr.com/reports/align/readsWithChain/IGL",
812
+ valueType: "Long",
813
+ annotations: {
814
+ "pl7.app/min": "0",
815
+ "pl7.app/table/orderPriority": "96400",
816
+ "pl7.app/table/visibility": "optional",
817
+ "pl7.app/label": "Reads with Chain IGL"
818
+ }
819
+ }
820
+ },
821
+ {
822
+ column: "align.readsWithChain.IGLPercents",
823
+ id: "align-reads-with-chain-igl-percents",
824
+ allowNA: true,
825
+ naRegex: "",
826
+ spec: {
827
+ name: "mixcr.com/reports/align/readsWithChain/IGLPercents",
828
+ valueType: "Double",
829
+ annotations: {
830
+ "pl7.app/min": "0",
831
+ "pl7.app/max": "100",
832
+ "pl7.app/table/orderPriority": "96500",
833
+ "pl7.app/table/visibility": "default",
834
+ "pl7.app/label": "Reads with Chain IGL (%)"
835
+ }
836
+ }
837
+ },
838
+ {
839
+ column: "align.readsWithChain.TRAD",
840
+ id: "align-reads-with-chain-trad",
841
+ allowNA: true,
842
+ naRegex: "",
843
+ spec: {
844
+ name: "mixcr.com/reports/align/readsWithChain/TRAD",
845
+ valueType: "Long",
846
+ annotations: {
847
+ "pl7.app/min": "0",
848
+ "pl7.app/table/orderPriority": "96700",
849
+ "pl7.app/table/visibility": "optional",
850
+ "pl7.app/label": "Reads with Chain TRAD"
851
+ }
852
+ }
853
+ },
854
+ {
855
+ column: "align.readsWithChain.TRADPercents",
856
+ id: "align-reads-with-chain-trad-percents",
857
+ allowNA: true,
858
+ naRegex: "",
859
+ spec: {
860
+ name: "mixcr.com/reports/align/readsWithChain/TRADPercents",
861
+ valueType: "Double",
862
+ annotations: {
863
+ "pl7.app/min": "0",
864
+ "pl7.app/max": "100",
865
+ "pl7.app/table/orderPriority": "96800",
866
+ "pl7.app/table/visibility": "default",
867
+ "pl7.app/label": "Reads with Chain TRAD (%)"
868
+ }
869
+ }
870
+ },
871
+ {
872
+ column: "align.readsWithChain.TRB",
873
+ id: "align-reads-with-chain-trb",
874
+ allowNA: true,
875
+ naRegex: "",
876
+ spec: {
877
+ name: "mixcr.com/reports/align/readsWithChain/TRB",
878
+ valueType: "Long",
879
+ annotations: {
880
+ "pl7.app/min": "0",
881
+ "pl7.app/table/orderPriority": "97000",
882
+ "pl7.app/table/visibility": "optional",
883
+ "pl7.app/label": "Reads with Chain TRB"
884
+ }
885
+ }
886
+ },
887
+ {
888
+ column: "align.readsWithChain.TRBPercents",
889
+ id: "align-reads-with-chain-trb-percents",
890
+ allowNA: true,
891
+ naRegex: "",
892
+ spec: {
893
+ name: "mixcr.com/reports/align/readsWithChain/TRBPercents",
894
+ valueType: "Double",
895
+ annotations: {
896
+ "pl7.app/min": "0",
897
+ "pl7.app/max": "100",
898
+ "pl7.app/table/orderPriority": "97100",
899
+ "pl7.app/table/visibility": "default",
900
+ "pl7.app/label": "Reads with Chain TRB (%)"
901
+ }
902
+ }
903
+ },
904
+ {
905
+ column: "align.readsWithChain.TRG",
906
+ id: "align-reads-with-chain-trg",
907
+ allowNA: true,
908
+ naRegex: "",
909
+ spec: {
910
+ name: "mixcr.com/reports/align/readsWithChain/TRG",
911
+ valueType: "Long",
912
+ annotations: {
913
+ "pl7.app/min": "0",
914
+ "pl7.app/table/orderPriority": "97200",
915
+ "pl7.app/table/visibility": "optional",
916
+ "pl7.app/label": "Reads with Chain TRG"
917
+ }
918
+ }
919
+ },
920
+ {
921
+ column: "align.readsWithChain.TRGPercents",
922
+ id: "align-reads-with-chain-trg-percents",
923
+ allowNA: true,
924
+ naRegex: "",
925
+ spec: {
926
+ name: "mixcr.com/reports/align/readsWithChain/TRGPercents",
927
+ valueType: "Double",
928
+ annotations: {
929
+ "pl7.app/min": "0",
930
+ "pl7.app/max": "100",
931
+ "pl7.app/table/orderPriority": "97300",
932
+ "pl7.app/table/visibility": "default",
933
+ "pl7.app/label": "Reads with Chain TRG (%)"
934
+ }
935
+ }
936
+ },
937
+ {
938
+ column: "assembleCells.cellBarcodesWithFoundGroups",
939
+ id: "assemble-cells-cell-barcodes-with-found-groups",
940
+ allowNA: true,
941
+ naRegex: "NaN",
942
+ spec: {
943
+ name: "mixcr.com/reports/assembleCells/cellBarcodesWithFoundGroups",
944
+ valueType: "Long",
945
+ annotations: {
946
+ "pl7.app/min": "0",
947
+ "pl7.app/table/orderPriority": "65000",
948
+ "pl7.app/table/visibility": "optional",
949
+ "pl7.app/label": "Cell Barcodes with Found Groups"
950
+ }
951
+ }
952
+ },
953
+ {
954
+ column: "assembleCells.cellBarcodesWithFoundGroupsPercents",
955
+ id: "assemble-cells-cell-barcodes-with-found-groups-percents",
956
+ allowNA: true,
957
+ naRegex: "NaN",
958
+ spec: {
959
+ name: "mixcr.com/reports/assembleCells/cellBarcodesWithFoundGroupsPercents",
960
+ valueType: "Double",
961
+ annotations: {
962
+ "pl7.app/min": "0",
963
+ "pl7.app/max": "100",
964
+ "pl7.app/table/orderPriority": "64100",
965
+ "pl7.app/table/visibility": "default",
966
+ "pl7.app/label": "Cell Barcodes with Found Groups (%)"
967
+ }
968
+ }
969
+ },
970
+ {
971
+ column: "assembleCells.cellsNotIncludedBecauseContamination",
972
+ id: "assemble-cells-cells-not-included-because-contamination",
973
+ allowNA: true,
974
+ naRegex: "",
975
+ spec: {
976
+ name: "mixcr.com/reports/assembleCells/cellsNotIncludedBecauseContamination",
977
+ valueType: "Long",
978
+ annotations: {
979
+ "pl7.app/min": "0",
980
+ "pl7.app/table/orderPriority": "64200",
981
+ "pl7.app/table/visibility": "optional",
982
+ "pl7.app/label": "Cells Not Included Because Contamination"
983
+ }
984
+ }
985
+ },
986
+ {
987
+ column: "assembleCells.cellsNotIncludedBecauseContaminationPercents",
988
+ id: "assemble-cells-cells-not-included-because-contamination-percents",
989
+ allowNA: true,
990
+ naRegex: "NaN",
991
+ spec: {
992
+ name: "mixcr.com/reports/assembleCells/cellsNotIncludedBecauseContaminationPercents",
993
+ valueType: "Double",
994
+ annotations: {
995
+ "pl7.app/min": "0",
996
+ "pl7.app/max": "100",
997
+ "pl7.app/table/orderPriority": "64300",
998
+ "pl7.app/table/visibility": "default",
999
+ "pl7.app/label": "Cells Not Included Because Contamination (%)"
1000
+ }
1001
+ }
1002
+ },
1003
+ {
1004
+ column: "assembleCells.cloneContamination",
1005
+ id: "assemble-cells-clone-contamination",
1006
+ allowNA: true,
1007
+ naRegex: "NaN",
1008
+ spec: {
1009
+ name: "mixcr.com/reports/assembleCells/cloneContamination",
1010
+ valueType: "Long",
1011
+ annotations: {
1012
+ "pl7.app/min": "0",
1013
+ "pl7.app/table/orderPriority": "64400",
1014
+ "pl7.app/table/visibility": "optional",
1015
+ "pl7.app/label": "Clone Contamination"
1016
+ }
1017
+ }
1018
+ },
1019
+ {
1020
+ column: "assembleCells.cloneContaminationPercents",
1021
+ id: "assemble-cells-clone-contamination-percents",
1022
+ allowNA: true,
1023
+ naRegex: "NaN",
1024
+ spec: {
1025
+ name: "mixcr.com/reports/assembleCells/cloneContaminationPercents",
1026
+ valueType: "Double",
1027
+ annotations: {
1028
+ "pl7.app/min": "0",
1029
+ "pl7.app/max": "100",
1030
+ "pl7.app/table/orderPriority": "64500",
1031
+ "pl7.app/table/visibility": "default",
1032
+ "pl7.app/label": "Clone Contamination (%)"
1033
+ }
1034
+ }
1035
+ },
1036
+ {
1037
+ column: "assembleCells.contaminatedCells",
1038
+ id: "assemble-cells-contaminated-cells",
1039
+ allowNA: true,
1040
+ naRegex: "NaN",
1041
+ spec: {
1042
+ name: "mixcr.com/reports/assembleCells/contaminatedCells",
1043
+ valueType: "Long",
1044
+ annotations: {
1045
+ "pl7.app/min": "0",
1046
+ "pl7.app/table/orderPriority": "64600",
1047
+ "pl7.app/table/visibility": "optional",
1048
+ "pl7.app/label": "Contaminated Cells"
1049
+ }
1050
+ }
1051
+ },
1052
+ {
1053
+ column: "assembleCells.contaminatedCellsPercents",
1054
+ id: "assemble-cells-contaminated-cells-percents",
1055
+ allowNA: true,
1056
+ naRegex: "NaN",
1057
+ spec: {
1058
+ name: "mixcr.com/reports/assembleCells/contaminatedCellsPercents",
1059
+ valueType: "Double",
1060
+ annotations: {
1061
+ "pl7.app/min": "0",
1062
+ "pl7.app/max": "100",
1063
+ "pl7.app/table/orderPriority": "64700",
1064
+ "pl7.app/table/visibility": "default",
1065
+ "pl7.app/label": "Contaminated Cells (%)"
1066
+ }
1067
+ }
1068
+ },
1069
+ {
1070
+ column: "assembleCells.groupsWithTooMatchClones",
1071
+ id: "assemble-cells-groups-with-too-match-clones",
1072
+ allowNA: true,
1073
+ naRegex: "NaN",
1074
+ spec: {
1075
+ name: "mixcr.com/reports/assembleCells/groupsWithTooMatchClones",
1076
+ valueType: "Long",
1077
+ annotations: {
1078
+ "pl7.app/min": "0",
1079
+ "pl7.app/table/orderPriority": "64800",
1080
+ "pl7.app/table/visibility": "optional",
1081
+ "pl7.app/label": "Groups with Too Many Clones"
1082
+ }
1083
+ }
1084
+ },
1085
+ {
1086
+ column: "assembleCells.groupsWithTooMatchClonesPercents",
1087
+ id: "assemble-cells-groups-with-too-match-clones-percents",
1088
+ allowNA: true,
1089
+ naRegex: "NaN",
1090
+ spec: {
1091
+ name: "mixcr.com/reports/assembleCells/groupsWithTooMatchClonesPercents",
1092
+ valueType: "Double",
1093
+ annotations: {
1094
+ "pl7.app/min": "0",
1095
+ "pl7.app/max": "100",
1096
+ "pl7.app/table/orderPriority": "64900",
1097
+ "pl7.app/table/visibility": "default",
1098
+ "pl7.app/label": "Groups with Too Many Clones (%)"
1099
+ }
1100
+ }
1101
+ },
1102
+ {
1103
+ column: "assembleCells.invalidGroups",
1104
+ id: "assemble-cells-invalid-groups",
1105
+ allowNA: true,
1106
+ naRegex: "NaN",
1107
+ spec: {
1108
+ name: "mixcr.com/reports/assembleCells/invalidGroups",
1109
+ valueType: "Long",
1110
+ annotations: {
1111
+ "pl7.app/min": "0",
1112
+ "pl7.app/table/orderPriority": "65000",
1113
+ "pl7.app/table/visibility": "optional",
1114
+ "pl7.app/label": "Invalid Groups"
1115
+ }
1116
+ }
1117
+ },
1118
+ {
1119
+ column: "assembleCells.invalidGroupsPercents",
1120
+ id: "assemble-cells-invalid-groups-percents",
1121
+ allowNA: true,
1122
+ naRegex: "NaN",
1123
+ spec: {
1124
+ name: "mixcr.com/reports/assembleCells/invalidGroupsPercents",
1125
+ valueType: "Double",
1126
+ annotations: {
1127
+ "pl7.app/min": "0",
1128
+ "pl7.app/max": "100",
1129
+ "pl7.app/table/orderPriority": "65100",
1130
+ "pl7.app/table/visibility": "default",
1131
+ "pl7.app/label": "Invalid Groups (%)"
1132
+ }
1133
+ }
1134
+ },
1135
+ {
1136
+ column: "assembleCells.numberOfGroups",
1137
+ id: "assemble-cells-number-of-groups",
1138
+ allowNA: true,
1139
+ naRegex: "NaN",
1140
+ spec: {
1141
+ name: "mixcr.com/reports/assembleCells/numberOfGroups",
1142
+ valueType: "Long",
1143
+ annotations: {
1144
+ "pl7.app/min": "0",
1145
+ "pl7.app/table/orderPriority": "65200",
1146
+ "pl7.app/table/visibility": "optional",
1147
+ "pl7.app/label": "Number of Groups"
1148
+ }
1149
+ }
1150
+ },
1151
+ {
1152
+ column: "assembleCells.unassignedClonotypes",
1153
+ id: "assemble-cells-unassigned-clonotypes",
1154
+ allowNA: true,
1155
+ naRegex: "NaN",
1156
+ spec: {
1157
+ name: "mixcr.com/reports/assembleCells/unassignedClonotypes",
1158
+ valueType: "Long",
1159
+ annotations: {
1160
+ "pl7.app/min": "0",
1161
+ "pl7.app/table/orderPriority": "65300",
1162
+ "pl7.app/table/visibility": "optional",
1163
+ "pl7.app/label": "Unassigned Clonotypes"
1164
+ }
1165
+ }
1166
+ },
1167
+ {
1168
+ column: "assembleCells.unassignedClonotypesPercents",
1169
+ id: "assemble-cells-unassigned-clonotypes-percents",
1170
+ allowNA: true,
1171
+ naRegex: "NaN",
1172
+ spec: {
1173
+ name: "mixcr.com/reports/assembleCells/unassignedClonotypesPercents",
1174
+ valueType: "Double",
1175
+ annotations: {
1176
+ "pl7.app/min": "0",
1177
+ "pl7.app/max": "100",
1178
+ "pl7.app/table/orderPriority": "65400",
1179
+ "pl7.app/table/visibility": "default",
1180
+ "pl7.app/label": "Unassigned Clonotypes (%)"
1181
+ }
1182
+ }
1183
+ },
1184
+ {
1185
+ column: "refineTags.CELL.outputCount",
1186
+ id: "refine-tags-cell-output-count",
1187
+ allowNA: true,
1188
+ naRegex: "NaN",
1189
+ spec: {
1190
+ name: "mixcr.com/reports/refineTags/CELL/outputCount",
1191
+ valueType: "Long",
1192
+ annotations: {
1193
+ "pl7.app/min": "0",
1194
+ "pl7.app/table/orderPriority": "85800",
1195
+ "pl7.app/table/visibility": "optional",
1196
+ "pl7.app/label": "Refine Tags CELL - Output Count"
1197
+ }
1198
+ }
1199
+ },
1200
+ {
1201
+ column: "refineTags.CELL.outputCountPercents",
1202
+ id: "refine-tags-cell-output-count-percents",
1203
+ allowNA: true,
1204
+ naRegex: "NaN",
1205
+ spec: {
1206
+ name: "mixcr.com/reports/refineTags/CELL/outputCountPercents",
1207
+ valueType: "Double",
1208
+ annotations: {
1209
+ "pl7.app/min": "0",
1210
+ "pl7.app/max": "100",
1211
+ "pl7.app/table/orderPriority": "85900",
1212
+ "pl7.app/table/visibility": "default",
1213
+ "pl7.app/label": "Refine Tags CELL - Output Count (%)"
1214
+ }
1215
+ }
1216
+ },
1217
+ {
1218
+ column: "refineTags.CELL.outputDiversity",
1219
+ id: "refine-tags-cell-output-diversity",
1220
+ allowNA: true,
1221
+ naRegex: "NaN",
1222
+ spec: {
1223
+ name: "mixcr.com/reports/refineTags/CELL/outputDiversity",
1224
+ valueType: "Long",
1225
+ annotations: {
1226
+ "pl7.app/min": "0",
1227
+ "pl7.app/table/orderPriority": "86000",
1228
+ "pl7.app/table/visibility": "optional",
1229
+ "pl7.app/label": "Refine Tags CELL - Output Diversity"
1230
+ }
1231
+ }
1232
+ },
1233
+ {
1234
+ column: "refineTags.CELL.outputDiversityPercents",
1235
+ id: "refine-tags-cell-output-diversity-percents",
1236
+ allowNA: true,
1237
+ naRegex: "NaN",
1238
+ spec: {
1239
+ name: "mixcr.com/reports/refineTags/CELL/outputDiversityPercents",
1240
+ valueType: "Double",
1241
+ annotations: {
1242
+ "pl7.app/min": "0",
1243
+ "pl7.app/max": "100",
1244
+ "pl7.app/table/orderPriority": "86100",
1245
+ "pl7.app/table/visibility": "default",
1246
+ "pl7.app/label": "Refine Tags CELL - Output Diversity (%)"
1247
+ }
1248
+ }
1249
+ }]
1250
+
1251
+ for chain in chains {
1252
+ singleCellColumns += [{
1253
+ column: "clonesWithChain." + chain,
1254
+ id: "clones-with-chain-" + chain,
1255
+ allowNA: true,
1256
+ naRegex: "",
1257
+ spec: {
1258
+ name: "mixcr.com/reports/clonesWithChain/" + chain,
1259
+ valueType: "Long",
1260
+ annotations: {
1261
+ "pl7.app/min": "0",
1262
+ "pl7.app/table/orderPriority": "97400",
1263
+ "pl7.app/table/visibility": "optional",
1264
+ "pl7.app/label": "Clones with Chain " + chain
1265
+ }
1266
+ }
1267
+ }]
1268
+ }
1269
+
1270
+ columns := baseColumns
1271
+ if hasUmi {
1272
+ columns = columns + dataWithUmiColumns
1273
+ }
1274
+ if isSingleCell {
1275
+ columns = columns + singleCellColumns
1276
+ }
1277
+
1278
+ axes := [{
1279
+ column: "sampleId",
1280
+ spec: sampleIdAxisSpec
1281
+ }]
1282
+
1283
+ return {
1284
+ reportColumnsSpec: {
1285
+ axes: axes,
1286
+ columns: columns,
1287
+ storageFormat: "Binary",
1288
+ partitionKeyLength: 0
1289
+ }
1290
+ }
1291
+ }
1292
+
1293
+ export getQcReportColumns