@platforma-open/milaboratories.mixcr-amplicon-alignment.workflow 1.21.11 → 1.21.12

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,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/work/mixcr-amplicon-alignment/mixcr-amplicon-alignment/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.mixcr-amplicon-alignment.workflow@1.21.11 build /home/runner/work/mixcr-amplicon-alignment/mixcr-amplicon-alignment/workflow
3
+ > @platforma-open/milaboratories.mixcr-amplicon-alignment.workflow@1.21.12 build /home/runner/work/mixcr-amplicon-alignment/mixcr-amplicon-alignment/workflow
4
4
  > rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  Processing "src/aggregate-by-clonotype-key.tpl.tengo"...
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @platforma-open/milaboratories.mixcr-amplicon-alignment.workflow
2
2
 
3
+ ## 1.21.12
4
+
5
+ ### Patch Changes
6
+
7
+ - 2bd5020: Fixed bug in QC table when using FR1:FR4 assembling feature. SDK Update
8
+
3
9
  ## 1.21.11
4
10
 
5
11
  ### Patch Changes
@@ -169,13 +169,27 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
169
169
 
170
170
 
171
171
 
172
+ if assemblingFeature == "FR1:FR4" {
173
+ productiveFeature = "VDJRegion"
174
+ }
175
+
176
+
177
+
178
+
179
+
180
+
172
181
 
173
182
  outputProductiveFeature := productiveFeature
174
183
  if assemblingFeature != "VDJRegion" && assemblingFeature != "CDR3" {
175
184
  parts := text.split(assemblingFeature, ":")
176
185
  if len(parts) == 2 && parts[1] == "FR4" {
186
+ if parts[0] == "FR1" {
177
187
 
178
- outputProductiveFeature = parts[0] + "_TO_FR4"
188
+ outputProductiveFeature = "VDJRegion"
189
+ } else {
190
+
191
+ outputProductiveFeature = parts[0] + "_TO_FR4"
192
+ }
179
193
  }
180
194
  }
181
195
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.mixcr-amplicon-alignment.workflow",
3
- "version": "1.21.11",
3
+ "version": "1.21.12",
4
4
  "description": "MiXCR Amplicon Alignment Workflow",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@platforma-sdk/workflow-tengo": "5.11.0",
7
+ "@platforma-sdk/workflow-tengo": "6.3.0",
8
8
  "@platforma-open/milaboratories.software-mixcr": "4.7.0-347-develop",
9
9
  "@platforma-open/milaboratories.software-repseqio": "^2.5.0-13-master"
10
10
  },
11
11
  "devDependencies": {
12
- "@platforma-sdk/tengo-builder": "2.5.1"
12
+ "@platforma-sdk/tengo-builder": "4.0.5"
13
13
  },
14
14
  "scripts": {
15
15
  "build": "rm -rf dist && pl-tengo check && pl-tengo build",
@@ -165,17 +165,31 @@ calculateExportSpecs := func(presetSpecForBack, blockId) {
165
165
 
166
166
  productiveFeature := formatAssemblingFeature(assemblingFeature)
167
167
 
168
+ // FR1:FR4 spans the entire VDJRegion; MiXCR canonicalizes {FR1Begin:FR4End} to the
169
+ // "VDJRegion" name in every exported column (isProductiveVDJRegion, isOOFVDJRegion,
170
+ // nSeqVDJRegion, ...). Normalize here so the export args we pass and the column names
171
+ // we (and export-report.tpl) expect both agree with MiXCR's output.
172
+ if assemblingFeature == "FR1:FR4" {
173
+ productiveFeature = "VDJRegion"
174
+ }
175
+
168
176
  // MiXCR column naming for range features:
169
- // - Ranges ending at FR4 have named aliases: CDR1_TO_FR4, FR2_TO_FR4, CDR2_TO_FR4, FR3_TO_FR4
170
- // (defined in repseqio GeneFeature.java)
177
+ // - FR1:FR4 is the full VDJRegion; MiXCR names it "VDJRegion", NOT "FR1_TO_FR4"
178
+ // (FR1Begin:FR4End is the canonical VDJRegion in repseqio GeneFeature.java)
179
+ // - Other ranges ending at FR4 have named aliases: CDR1_TO_FR4, FR2_TO_FR4, CDR2_TO_FR4, FR3_TO_FR4
171
180
  // - All other ranges use {XBegin:YEnd} format (e.g. {CDR1Begin:CDR3End})
172
181
  // - Simple features (CDR3, VDJRegion) use their name directly
173
182
  outputProductiveFeature := productiveFeature
174
183
  if assemblingFeature != "VDJRegion" && assemblingFeature != "CDR3" {
175
184
  parts := text.split(assemblingFeature, ":")
176
185
  if len(parts) == 2 && parts[1] == "FR4" {
177
- // MiXCR has a named alias for this range
178
- outputProductiveFeature = parts[0] + "_TO_FR4"
186
+ if parts[0] == "FR1" {
187
+ // Full range: MiXCR uses the canonical "VDJRegion" name, not "FR1_TO_FR4"
188
+ outputProductiveFeature = "VDJRegion"
189
+ } else {
190
+ // MiXCR has a named alias for this range
191
+ outputProductiveFeature = parts[0] + "_TO_FR4"
192
+ }
179
193
  }
180
194
  }
181
195