Skip to content

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

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

FieldRequiredTypeDescriptionExample
chain_idTrueSTRINGUnique chain identifier for the ligand. If you later duplicate the ligand, this is the first chain in the series.L
ligand_typeTrue["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_smilesFalseSTRINGSMILES string to define the ligand. Required when ligand_type is 'smiles'.CCO
ligand_ccdFalseSTRINGPDB CCD code to define the ligand. Required when ligand_type is 'ccd'.ATP
multiple_chainsFalseSTRINGComma-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

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