Skip to content

A3M Combiner

Combines up to five A3M MSA dictionaries into a single output dictionary. It can optionally prefix chain IDs to avoid naming conflicts and will ensure resulting keys are unique.
Preview

Usage

Use this node when you have multiple A3M MSA results (e.g., from different searches or partitions) and need a single, merged A3M dictionary for downstream protein analysis or folding. Connect any subset of the five optional A3M inputs; enable chain ID prefixing if different inputs may contain overlapping chain IDs.

Inputs

FieldRequiredTypeDescriptionExample
a3m_1FalseA3MFirst A3M MSA dictionary to merge. Keys are chain or sequence identifiers; values are A3M-formatted content.{'A': '>seq1\nAAAA\n>seq2\nAA-A'}
a3m_2FalseA3MSecond A3M MSA dictionary to merge.{'B': '>seq3\nBBBB\n>seq4\nBB-B'}
a3m_3FalseA3MThird A3M MSA dictionary to merge.{'C': '>seq5\nCCCC'}
a3m_4FalseA3MFourth A3M MSA dictionary to merge.{'A': '>seq6\nAAAA'}
a3m_5FalseA3MFifth A3M MSA dictionary to merge.{'D': '>seq7\nDDDD'}
prefix_chainsFalseBOOLEANIf true, prefixes each input’s keys with A3M{i}_ (e.g., A3M1_, A3M2_) to avoid chain ID collisions across inputs.True

Outputs

FieldTypeDescriptionExample
combined_a3mA3MA single A3M dictionary containing all provided entries with unique keys.{'A': '>seq1\nAAAA', 'B': '>seq3\nBBBB', 'A3M4_A': '>seq6\nAAAA'}

Important Notes

  • At least one input is required: The node raises an error if no A3M inputs are provided.
  • Chain ID conflicts: If two inputs share the same key and prefix_chains is false, the node will auto-rename duplicates by appending _1, _2, etc. Enabling prefix_chains proactively avoids collisions.
  • Key prefixing: With prefix_chains enabled, keys from input i are prefixed with A3M{i}_ (e.g., A3M2_A). If a prefixed key still collides, a numeric suffix is appended.
  • Input format: Each A3M input must be a dictionary mapping IDs to A3M-formatted strings.
  • Merge order: Inputs are processed in order a3m_1 → a3m_5; when conflicts occur, later items are renamed to keep all entries.

Troubleshooting

  • Error: 'At least one A3M input is required': Connect at least one valid A3M dictionary to a3m_1…a3m_5.
  • Unexpectedly renamed keys (e.g., _1, _2 suffixes): This indicates chain ID collisions. Enable prefix_chains or adjust your input keys.
  • Output missing expected entries: Verify each connected a3m_i contains a non-empty dictionary and that keys are unique or prefixing is enabled.
  • Type mismatch: Ensure each input is an A3M dictionary {id: a3m_string}. Raw strings should first be loaded/converted to the A3M type using the appropriate loader node.

Example Pipelines

Example
Example