Boltz Template Builder¶
Builds a template object for Boltz YAML from a provided PDB structure. It extracts the first structure from the input, embeds its PDB text, and optionally sets chain and template identifiers, a force flag, and a distance threshold.

Usage¶
Use this node when you want to supply a structural template to a Boltz YAML configuration. Typically, connect a PDB structure source into this node, optionally specify chain IDs and matching template IDs, then feed the resulting template list into a list combiner and finally into a Boltz YAML combiner before prediction.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| structure_content | True | PDB | Dictionary-like structure mapping names to PDB file contents. The node will use the first entry's PDB text as the template. | {'example_structure.pdb': 'ATOM ... END'} |
| chain_ids | False | STRING | Comma-separated chain IDs to include in the template (e.g., A,B). A single value becomes a single string; multiple values become a list. | A,B |
| template_ids | False | STRING | Comma-separated template chain IDs corresponding to the provided chain_ids. Must match the number of chain_ids. A single value becomes a single string; multiple values become a list. Ignored if chain_ids is empty. | A,B |
| force | False | BOOLEAN | If true, adds a flag to enforce the template via a potential. | True |
| threshold | False | FLOAT | Distance threshold in Angstroms. Values > 0 are applied; 0 means no limit. | 3.5 |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| templates | * | A list containing a single template object for Boltz YAML. Includes the PDB text and any optional chain_id(s), template_id(s), force, and threshold fields. | [{'pdb': 'ATOM ... END', 'chain_id': ['A', 'B'], 'template_id': ['A', 'B'], 'force': True, 'threshold': 3.5}] |
Important Notes¶
- First-entry selection: Only the first item in structure_content is used; ensure the desired PDB is first.
- Non-empty PDB required: The PDB text must be non-empty or the node will raise an error.
- Chain/template ID pairing: template_ids are only considered when chain_ids are provided, and the counts must match; otherwise template_id is not set and a warning is logged.
- Single vs list behavior: One chain_id/template_id becomes a single string; multiple become a list.
- Threshold behavior: A threshold of 0 disables distance limiting; only values > 0 are included.
- Output shape: The node returns a list with one template object, suitable for combining with other BOLTZ objects.
Troubleshooting¶
- Error: 'Structure content is required': Ensure structure_content is provided and is a dictionary-like mapping of names to PDB text.
- Error: 'Structure file content cannot be empty': Provide valid, non-empty PDB content for the first entry.
- Template IDs ignored: If chain_ids is empty or the number of template_ids doesn't match chain_ids, template_id will not be set. Provide matching, comma-separated lists.
- Unexpected output type: The output is a list containing one template object. If a downstream node expects a list, connect directly; if it expects a single object, extract the first element via a list combiner or appropriate node.
- Threshold not applied: Threshold values of 0 are treated as 'no limit.' Set a value > 0 (within the allowed range) to include it.