A3M Combiner¶
Combines up to five A3M MSA dictionaries into a single unified A3M dictionary. It ensures unique chain identifiers by optionally prefixing chain IDs per input and, if necessary, appending numeric suffixes to resolve any remaining conflicts.

Usage¶
Use this node when you have multiple A3M MSA inputs (e.g., from different sources or chains) and need a single merged MSA dictionary for downstream structure prediction or analysis. Connect any subset of a3m_1 through a3m_5. Enable prefix_chains to systematically avoid chain ID collisions across inputs.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| a3m_1 | False | MSA | First A3M MSA dictionary. Keys are chain IDs; values are A3M content associated with each chain. | {'A': ' |
| a3m_2 | False | MSA | Second A3M MSA dictionary to merge. | {'B': ' |
| a3m_3 | False | MSA | Third A3M MSA dictionary to merge. | {'A': ' |
| a3m_4 | False | MSA | Fourth A3M MSA dictionary to merge. | {'C': ' |
| a3m_5 | False | MSA | Fifth A3M MSA dictionary to merge. | {'D': ' |
| prefix_chains | False | BOOLEAN | If true, prefixes chain IDs from each input with A3M1_, A3M2_, ... to avoid chain ID conflicts. Numeric suffixes are still added if duplicates remain. | True |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| combined_a3m | MSA | A single A3M MSA dictionary containing all chains from the provided inputs with unique chain IDs. | {'A3M1_A': ' |
Important Notes¶
- At least one valid A3M input must be provided; otherwise the node raises an error.
- When prefix_chains is disabled and chain IDs collide, the node resolves conflicts by appending numeric suffixes (_1, _2, ...).
- When prefix_chains is enabled, chain IDs are prefixed per input (A3M1_, A3M2_, ...); if collisions still occur, numeric suffixes are added.
- Inputs must be dictionaries mapping chain IDs (strings) to A3M content; non-dictionary inputs are ignored.
- Merging does not concatenate or alter A3M content per chain; it only aggregates entries into one dictionary with unique keys.
- The order of inputs (a3m_1 → a3m_5) determines the A3M# prefix values when prefixing is enabled.
Troubleshooting¶
- Error: "At least one A3M input is required" — Provide at least one non-empty A3M dictionary to a3m_1..a3m_5.
- Unexpected chain ID renaming — Enable prefix_chains to systematically prevent collisions across inputs; otherwise, numeric suffixes will be appended automatically.
- Missing chains in output — Ensure each provided a3m_n is a valid dictionary with the expected chain keys and A3M content; non-dictionary values are ignored.
- Confusing chain IDs after merge — Check which input slot each A3M was connected to; with prefix_chains on, the slot defines the A3M# prefix in the output.
Example Pipelines¶