PDB Combiner¶
Combines up to five PDB inputs (each a dictionary of {pdb_id: pdb_content}) into a single merged PDB dictionary. Optionally prefixes keys to avoid naming collisions across inputs and guarantees unique keys in the combined output.

Usage¶
Use this node when you have multiple PDB dictionaries from different workflow branches and need a single, consolidated PDB input for downstream processing (e.g., conversion, fixing, or chain extraction). Connect any subset of the available pdb_1..pdb_5 inputs; enable prefixing if you want deterministic, non-conflicting keys.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| pdb_1 | False | PDB | First PDB dictionary to include in the combination. Keys are PDB IDs and values are PDB file contents as strings. | {'protein_A': 'ATOM ...\\nEND'} |
| pdb_2 | False | PDB | Second PDB dictionary to include in the combination. | {'protein_B': 'ATOM ...\\nEND'} |
| pdb_3 | False | PDB | Third PDB dictionary to include in the combination. | {'protein_C': 'ATOM ...\\nEND'} |
| pdb_4 | False | PDB | Fourth PDB dictionary to include in the combination. | {'protein_D': 'ATOM ...\\nEND'} |
| pdb_5 | False | PDB | Fifth PDB dictionary to include in the combination. | {'protein_E': 'ATOM ...\\nEND'} |
| prefix_chains | False | BOOLEAN | If true, prefixes each input’s keys to avoid collisions (e.g., PDB1_ | True |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| combined_pdb | PDB | A single merged PDB dictionary containing all entries from the provided inputs, with guaranteed unique keys. | {'PDB1_protein_A': 'ATOM ...\\nEND', 'PDB2_protein_B': 'ATOM ...\\nEND'} |
Important Notes¶
- Key collisions: If two inputs share the same key and prefix_chains is false, the node will automatically append numeric suffixes to create unique keys and log a warning.
- Prefixing behavior: When prefix_chains is true, the node prepends PDB1_, PDB2_, etc. to the keys based on the input slot to avoid collisions.
- No structural edits: This node does not modify the internal PDB content or biological chain identifiers; it only merges key-value pairs from the input dictionaries.
- At least one input required: The node raises an error if no PDB inputs are provided or all are empty.
Troubleshooting¶
- Error: 'At least one PDB input is required': Connect at least one pdb_i input with a non-empty PDB dictionary.
- Unexpected renamed keys: If you see keys with numeric suffixes (e.g., my_pdb_1), either enable prefix_chains for deterministic names or ensure your input keys are unique.
- Wrong input type: Ensure each pdb_i is a dictionary of {pdb_id: pdb_string}. Passing a raw PDB string or other types will not be recognized.
- Missing entries in output: Verify the connected inputs actually contain entries; empty dictionaries are ignored during merge.