Skip to content

Boltz YAML Combiner

Combines molecular building blocks into a valid Boltz YAML configuration. It merges sequences (required) with optional constraints, templates, and properties, validates structure and chain ID uniqueness, and prepares auxiliary files (e.g., MSA and template PDB/CIF) referenced by filename in the YAML.
Preview

Usage

Use this after assembling lists with Boltz List Combiner. Connect the combined sequences (and optionally constraints, templates, and properties). The node outputs a Boltz YAML dictionary and a file-bundle dictionary that upstream prediction nodes consume.

Inputs

FieldRequiredTypeDescriptionExample
sequencesTrue*List of sequence objects (proteins, nucleic acids, or ligands). Typically created by Boltz Sequence Builder/Protein/Ligand nodes and merged by Boltz List Combiner.[{"protein": {"id": "A", "sequence": "MSEQUENCE", "msa": "empty", "_sequence_name": "protA"}}, {"ligand": {"id": "L", "smiles": "C1=CC=CC=C1"}}]
constraintsFalse*Optional list of constraint objects (e.g., pocket, bond, contact) from Boltz Constraint Builder combined via Boltz List Combiner.[{"pocket": {"binder": "L", "contacts": [["A", 10], ["A", 25]], "max_distance": 6.0}}]
templatesFalse*Optional list of template objects that include structure content (PDB/CIF). The node converts embedded content to filenames and adds them to the file bundle.[{"pdb": "", "chain_id": "A"}]
propertiesFalse*Optional list of property objects (e.g., affinity specifications) from Boltz Property Builder combined via Boltz List Combiner.[{"affinity": {"binder": "L"}}]

Outputs

FieldTypeDescriptionExample
boltz_yamlBOLTZ_YAMLValidated Boltz YAML dictionary with sequences and any provided constraints, templates, and properties. Includes version and filename references to auxiliary files.{"version": 1, "sequences": [{"protein": {"id": "A", "sequence": "MSEQUENCE", "msa": "msa_1.a3m"}}, {"ligand": {"id": "L", "smiles": "C1=CC=CC=C1"}}], "templates": [{"pdb": "template_2.pdb", "chain_id": "A"}], "properties": [{"affinity": {"binder": "L"}}]}
boltz_filesBOLTZ_FILESDictionary of auxiliary files referenced by the YAML (e.g., MSA files and template structures) keyed by generated filenames.{"msa_1.a3m": "", "template_2.pdb": ""}

Important Notes

  • Unique chain IDs: All chain IDs across all sequences must be unique; duplicates cause an error.
  • Required sequence fields: Protein/DNA/RNA sequences must include "sequence"; ligands must include exactly one of "smiles" or "ccd".
  • MSA handling: If a protein has an MSA that is not "empty", the content is written to a generated filename (msa_N.a3m) and the YAML references that filename.
  • Shared MSA optimization: Proteins with identical sequence strings share the same MSA file; the YAML for those entries points to the same filename.
  • Template handling: Template PDB/CIF content is moved to generated filenames (template_N.pdb or template_N.cif) and referenced from the YAML.
  • Validation: The node enforces Boltz YAML structure, auto-sets version=1 if missing, and will error on invalid entity types or missing required fields.
  • Input form: Each input can be a single object or a list; the node normalizes internally. Typically, use Boltz List Combiner to construct lists.

Troubleshooting

  • Duplicate chain ID found: Ensure each chain ID appears only once across all sequences (including duplicated chains from multi-chain entries).
  • Missing sequence field: For protein/dna/rna entries, include the "sequence" field. For ligand entries, include exactly one of "smiles" or "ccd".
  • Both SMILES and CCD provided for ligand: Provide only one field for ligands; remove the extra field.
  • No sequences provided: The sequences input is required and must contain at least one sequence object.
  • Invalid template content: Template objects must include valid PDB/CIF content; the node generates filenames from non-empty contents only.
  • Unexpected input type: If inputs are raw objects instead of lists, ensure they are combined with Boltz List Combiner or pass as lists; the node accepts both.