PDB Combiner¶
Merges up to five PDB dictionaries into a single PDB dictionary. Optionally prefixes keys to avoid name conflicts by adding PDB1_, PDB2_, etc. Ensures unique keys even without prefixing by appending numeric suffixes when duplicates occur.

Usage¶
Use this node when you have multiple PDB inputs (each as a dictionary mapping an ID to a PDB string) and need to consolidate them into one structure for downstream steps like extraction, conversion, or visualization. Connect any subset of pdb_1 through pdb_5 and enable prefix_chains if you want guaranteed unique IDs derived from each input slot.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| pdb_1 | False | PDB | First PDB dictionary to merge. Keys are identifiers; values are PDB content strings. | {"pdbA": " |
| pdb_2 | False | PDB | Second PDB dictionary to merge. | {"pdbB": " |
| pdb_3 | False | PDB | Third PDB dictionary to merge. | {"pdbC": " |
| pdb_4 | False | PDB | Fourth PDB dictionary to merge. | {"pdbD": " |
| pdb_5 | False | PDB | Fifth PDB dictionary to merge. | {"pdbE": " |
| prefix_chains | False | BOOLEAN | If true, prefixes each key with PDBi_ (based on the input slot) to avoid key conflicts. If false, duplicates are resolved by appending _1, _2, etc. | true |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| combined_pdb | PDB | A single dictionary containing all merged PDB entries with unique keys. | {"PDB1_pdbA": " |
Important Notes¶
- At least one input must be provided: If none of pdb_1 to pdb_5 are connected or contain data, the node raises an error.
- Key uniqueness handling: With prefix_chains enabled, keys are prefixed (PDB1_, PDB2_, etc.). Without it, duplicate keys are made unique by appending numeric suffixes (_1, _2, ...).
- Input format: Each PDB input must be a non-empty dictionary mapping an identifier to a PDB text string.
- Merging behavior: All entries from provided inputs are included; conflicts are resolved rather than overwritten.
Troubleshooting¶
- Error: 'At least one PDB input is required': Connect at least one valid PDB dictionary to pdb_1–pdb_5.
- Unexpected key collisions: Enable prefix_chains to systematically avoid collisions by slot-based prefixes.
- Invalid input type: Ensure each pdb_i is a dictionary {id: pdb_string}. Passing plain strings or empty values will be ignored and can lead to errors if nothing valid remains.
- Missing outputs: Verify your inputs are non-empty and contain valid PDB text. Empty strings are skipped.