Skip to content

A3M Combiner

Combines up to five A3M MSA dictionaries into a single A3M output. It can optionally prefix chain IDs (e.g., A3M1_, A3M2_) to avoid naming conflicts and will ensure unique keys even if conflicts occur.
Preview

Usage

Use this node when you have multiple A3M MSAs (e.g., from different sources or segments) that need to be merged into one input for downstream modeling or analysis. Connect one or more A3M dictionary outputs to the available inputs, enable chain prefixing if there is any chance of overlapping chain IDs, and pass the resulting combined dictionary to subsequent biotech nodes.

Inputs

FieldRequiredTypeDescriptionExample
a3m_1FalseA3MFirst A3M MSA dictionary. Keys are chain IDs; values are A3M-formatted strings.{'A': '', 'B': ''}
a3m_2FalseA3MSecond A3M MSA dictionary to merge.{'A': '', 'C': ''}
a3m_3FalseA3MThird A3M MSA dictionary to merge.{'D': ''}
a3m_4FalseA3MFourth A3M MSA dictionary to merge.{'E': ''}
a3m_5FalseA3MFifth A3M MSA dictionary to merge.{'F': ''}
prefix_chainsFalseBOOLEANIf true, prefixes chain IDs with the source index (A3M1_, A3M2_, etc.) to avoid collisions.True

Outputs

FieldTypeDescriptionExample
combined_a3mA3MA single A3M dictionary containing all merged chains with unique IDs.{'A3M1_A': '', 'A3M2_A': '', 'B': ''}

Important Notes

  • At least one A3M input is required; otherwise the node raises an error.
  • If prefix_chains is false and duplicate chain IDs are detected, the node will still ensure uniqueness by appending numeric suffixes and will log a warning.
  • Inputs must be dictionaries mapping chain IDs to A3M strings; non-dictionary inputs are ignored.
  • Supports up to five A3M inputs.

Troubleshooting

  • Error: 'At least one A3M input is required' — Provide at least one non-empty A3M input.
  • Unexpected chain ID overwrites or merges — Enable 'prefix_chains' to prevent conflicts when different inputs reuse the same chain IDs.
  • Missing chains in output — Verify each input is a dictionary with expected keys and non-empty A3M strings.
  • Downstream node rejects type — Ensure the output is connected where an A3M dictionary is expected, not a raw string.

Example Pipelines

Example
Example