Skip to content

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

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

FieldRequiredTypeDescriptionExample
input_1True*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_2False*Second Boltz item or list of items. This input becomes available after connecting input_1.[{'ligand': {'id': 'L', 'smiles': 'CCO'}}]
input_3False*Third Boltz item or list of items. Becomes available after connecting input_2.[{'pocket': {'binder': 'L', 'contacts': [['A', 10], ['A', 25]]}}]
input_4False*Optional additional input. Up to input_50 are supported, each appearing after the previous is connected.[{'pdb': ''}]
input_5..input_50False*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

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