@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 3.22.0 → 3.23.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,7 +1,7 @@
1
1
   WARN  Issue while reading "/home/runner/work/mixcr-clonotyping/mixcr-clonotyping/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@3.22.0 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
4
- > rm -rf dist && pl-tengo check && pl-tengo build
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@3.23.1 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
4
+ > shx rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  info: Skipping unknown file type: test/columns.test.ts
7
7
  Processing "src/aggregate-by-clonotype-key.tpl.tengo"...
@@ -17,6 +17,7 @@ Processing "src/prerun.tpl.tengo"...
17
17
  Processing "src/process-single-cell.tpl.tengo"...
18
18
  Processing "src/process.tpl.tengo"...
19
19
  Processing "src/qc-report-columns.lib.tengo"...
20
+ Processing "src/stop-codon-replacement.lib.tengo"...
20
21
  Processing "src/test/columns-calculate.tpl.tengo"...
21
22
  Processing "src/test/columns.test.tpl.tengo"...
22
23
  No syntax errors found.
@@ -25,6 +26,7 @@ No syntax errors found.
25
26
  info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/lib/calculate-export-specs.lib.tengo
26
27
  info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/lib/clonotype-label.lib.tengo
27
28
  info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/lib/qc-report-columns.lib.tengo
29
+ info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/lib/stop-codon-replacement.lib.tengo
28
30
  info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/tpl/aggregate-by-clonotype-key.plj.gz
29
31
  info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/tpl/calculate-preset-info.plj.gz
30
32
  info: - writing /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow/dist/tengo/tpl/export-report.plj.gz
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @platforma-open/milaboratories.mixcr-clonotyping.workflow
2
2
 
3
+ ## 3.23.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 6f30f09: Upgrade MiXCR to 4.7.0-300-develop, add MI_LICENSE_DEBUG env, fix assembleCells column error in SC QC report, show loading spinner while sample list loads
8
+
9
+ ## 3.23.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 3c8ed71: stop codon replacement and dep updates
14
+
3
15
  ## 3.22.0
4
16
 
5
17
  ### Minor Changes
@@ -442,6 +442,9 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
442
442
  }
443
443
 
444
444
  orderP := 80000
445
+ aminoAcidSeqColumns := []
446
+ aminoAcidSeqColumnPairs := []
447
+ cdr3SeqColumns := []
445
448
 
446
449
 
447
450
 
@@ -466,6 +469,16 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
466
469
  alphabetShortMixcr := isAminoAcid ? "aa" : "n"
467
470
  columnName := alphabetShortMixcr + "Seq" + imputedU + featureInFrameU
468
471
  visibility := featureU == "CDR3" && (!isSingleCell || isAminoAcid) // isSingleCell ? (featureU == "CDR3") && isAminoAcid : (featureU == "CDR3") || (featureU == assemblingFeature)
472
+ if featureU == "CDR3" {
473
+ cdr3SeqColumns += [ columnName ]
474
+ }
475
+ if isAminoAcid {
476
+ aminoAcidSeqColumns += [ columnName ]
477
+ aminoAcidSeqColumnPairs += [ {
478
+ aa: columnName,
479
+ nt: "nSeq" + imputedU + featureU
480
+ } ]
481
+ }
469
482
  columnsSpecPerClonotypeNoAggregates += [ {
470
483
  column: columnName,
471
484
  id: alphabetShortMixcr + "-seq-" + featureInFrameL + (isImputed ? "-imputed" : ""),
@@ -973,6 +986,7 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
973
986
  }
974
987
 
975
988
  return {
989
+ productiveFeature: productiveFeature,
976
990
  clonotypeKeyColumns: clonotypeKeyColumns,
977
991
  clonotypeKeyArgs: clonotypeKeyArgs,
978
992
 
@@ -981,6 +995,10 @@ calculateExportSpecs := func(presetSpecForBack, sampleIdAxisSpec, blockId, expor
981
995
  axisByClonotypeKeyGen: axisByClonotypeKeyGen,
982
996
  axisByScClonotypeKeyGen: axisByScClonotypeKeyGen,
983
997
 
998
+ aminoAcidSeqColumns: aminoAcidSeqColumns,
999
+ aminoAcidSeqColumnPairs: aminoAcidSeqColumnPairs,
1000
+ cdr3SeqColumns: cdr3SeqColumns,
1001
+
984
1002
  columnsSpecPerSample: columnsSpecPerSample,
985
1003
  columnsSpecPerSampleSc: columnsSpecPerSampleSc,
986
1004
  columnsSpecPerClonotypeNoAggregates: columnsSpecPerClonotypeNoAggregates,
@@ -6,7 +6,7 @@ pConstants := import("@platforma-sdk/workflow-tengo:pframes.constants")
6
6
  text := import("text")
7
7
 
8
8
 
9
- getQcReportColumns := func(hasUmi, isSingleCell, sampleIdAxisSpec, chains, cellTags, umiTags) {
9
+ getQcReportColumns := func(hasUmi, isSingleCell, sampleIdAxisSpec, chains, cellTags, umiTags, hasAssembleCells) {
10
10
  if is_undefined(umiTags) {
11
11
  umiTags = []
12
12
  }
@@ -1045,253 +1045,258 @@ getQcReportColumns := func(hasUmi, isSingleCell, sampleIdAxisSpec, chains, cellT
1045
1045
 
1046
1046
 
1047
1047
 
1048
- {
1049
- column: "assembleCells.cellBarcodesWithFoundGroups",
1050
- id: "assemble-cells-cell-barcodes-with-found-groups",
1051
- allowNA: true,
1052
- naRegex: "NaN",
1053
- spec: {
1054
- name: "mixcr.com/reports/assembleCells/cellBarcodesWithFoundGroups",
1055
- valueType: "Long",
1056
- annotations: {
1057
- "pl7.app/min": "0",
1058
- "pl7.app/table/orderPriority": "65000",
1059
- "pl7.app/table/visibility": "optional",
1060
- "pl7.app/label": "Cell Barcodes with Found Groups"
1048
+ ]
1049
+
1050
+ if hasAssembleCells {
1051
+ singleCellColumns += [
1052
+ {
1053
+ column: "assembleCells.cellBarcodesWithFoundGroups",
1054
+ id: "assemble-cells-cell-barcodes-with-found-groups",
1055
+ allowNA: true,
1056
+ naRegex: "NaN",
1057
+ spec: {
1058
+ name: "mixcr.com/reports/assembleCells/cellBarcodesWithFoundGroups",
1059
+ valueType: "Long",
1060
+ annotations: {
1061
+ "pl7.app/min": "0",
1062
+ "pl7.app/table/orderPriority": "65000",
1063
+ "pl7.app/table/visibility": "optional",
1064
+ "pl7.app/label": "Cell Barcodes with Found Groups"
1065
+ }
1061
1066
  }
1062
- }
1063
- },
1064
- {
1065
- column: "assembleCells.cellBarcodesWithFoundGroupsPercents",
1066
- id: "assemble-cells-cell-barcodes-with-found-groups-percents",
1067
- allowNA: true,
1068
- naRegex: "NaN",
1069
- spec: {
1070
- name: "mixcr.com/reports/assembleCells/cellBarcodesWithFoundGroupsPercents",
1071
- valueType: "Double",
1072
- annotations: {
1073
- "pl7.app/min": "0",
1074
- "pl7.app/max": "100",
1075
- "pl7.app/table/orderPriority": "64100",
1076
- "pl7.app/table/visibility": "default",
1077
- "pl7.app/label": "Cell Barcodes with Found Groups (%)"
1067
+ },
1068
+ {
1069
+ column: "assembleCells.cellBarcodesWithFoundGroupsPercents",
1070
+ id: "assemble-cells-cell-barcodes-with-found-groups-percents",
1071
+ allowNA: true,
1072
+ naRegex: "NaN",
1073
+ spec: {
1074
+ name: "mixcr.com/reports/assembleCells/cellBarcodesWithFoundGroupsPercents",
1075
+ valueType: "Double",
1076
+ annotations: {
1077
+ "pl7.app/min": "0",
1078
+ "pl7.app/max": "100",
1079
+ "pl7.app/table/orderPriority": "64100",
1080
+ "pl7.app/table/visibility": "default",
1081
+ "pl7.app/label": "Cell Barcodes with Found Groups (%)"
1082
+ }
1078
1083
  }
1079
- }
1080
- },
1081
- {
1082
- column: "assembleCells.cellsNotIncludedBecauseContamination",
1083
- id: "assemble-cells-cells-not-included-because-contamination",
1084
- allowNA: true,
1085
- naRegex: "",
1086
- spec: {
1087
- name: "mixcr.com/reports/assembleCells/cellsNotIncludedBecauseContamination",
1088
- valueType: "Long",
1089
- annotations: {
1090
- "pl7.app/min": "0",
1091
- "pl7.app/table/orderPriority": "64200",
1092
- "pl7.app/table/visibility": "optional",
1093
- "pl7.app/label": "Cells Not Included Because Contamination"
1084
+ },
1085
+ {
1086
+ column: "assembleCells.cellsNotIncludedBecauseContamination",
1087
+ id: "assemble-cells-cells-not-included-because-contamination",
1088
+ allowNA: true,
1089
+ naRegex: "",
1090
+ spec: {
1091
+ name: "mixcr.com/reports/assembleCells/cellsNotIncludedBecauseContamination",
1092
+ valueType: "Long",
1093
+ annotations: {
1094
+ "pl7.app/min": "0",
1095
+ "pl7.app/table/orderPriority": "64200",
1096
+ "pl7.app/table/visibility": "optional",
1097
+ "pl7.app/label": "Cells Not Included Because Contamination"
1098
+ }
1094
1099
  }
1095
- }
1096
- },
1097
- {
1098
- column: "assembleCells.cellsNotIncludedBecauseContaminationPercents",
1099
- id: "assemble-cells-cells-not-included-because-contamination-percents",
1100
- allowNA: true,
1101
- naRegex: "NaN",
1102
- spec: {
1103
- name: "mixcr.com/reports/assembleCells/cellsNotIncludedBecauseContaminationPercents",
1104
- valueType: "Double",
1105
- annotations: {
1106
- "pl7.app/min": "0",
1107
- "pl7.app/max": "100",
1108
- "pl7.app/table/orderPriority": "64300",
1109
- "pl7.app/table/visibility": "default",
1110
- "pl7.app/label": "Cells Not Included Because Contamination (%)"
1100
+ },
1101
+ {
1102
+ column: "assembleCells.cellsNotIncludedBecauseContaminationPercents",
1103
+ id: "assemble-cells-cells-not-included-because-contamination-percents",
1104
+ allowNA: true,
1105
+ naRegex: "NaN",
1106
+ spec: {
1107
+ name: "mixcr.com/reports/assembleCells/cellsNotIncludedBecauseContaminationPercents",
1108
+ valueType: "Double",
1109
+ annotations: {
1110
+ "pl7.app/min": "0",
1111
+ "pl7.app/max": "100",
1112
+ "pl7.app/table/orderPriority": "64300",
1113
+ "pl7.app/table/visibility": "default",
1114
+ "pl7.app/label": "Cells Not Included Because Contamination (%)"
1115
+ }
1111
1116
  }
1112
- }
1113
- },
1114
- {
1115
- column: "assembleCells.cloneContamination",
1116
- id: "assemble-cells-clone-contamination",
1117
- allowNA: true,
1118
- naRegex: "NaN",
1119
- spec: {
1120
- name: "mixcr.com/reports/assembleCells/cloneContamination",
1121
- valueType: "Long",
1122
- annotations: {
1123
- "pl7.app/min": "0",
1124
- "pl7.app/table/orderPriority": "64400",
1125
- "pl7.app/table/visibility": "optional",
1126
- "pl7.app/label": "Clone Contamination"
1117
+ },
1118
+ {
1119
+ column: "assembleCells.cloneContamination",
1120
+ id: "assemble-cells-clone-contamination",
1121
+ allowNA: true,
1122
+ naRegex: "NaN",
1123
+ spec: {
1124
+ name: "mixcr.com/reports/assembleCells/cloneContamination",
1125
+ valueType: "Long",
1126
+ annotations: {
1127
+ "pl7.app/min": "0",
1128
+ "pl7.app/table/orderPriority": "64400",
1129
+ "pl7.app/table/visibility": "optional",
1130
+ "pl7.app/label": "Clone Contamination"
1131
+ }
1127
1132
  }
1128
- }
1129
- },
1130
- {
1131
- column: "assembleCells.cloneContaminationPercents",
1132
- id: "assemble-cells-clone-contamination-percents",
1133
- allowNA: true,
1134
- naRegex: "NaN",
1135
- spec: {
1136
- name: "mixcr.com/reports/assembleCells/cloneContaminationPercents",
1137
- valueType: "Double",
1138
- annotations: {
1139
- "pl7.app/min": "0",
1140
- "pl7.app/max": "100",
1141
- "pl7.app/table/orderPriority": "64500",
1142
- "pl7.app/table/visibility": "default",
1143
- "pl7.app/label": "Clone Contamination (%)"
1133
+ },
1134
+ {
1135
+ column: "assembleCells.cloneContaminationPercents",
1136
+ id: "assemble-cells-clone-contamination-percents",
1137
+ allowNA: true,
1138
+ naRegex: "NaN",
1139
+ spec: {
1140
+ name: "mixcr.com/reports/assembleCells/cloneContaminationPercents",
1141
+ valueType: "Double",
1142
+ annotations: {
1143
+ "pl7.app/min": "0",
1144
+ "pl7.app/max": "100",
1145
+ "pl7.app/table/orderPriority": "64500",
1146
+ "pl7.app/table/visibility": "default",
1147
+ "pl7.app/label": "Clone Contamination (%)"
1148
+ }
1144
1149
  }
1145
- }
1146
- },
1147
- {
1148
- column: "assembleCells.contaminatedCells",
1149
- id: "assemble-cells-contaminated-cells",
1150
- allowNA: true,
1151
- naRegex: "NaN",
1152
- spec: {
1153
- name: "mixcr.com/reports/assembleCells/contaminatedCells",
1154
- valueType: "Long",
1155
- annotations: {
1156
- "pl7.app/min": "0",
1157
- "pl7.app/table/orderPriority": "64600",
1158
- "pl7.app/table/visibility": "optional",
1159
- "pl7.app/label": "Contaminated Cells"
1150
+ },
1151
+ {
1152
+ column: "assembleCells.contaminatedCells",
1153
+ id: "assemble-cells-contaminated-cells",
1154
+ allowNA: true,
1155
+ naRegex: "NaN",
1156
+ spec: {
1157
+ name: "mixcr.com/reports/assembleCells/contaminatedCells",
1158
+ valueType: "Long",
1159
+ annotations: {
1160
+ "pl7.app/min": "0",
1161
+ "pl7.app/table/orderPriority": "64600",
1162
+ "pl7.app/table/visibility": "optional",
1163
+ "pl7.app/label": "Contaminated Cells"
1164
+ }
1160
1165
  }
1161
- }
1162
- },
1163
- {
1164
- column: "assembleCells.contaminatedCellsPercents",
1165
- id: "assemble-cells-contaminated-cells-percents",
1166
- allowNA: true,
1167
- naRegex: "NaN",
1168
- spec: {
1169
- name: "mixcr.com/reports/assembleCells/contaminatedCellsPercents",
1170
- valueType: "Double",
1171
- annotations: {
1172
- "pl7.app/min": "0",
1173
- "pl7.app/max": "100",
1174
- "pl7.app/table/orderPriority": "64700",
1175
- "pl7.app/table/visibility": "default",
1176
- "pl7.app/label": "Contaminated Cells (%)"
1166
+ },
1167
+ {
1168
+ column: "assembleCells.contaminatedCellsPercents",
1169
+ id: "assemble-cells-contaminated-cells-percents",
1170
+ allowNA: true,
1171
+ naRegex: "NaN",
1172
+ spec: {
1173
+ name: "mixcr.com/reports/assembleCells/contaminatedCellsPercents",
1174
+ valueType: "Double",
1175
+ annotations: {
1176
+ "pl7.app/min": "0",
1177
+ "pl7.app/max": "100",
1178
+ "pl7.app/table/orderPriority": "64700",
1179
+ "pl7.app/table/visibility": "default",
1180
+ "pl7.app/label": "Contaminated Cells (%)"
1181
+ }
1177
1182
  }
1178
- }
1179
- },
1180
- {
1181
- column: "assembleCells.groupsWithTooMatchClones",
1182
- id: "assemble-cells-groups-with-too-match-clones",
1183
- allowNA: true,
1184
- naRegex: "NaN",
1185
- spec: {
1186
- name: "mixcr.com/reports/assembleCells/groupsWithTooMatchClones",
1187
- valueType: "Long",
1188
- annotations: {
1189
- "pl7.app/min": "0",
1190
- "pl7.app/table/orderPriority": "64800",
1191
- "pl7.app/table/visibility": "optional",
1192
- "pl7.app/label": "Groups with Too Many Clones"
1183
+ },
1184
+ {
1185
+ column: "assembleCells.groupsWithTooMatchClones",
1186
+ id: "assemble-cells-groups-with-too-match-clones",
1187
+ allowNA: true,
1188
+ naRegex: "NaN",
1189
+ spec: {
1190
+ name: "mixcr.com/reports/assembleCells/groupsWithTooMatchClones",
1191
+ valueType: "Long",
1192
+ annotations: {
1193
+ "pl7.app/min": "0",
1194
+ "pl7.app/table/orderPriority": "64800",
1195
+ "pl7.app/table/visibility": "optional",
1196
+ "pl7.app/label": "Groups with Too Many Clones"
1197
+ }
1193
1198
  }
1194
- }
1195
- },
1196
- {
1197
- column: "assembleCells.groupsWithTooMatchClonesPercents",
1198
- id: "assemble-cells-groups-with-too-match-clones-percents",
1199
- allowNA: true,
1200
- naRegex: "NaN",
1201
- spec: {
1202
- name: "mixcr.com/reports/assembleCells/groupsWithTooMatchClonesPercents",
1203
- valueType: "Double",
1204
- annotations: {
1205
- "pl7.app/min": "0",
1206
- "pl7.app/max": "100",
1207
- "pl7.app/table/orderPriority": "64900",
1208
- "pl7.app/table/visibility": "default",
1209
- "pl7.app/label": "Groups with Too Many Clones (%)"
1199
+ },
1200
+ {
1201
+ column: "assembleCells.groupsWithTooMatchClonesPercents",
1202
+ id: "assemble-cells-groups-with-too-match-clones-percents",
1203
+ allowNA: true,
1204
+ naRegex: "NaN",
1205
+ spec: {
1206
+ name: "mixcr.com/reports/assembleCells/groupsWithTooMatchClonesPercents",
1207
+ valueType: "Double",
1208
+ annotations: {
1209
+ "pl7.app/min": "0",
1210
+ "pl7.app/max": "100",
1211
+ "pl7.app/table/orderPriority": "64900",
1212
+ "pl7.app/table/visibility": "default",
1213
+ "pl7.app/label": "Groups with Too Many Clones (%)"
1214
+ }
1210
1215
  }
1211
- }
1212
- },
1213
- {
1214
- column: "assembleCells.invalidGroups",
1215
- id: "assemble-cells-invalid-groups",
1216
- allowNA: true,
1217
- naRegex: "NaN",
1218
- spec: {
1219
- name: "mixcr.com/reports/assembleCells/invalidGroups",
1220
- valueType: "Long",
1221
- annotations: {
1222
- "pl7.app/min": "0",
1223
- "pl7.app/table/orderPriority": "65000",
1224
- "pl7.app/table/visibility": "optional",
1225
- "pl7.app/label": "Invalid Groups"
1216
+ },
1217
+ {
1218
+ column: "assembleCells.invalidGroups",
1219
+ id: "assemble-cells-invalid-groups",
1220
+ allowNA: true,
1221
+ naRegex: "NaN",
1222
+ spec: {
1223
+ name: "mixcr.com/reports/assembleCells/invalidGroups",
1224
+ valueType: "Long",
1225
+ annotations: {
1226
+ "pl7.app/min": "0",
1227
+ "pl7.app/table/orderPriority": "65000",
1228
+ "pl7.app/table/visibility": "optional",
1229
+ "pl7.app/label": "Invalid Groups"
1230
+ }
1226
1231
  }
1227
- }
1228
- },
1229
- {
1230
- column: "assembleCells.invalidGroupsPercents",
1231
- id: "assemble-cells-invalid-groups-percents",
1232
- allowNA: true,
1233
- naRegex: "NaN",
1234
- spec: {
1235
- name: "mixcr.com/reports/assembleCells/invalidGroupsPercents",
1236
- valueType: "Double",
1237
- annotations: {
1238
- "pl7.app/min": "0",
1239
- "pl7.app/max": "100",
1240
- "pl7.app/table/orderPriority": "65100",
1241
- "pl7.app/table/visibility": "default",
1242
- "pl7.app/label": "Invalid Groups (%)"
1232
+ },
1233
+ {
1234
+ column: "assembleCells.invalidGroupsPercents",
1235
+ id: "assemble-cells-invalid-groups-percents",
1236
+ allowNA: true,
1237
+ naRegex: "NaN",
1238
+ spec: {
1239
+ name: "mixcr.com/reports/assembleCells/invalidGroupsPercents",
1240
+ valueType: "Double",
1241
+ annotations: {
1242
+ "pl7.app/min": "0",
1243
+ "pl7.app/max": "100",
1244
+ "pl7.app/table/orderPriority": "65100",
1245
+ "pl7.app/table/visibility": "default",
1246
+ "pl7.app/label": "Invalid Groups (%)"
1247
+ }
1243
1248
  }
1244
- }
1245
- },
1246
- {
1247
- column: "assembleCells.numberOfGroups",
1248
- id: "assemble-cells-number-of-groups",
1249
- allowNA: true,
1250
- naRegex: "NaN",
1251
- spec: {
1252
- name: "mixcr.com/reports/assembleCells/numberOfGroups",
1253
- valueType: "Long",
1254
- annotations: {
1255
- "pl7.app/min": "0",
1256
- "pl7.app/table/orderPriority": "65200",
1257
- "pl7.app/table/visibility": "optional",
1258
- "pl7.app/label": "Number of Groups"
1249
+ },
1250
+ {
1251
+ column: "assembleCells.numberOfGroups",
1252
+ id: "assemble-cells-number-of-groups",
1253
+ allowNA: true,
1254
+ naRegex: "NaN",
1255
+ spec: {
1256
+ name: "mixcr.com/reports/assembleCells/numberOfGroups",
1257
+ valueType: "Long",
1258
+ annotations: {
1259
+ "pl7.app/min": "0",
1260
+ "pl7.app/table/orderPriority": "65200",
1261
+ "pl7.app/table/visibility": "optional",
1262
+ "pl7.app/label": "Number of Groups"
1263
+ }
1259
1264
  }
1260
- }
1261
- },
1262
- {
1263
- column: "assembleCells.unassignedClonotypes",
1264
- id: "assemble-cells-unassigned-clonotypes",
1265
- allowNA: true,
1266
- naRegex: "NaN",
1267
- spec: {
1268
- name: "mixcr.com/reports/assembleCells/unassignedClonotypes",
1269
- valueType: "Long",
1270
- annotations: {
1271
- "pl7.app/min": "0",
1272
- "pl7.app/table/orderPriority": "65300",
1273
- "pl7.app/table/visibility": "optional",
1274
- "pl7.app/label": "Unassigned Clonotypes"
1265
+ },
1266
+ {
1267
+ column: "assembleCells.unassignedClonotypes",
1268
+ id: "assemble-cells-unassigned-clonotypes",
1269
+ allowNA: true,
1270
+ naRegex: "NaN",
1271
+ spec: {
1272
+ name: "mixcr.com/reports/assembleCells/unassignedClonotypes",
1273
+ valueType: "Long",
1274
+ annotations: {
1275
+ "pl7.app/min": "0",
1276
+ "pl7.app/table/orderPriority": "65300",
1277
+ "pl7.app/table/visibility": "optional",
1278
+ "pl7.app/label": "Unassigned Clonotypes"
1279
+ }
1275
1280
  }
1276
- }
1277
- },
1278
- {
1279
- column: "assembleCells.unassignedClonotypesPercents",
1280
- id: "assemble-cells-unassigned-clonotypes-percents",
1281
- allowNA: true,
1282
- naRegex: "NaN",
1283
- spec: {
1284
- name: "mixcr.com/reports/assembleCells/unassignedClonotypesPercents",
1285
- valueType: "Double",
1286
- annotations: {
1287
- "pl7.app/min": "0",
1288
- "pl7.app/max": "100",
1289
- "pl7.app/table/orderPriority": "65400",
1290
- "pl7.app/table/visibility": "default",
1291
- "pl7.app/label": "Unassigned Clonotypes (%)"
1281
+ },
1282
+ {
1283
+ column: "assembleCells.unassignedClonotypesPercents",
1284
+ id: "assemble-cells-unassigned-clonotypes-percents",
1285
+ allowNA: true,
1286
+ naRegex: "NaN",
1287
+ spec: {
1288
+ name: "mixcr.com/reports/assembleCells/unassignedClonotypesPercents",
1289
+ valueType: "Double",
1290
+ annotations: {
1291
+ "pl7.app/min": "0",
1292
+ "pl7.app/max": "100",
1293
+ "pl7.app/table/orderPriority": "65400",
1294
+ "pl7.app/table/visibility": "default",
1295
+ "pl7.app/label": "Unassigned Clonotypes (%)"
1296
+ }
1292
1297
  }
1293
- }
1294
- }]
1298
+ }]
1299
+ } // end if hasAssembleCells
1295
1300
 
1296
1301
 
1297
1302
  scDropOrder := 107700