@platforma-open/milaboratories.mixcr-clonotyping-2.workflow 3.16.0 → 3.17.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.
@@ -1,6 +1,6 @@
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.16.0 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
3
+ > @platforma-open/milaboratories.mixcr-clonotyping-2.workflow@3.17.0 build /home/runner/work/mixcr-clonotyping/mixcr-clonotyping/workflow
4
4
  > rm -rf dist && pl-tengo check && pl-tengo build
5
5
 
6
6
  info: Skipping unknown file type: test/columns.test.ts
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @platforma-open/milaboratories.mixcr-clonotyping.workflow
2
2
 
3
+ ## 3.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 480dfc5: generic presets added
8
+
3
9
  ## 3.16.0
4
10
 
5
11
  ### Minor Changes
@@ -73,6 +73,9 @@ assemblingFeatureInfo := func(assemblingFeature) {
73
73
  } else if len(splittedFeature2) == 2 {
74
74
  if splittedFeature2[0] == "{CDR3Begin" {
75
75
  productiveFeature = assemblingFeature
76
+ } else if splittedFeature2[0] == "{FR3Begin" {
77
+ productiveFeature = assemblingFeature
78
+ coreVFeature = "FR3"
76
79
  } else {
77
80
  productiveFeature = assemblingFeature
78
81
  coreVFeature = splittedFeature2[0]+":FR3End}"
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.mixcr-clonotyping-2.workflow",
3
- "version": "3.16.0",
3
+ "version": "3.17.0",
4
4
  "description": "Tengo-based template",
5
5
  "dependencies": {
6
6
  "@platforma-sdk/workflow-tengo": "^5.6.5",
@@ -73,6 +73,9 @@ assemblingFeatureInfo := func(assemblingFeature) {
73
73
  } else if len(splittedFeature2) == 2 {
74
74
  if splittedFeature2[0] == "{CDR3Begin" {
75
75
  productiveFeature = assemblingFeature
76
+ } else if splittedFeature2[0] == "{FR3Begin" {
77
+ productiveFeature = assemblingFeature
78
+ coreVFeature = "FR3"
76
79
  } else {
77
80
  productiveFeature = assemblingFeature
78
81
  coreVFeature = splittedFeature2[0]+":FR3End}"
@@ -11,7 +11,12 @@ self.validateInputs({
11
11
  preset: "any",
12
12
  params: {
13
13
  "__options__,closed": "",
14
- "species,omitempty": "string"
14
+ "species,omitempty": "string",
15
+ "leftAlignmentMode,omitempty": "string",
16
+ "rightAlignmentMode,omitempty": "string",
17
+ "materialType,omitempty": "string",
18
+ "tagPattern,omitempty": "string",
19
+ "assembleClonesBy,omitempty": "string"
15
20
  }
16
21
  })
17
22
 
@@ -22,6 +27,11 @@ self.defineOutputs("preset", "presetSpecForBack")
22
27
  self.body(func(inputs) {
23
28
  preset := inputs.preset
24
29
  species := inputs.params.species
30
+ leftAlignmentMode := inputs.params.leftAlignmentMode
31
+ rightAlignmentMode := inputs.params.rightAlignmentMode
32
+ materialType := inputs.params.materialType
33
+ tagPattern := inputs.params.tagPattern
34
+ assembleClonesBy := inputs.params.assembleClonesBy
25
35
 
26
36
  mixcrExportPresetCmdBuilder := exec.builder().
27
37
  inLightQueue().
@@ -47,6 +57,22 @@ self.body(func(inputs) {
47
57
  mixcrExportPresetCmdBuilder.arg("--species").arg(species)
48
58
  }
49
59
 
60
+ if !is_undefined(leftAlignmentMode) {
61
+ mixcrExportPresetCmdBuilder.arg(leftAlignmentMode)
62
+ }
63
+ if !is_undefined(rightAlignmentMode) {
64
+ mixcrExportPresetCmdBuilder.arg(rightAlignmentMode)
65
+ }
66
+ if !is_undefined(materialType) {
67
+ mixcrExportPresetCmdBuilder.arg(materialType)
68
+ }
69
+ if !is_undefined(tagPattern) {
70
+ mixcrExportPresetCmdBuilder.arg("--tag-pattern").arg(tagPattern)
71
+ }
72
+ if !is_undefined(assembleClonesBy) {
73
+ mixcrExportPresetCmdBuilder.arg("--assemble-clonotypes-by").arg(assembleClonesBy)
74
+ }
75
+
50
76
  mixcrExportPresetCmd := mixcrExportPresetCmdBuilder.arg("preset.json").
51
77
  saveFileContent("preset.json").
52
78
  saveFile("preset.json").
@@ -86,7 +86,12 @@ wf.body(func(args) {
86
86
  presetInfoResult := render.create(calculatePresetInfoTpl, {
87
87
  preset: presetResource,
88
88
  params: {
89
- species: species
89
+ species: species,
90
+ leftAlignmentMode: args.leftAlignmentMode,
91
+ rightAlignmentMode: args.rightAlignmentMode,
92
+ materialType: args.materialType,
93
+ tagPattern: args.tagPattern,
94
+ assembleClonesBy: args.assembleClonesBy
90
95
  }
91
96
  })
92
97
 
@@ -111,7 +116,7 @@ wf.body(func(args) {
111
116
 
112
117
  library: library,
113
118
 
114
- params: smart.createJsonResource({
119
+ params: smart.createJsonResource({
115
120
  species: species,
116
121
  receptorsOrChains: receptorsOrChains,
117
122
  limitInput: limitInput,
@@ -121,7 +126,12 @@ wf.body(func(args) {
121
126
  blockId: blockId,
122
127
  libraryId: libraryId,
123
128
  presetCommonName: args.presetCommonName,
124
- isLibraryFileGzipped: isLibraryFileGzipped
129
+ isLibraryFileGzipped: isLibraryFileGzipped,
130
+ leftAlignmentMode: args.leftAlignmentMode,
131
+ rightAlignmentMode: args.rightAlignmentMode,
132
+ materialType: args.materialType,
133
+ tagPattern: args.tagPattern,
134
+ assembleClonesBy: args.assembleClonesBy
125
135
  })
126
136
  })
127
137
 
@@ -29,6 +29,11 @@ self.body(func(inputs) {
29
29
  params := inputs.params
30
30
  species := params.species
31
31
  limitInput := params.limitInput
32
+ leftAlignmentMode := params.leftAlignmentMode
33
+ rightAlignmentMode := params.rightAlignmentMode
34
+ materialType := params.materialType
35
+ tagPattern := params.tagPattern
36
+ assembleClonesBy := params.assembleClonesBy
32
37
  perProcessMemGB := inputs.perProcessMemGB
33
38
  perProcessCPUs := inputs.perProcessCPUs
34
39
  fileExtension := params.fileExtension
@@ -122,6 +127,22 @@ self.body(func(inputs) {
122
127
  arg(preset.name)
123
128
  }
124
129
 
130
+ // Optional preset-specific parameters (order matters if preset requires positional values)
131
+ if !is_undefined(leftAlignmentMode) {
132
+ mixcrCmdBuilder.arg(leftAlignmentMode)
133
+ }
134
+ if !is_undefined(rightAlignmentMode) {
135
+ mixcrCmdBuilder.arg(rightAlignmentMode)
136
+ }
137
+ if !is_undefined(materialType) {
138
+ mixcrCmdBuilder.arg(materialType)
139
+ }
140
+ if !is_undefined(tagPattern) {
141
+ mixcrCmdBuilder.arg("--tag-pattern").arg(tagPattern)
142
+ }
143
+ if !is_undefined(assembleClonesBy) {
144
+ mixcrCmdBuilder.arg("--assemble-clonotypes-by").arg(assembleClonesBy)
145
+ }
125
146
  // High diversity library tuning
126
147
  highDiversityLibrary := params.highDiversityLibrary
127
148
  if !is_undefined(highDiversityLibrary) && highDiversityLibrary {
@@ -49,10 +49,16 @@ wf.body(func(args) {
49
49
  ll.assert(preset.type == "name", "unexpected preset type")
50
50
  // whole json, including type
51
51
  presetResource = smart.createJsonResource(preset)
52
+ isGenericPreset := args.isGenericPreset
52
53
  presetInfoResult := render.create(calculatePresetInfoTpl, {
53
54
  preset: presetResource,
54
55
  params: {
55
- species: args.species
56
+ species: args.species,
57
+ leftAlignmentMode: args.leftAlignmentMode,
58
+ rightAlignmentMode: args.rightAlignmentMode,
59
+ materialType: args.materialType,
60
+ tagPattern: isGenericPreset ? "^(R1:*)\\^(R2:*)" : undefined,
61
+ assembleClonesBy: isGenericPreset ? "CDR3" : undefined
56
62
  }
57
63
  })
58
64
  outputs.preset = presetInfoResult.output("presetSpecForBack", 24 * 60 * 60 * 1000)
@@ -268,6 +268,11 @@ self.body(func(inputs) {
268
268
  fileExtension: fileExtension,
269
269
  reports: reports,
270
270
  isLibraryFileGzipped: isLibraryFileGzipped,
271
+ leftAlignmentMode: params.leftAlignmentMode,
272
+ rightAlignmentMode: params.rightAlignmentMode,
273
+ materialType: params.materialType,
274
+ tagPattern: params.tagPattern,
275
+ assembleClonesBy: params.assembleClonesBy,
271
276
  highDiversityLibrary: params.highDiversityLibrary
272
277
  },
273
278
  library: library,