Skip to content

PDB Combiner

Merges up to five PDB inputs into a single PDB dictionary. If enabled, it automatically prefixes keys to avoid collisions (e.g., PDB1_, PDB2_). When collisions occur without prefixing, the node will assign numeric suffixes to make keys unique.
Preview

Usage

Use this node when you have multiple PDB dictionaries from different branches in your workflow and need to consolidate them into one combined PDB output for downstream processing (e.g., conversion, chain extraction, saving/export). Connect any subset of the five available PDB inputs and optionally enable prefixing to preserve key uniqueness and provenance.

Inputs

FieldRequiredTypeDescriptionExample
pdb_1FalsePDBFirst PDB dictionary to include. Keys are PDB IDs (or chain/spec identifiers), values are PDB file contents as strings.{'design_A': 'ATOM ... END'}
pdb_2FalsePDBSecond PDB dictionary to include.{'template_B': 'ATOM ... END'}
pdb_3FalsePDBThird PDB dictionary to include.{'candidate_1': 'ATOM ... END'}
pdb_4FalsePDBFourth PDB dictionary to include.{'candidate_2': 'ATOM ... END'}
pdb_5FalsePDBFifth PDB dictionary to include.{'ref_structure': 'ATOM ... END'}
prefix_chainsFalseBOOLEANWhen true, prefixes keys from each input to avoid collisions (PDB1_, PDB2_, etc.). If disabled and a key collision occurs, numeric suffixes are appended to create unique keys.True

Outputs

FieldTypeDescriptionExample
combined_pdbPDBA single merged dictionary of all provided PDB entries with unique keys.{'PDB1_design_A': 'ATOM ... END', 'PDB2_template_B': 'ATOM ... END'}

Important Notes

  • At least one input is required: The node raises an error if no PDB inputs are connected or if all are empty.
  • Input type: Each pdb_i must be a dictionary mapping IDs to PDB strings. Non-dictionary inputs are ignored.
  • Key collisions: With prefix_chains=false, duplicate keys are made unique by adding numeric suffixes and a warning may be logged. Enable prefixing to preserve source provenance and avoid collisions.
  • No content validation: The node does not validate PDB string format; downstream nodes may fail on invalid content.
  • Fixed number of ports: Supports up to five PDB inputs.
  • Order matters for prefixes: When prefix_chains is enabled, prefixes correspond to the input index (PDB1_, PDB2_, ...).

Troubleshooting

  • Error: 'At least one PDB input is required': Connect at least one non-empty PDB input.
  • Unexpected overwriting of entries: Enable prefix_chains to avoid key collisions, or ensure unique keys across inputs.
  • Downstream node errors about invalid PDB: Check that your PDB strings are complete and properly formatted; this node does not fix or validate PDB content.
  • Missing entries in output: Ensure each pdb_i is a non-empty dict. Empty strings or non-dict values are skipped.
  • Ambiguous provenance after combining: Turn on prefix_chains to track which input a given entry originated from (PDB1_, PDB2_, etc.).