Boltz Ligand Sequence¶
Builds a ligand entry for Boltz YAML workflows. You can define the ligand either by a SMILES string or by a CCD (Chemical Components Dictionary) code and assign it to one or more chain identifiers.

Usage¶
Use this node whenever you need to add a small-molecule ligand to a Boltz configuration. Create one ligand specification per unique ligand and chain set, then combine the resulting outputs with other sequence and configuration nodes (for example a YAML combiner) before running prediction or diffusion steps.
Inputs¶
| Field | Required | Type | Description | Example | 
|---|---|---|---|---|
| chain_id | True | STRING | Primary chain identifier for the ligand. This should be unique within the structure and typically uses a single-letter ID. | L | 
| ligand_type | True | CHOICE | How the ligand is specified. Choose 'smiles' to provide a SMILES string, or 'ccd' to provide a PDB CCD code. | smiles | 
| ligand_smiles | False | STRING | SMILES string for the ligand. Required if ligand_type is 'smiles'. | CC(=O)Oc1ccccc1C(=O)O | 
| ligand_ccd | False | STRING | Chemical Components Dictionary (CCD) three-letter code for the ligand. Required if ligand_type is 'ccd'. | ATP | 
| multiple_chains | False | STRING | Comma-separated list of additional chain IDs to create identical copies of this ligand across multiple chains. | M,N | 
Outputs¶
| Field | Type | Description | Example | 
|---|---|---|---|
| ligand_sequence | * | A ligand sequence payload suitable for inclusion in a Boltz YAML configuration. It contains the ligand entity with its chain id(s) and either a SMILES or CCD specification. | [{"ligand": {"id": "L", "smiles": "CCO"}}] | 
Important Notes¶
- Ligand specification is mutually exclusive: provide either 'ligand_smiles' when ligand_type is 'smiles' or 'ligand_ccd' when ligand_type is 'ccd'.
- Multiple chains: Use 'multiple_chains' to replicate the same ligand across several chain IDs (e.g., 'M,N'). The node will package all specified chain IDs into a single ligand entry.
- Output is a collection: The output is a collection containing the ligand object, ready to be merged with other sequences and configuration elements in a Boltz YAML.
- Validation: The node will raise an error if the required field for the chosen ligand_type is missing or empty.
Troubleshooting¶
- Error: 'SMILES string is required when ligand_type is "smiles"': Set 'ligand_smiles' to a non-empty, valid SMILES string or switch 'ligand_type' to 'ccd' and provide 'ligand_ccd'.
- Error: 'CCD code is required when ligand_type is "ccd"': Provide a valid three-letter CCD code in 'ligand_ccd' or switch 'ligand_type' to 'smiles' and provide 'ligand_smiles'.
- Unexpected or conflicting chain IDs: Ensure 'chain_id' is set and any 'multiple_chains' values are comma-separated without spaces or duplicates.
- Downstream YAML merge issues: Confirm that this output is combined with protein sequences, constraints, templates, or properties using the appropriate Boltz combiner node before prediction.