Skip to content

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.
Preview

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

FieldRequiredTypeDescriptionExample
a3m_1FalseMSAFirst A3M MSA dictionary. Keys are chain IDs; values are A3M content associated with each chain.{'A': ''}
a3m_2FalseMSASecond A3M MSA dictionary to merge.{'B': ''}
a3m_3FalseMSAThird A3M MSA dictionary to merge.{'A': ''}
a3m_4FalseMSAFourth A3M MSA dictionary to merge.{'C': ''}
a3m_5FalseMSAFifth A3M MSA dictionary to merge.{'D': ''}
prefix_chainsFalseBOOLEANIf 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

FieldTypeDescriptionExample
combined_a3mMSAA single A3M MSA dictionary containing all chains from the provided inputs with unique chain IDs.{'A3M1_A': '', 'A3M2_B': '', 'A3M3_A_1': ''}

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

Example
Example