Boltz Ligand Sequence¶
Creates a ligand entry for Boltz YAML workflows. You can define the ligand by either a SMILES string or a PDB CCD code and assign it a unique chain ID (or multiple IDs for identical copies). The node outputs a list containing one ligand specification ready to be combined into a Boltz YAML configuration.

Usage¶
Use this node when you need to add a small-molecule ligand to a Boltz modeling job. Choose how to specify the ligand (SMILES or CCD), set the ligand's chain ID, and (optionally) duplicate it across multiple chains. Connect its output to a list combiner and then to the Boltz YAML combiner, along with protein sequences, constraints, templates, and (optionally) properties such as affinity.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| chain_id | True | STRING | Unique chain identifier for the ligand. If you later duplicate the ligand, this is the first chain in the series. | L |
| ligand_type | True | ["smiles", "ccd"] | How the ligand will be specified. Choose 'smiles' to provide a SMILES string, or 'ccd' to provide a PDB CCD code. | smiles |
| ligand_smiles | False | STRING | SMILES string to define the ligand. Required when ligand_type is 'smiles'. | CCO |
| ligand_ccd | False | STRING | PDB CCD code to define the ligand. Required when ligand_type is 'ccd'. | ATP |
| multiple_chains | False | STRING | Comma-separated list of additional chain IDs to create identical copies of the ligand. If provided, the 'id' will be a list of chain IDs. | M,N |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| ligand_sequence | * | A list containing one ligand specification in Boltz format. The element is a mapping with key 'ligand' holding 'id' and either 'smiles' or 'ccd'. | [{"ligand": {"id": "L", "smiles": "CCO"}}] |
Important Notes¶
- Input pairing rule: When ligand_type is 'smiles', ligand_smiles is required; when 'ccd', ligand_ccd is required.
- Uniqueness: Chain IDs must be unique across all sequences in the final YAML. Duplicates will cause validation errors in the YAML combiner.
- Multiple copies: Use multiple_chains (e.g., "M,N") to create identical ligand copies; the node will output 'id' as a list when multiple chains are provided.
- Whitespace handling: Leading/trailing spaces are stripped from SMILES and CCD inputs.
- No chemistry validation: This node does not validate chemical correctness of the SMILES or the existence of the CCD code; it only enforces presence and format.
Troubleshooting¶
- Error: 'SMILES string is required when ligand_type is 'smiles'': Provide a non-empty ligand_smiles value or switch ligand_type to 'ccd'.
- Error: 'CCD code is required when ligand_type is 'ccd'': Provide a non-empty ligand_ccd value or switch ligand_type to 'smiles'.
- Duplicate chain ID error downstream: Ensure the chain_id (and any in multiple_chains) do not collide with other sequences' IDs when combined in the YAML.
- Unexpected output structure: This node returns a list containing one ligand mapping. If combining with others, pass through a list combiner before the YAML combiner.