Skip to content

Boltz YAML Combiner

Combines sequences, constraints, templates, and properties into a single Boltz YAML configuration and assembles all auxiliary files referenced by that YAML. It validates chain ID uniqueness and schema requirements, rewrites inlined MSA/template contents to file references, and returns both the YAML object and a keyed map of file contents.
Preview

Usage

Use this node after building lists of items with the Boltz Sequence/Protein/Ligand, Constraint, Template, and Property builder nodes (optionally merged via Boltz List Combiner). Connect the resulting lists into this node to generate a valid Boltz YAML and associated files. Feed its outputs into Boltz Predict or Boltz Partial Diffusion to run inference.

Inputs

FieldRequiredTypeDescriptionExample
sequencesTrue*List (or single item) of sequence objects describing proteins, DNA/RNA, or ligands. Typically produced by Boltz Sequence Builder or its specialized variants and merged via Boltz List Combiner.[{"protein": {"id": "A", "sequence": "MKT...", "msa": "empty", "_sequence_name": "seqA"}}, {"ligand": {"id": "L", "smiles": "CCO"}}]
constraintsFalse*List (or single item) of constraint objects (bond, pocket, contact) to guide modeling. Optional; typically from Boltz Constraint Builder combined via Boltz List Combiner.[{"pocket": {"binder": "L", "contacts": [["A", 10], ["A", 15]], "max_distance": 6.0}}]
templatesFalse*List (or single item) of template objects with structure content. Optional; typically from Boltz Template Builder combined via Boltz List Combiner.[{"pdb": "ATOM ...\nEND"}]
propertiesFalse*List (or single item) of property requests, e.g., affinity prediction specifications. Optional; typically from Boltz Property Builder.[{"affinity": {"binder": "L"}}]

Outputs

FieldTypeDescriptionExample
boltz_yamlBOLTZ_YAMLThe assembled Boltz YAML configuration as a dictionary object, including sequences and optional constraints/templates/properties. MSA and template fields are converted to file references.{"version": 1, "sequences": [{"protein": {"id": "A", "sequence": "MKT...", "msa": "msa_1.a3m", "_sequence_name": "seqA"}}, {"ligand": {"id": "L", "smiles": "CCO"}}], "templates": [{"pdb": "template_2.pdb"}], "properties": [{"affinity": {"binder": "L"}}]}
boltz_filesBOLTZ_FILESA map of auxiliary filenames to their contents. Includes generated MSA files (e.g., msa_1.a3m) and template files (e.g., template_2.pdb or template_3.cif).{"msa_1.a3m": ">seqA\nMKT...", "template_2.pdb": "ATOM ...\nEND"}

Important Notes

  • Chain ID uniqueness: All chain IDs across all sequences must be unique. The node will raise an error if duplicates are detected.
  • Schema validation: Ensures version is set (defaults to 1) and that each sequence has required fields (id and sequence for protein/dna/rna; either smiles or ccd for ligands, but not both).
  • MSA handling: For protein sequences with non-empty MSA content, the node writes MSA contents to generated filenames (msa_X.a3m) and replaces inline content with the filename. If multiple chains have identical sequences, they share a single MSA file.
  • Template handling: Template PDB/CIF contents are written to generated filenames (template_X.pdb or template_X.cif) and the template entries are updated to reference those filenames.
  • Flexible inputs: Each input can be a single object or a list; the node normalizes to lists internally.
  • Intended pipeline: Outputs should be passed to Boltz Predict or Boltz Partial Diffusion nodes.

Troubleshooting

  • Error: Duplicate chain ID found: Ensure each chain ID across all sequences is unique. If duplicating a chain, use different IDs or configure multiple_chains appropriately when building sequences.
  • Error: At least one sequence is required: Provide at least one sequence object as input.
  • Error: Missing 'sequence' field in protein/dna/rna: Verify sequence builders produced objects containing 'sequence' and 'id'.
  • Error: Ligand must have either 'smiles' or 'ccd' (not both): Provide only one of these fields in ligand entries.
  • MSA not applied as expected: Confirm the protein entry's 'msa' is not 'empty' and contains valid A3M content. The node will convert content to a file reference in the YAML and add the file into boltz_files.
  • Templates not referenced: Ensure each template object includes 'pdb' or legacy 'cif' content. The node will create a corresponding file and update the YAML reference.
  • Unexpected list vs single item behavior: If providing a single object instead of a list, the node will wrap it to a list automatically. Use Boltz List Combiner to merge multiple sources consistently.