Boltz List Combiner¶
Combines multiple Boltz items (sequences, constraints, templates, properties) into a single ordered list. Accepts up to 50 inputs, each of which can be a single item or a list of items; lists are flattened into one combined list.

Usage¶
Use this node to gather outputs from one or more Boltz builder nodes into a single list before constructing a Boltz YAML configuration. Typical workflow: build sequences/constraints/templates/properties, feed them into this node (chained inputs appear as you connect), then connect its output to the Boltz YAML Combiner.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| input_1 | True | * | First Boltz item or list of items to include. Can be a sequence, constraint, template, property, or a list of such items. | [{'protein': {'id': 'A', 'sequence': 'MKT...', '_sequence_name': 'seqA', 'msa': 'empty'}}] |
| input_2 | False | * | Second Boltz item or list of items. This input becomes available after connecting input_1. | [{'ligand': {'id': 'L', 'smiles': 'CCO'}}] |
| input_3 | False | * | Third Boltz item or list of items. Becomes available after connecting input_2. | [{'pocket': {'binder': 'L', 'contacts': [['A', 10], ['A', 25]]}}] |
| input_4 | False | * | Optional additional input. Up to input_50 are supported, each appearing after the previous is connected. | [{'pdb': ' |
| input_5..input_50 | False | * | Further optional inputs. Each can be a single Boltz item or a list; lists are flattened into the final combined list. | [{'affinity': {'binder': 'L'}}] |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| combined_list | * | A single flattened list containing all provided Boltz items, in the order of inputs. | [{'protein': {'id': 'A', 'sequence': 'MKT...', '_sequence_name': 'seqA', 'msa': 'empty'}}, {'ligand': {'id': 'L', 'smiles': 'CCO'}}, {'pocket': {'binder': 'L', 'contacts': [['A', 10], ['A', 25]]}}] |
Important Notes¶
- At least one input is required: If no inputs are connected or all are null, the node raises an error.
- Flattening behavior: If an input is a list, its items are appended individually; single inputs are appended as-is.
- Dynamic inputs: Inputs input_2 through input_50 become available only after the previous input is connected (chained reveal).
- Ordering preserved: Items are combined in ascending input order (input_1 first, then input_2, etc.).
- No validation or deduplication: The node does not validate content types beyond accepting '*', nor does it remove duplicates or enforce schemas.
- Maximum inputs: Up to 50 inputs are supported.
Troubleshooting¶
- Error: 'At least one input is required': Connect at least one valid item to input_1 (or provide a non-empty list).
- Unexpected nesting in output: If you see nested lists, verify that each provided input is either a single item or a flat list; avoid wrapping lists within lists.
- Missing subsequent inputs: input_2 (and beyond) appear only after connecting the previous input. Connect input_1 first to reveal input_2, and so on.
- Type issues downstream: If a downstream node expects a list of a specific Boltz item type, ensure you pass only those items here or split by multiple combiners.