RF Diffusion Symmetry Config¶
Builds and validates a symmetry configuration for protein design runs. It normalizes and checks the requested symmetry (e.g., cyclic, dihedral, or polyhedral), and returns a JSON-ready configuration with additional options like recentring, placement radius, neighbor-only modeling, and symmetric self-conditioning.

Usage¶
Use this node to define symmetry behavior before running RF Diffusion protein generation. Connect its output to the RF Diffusion node’s symmetry configuration input to control symmetry type, placement radius, and whether symmetry is enforced during diffusion.
Inputs¶
| Field | Required | Type | Description | Example | 
|---|---|---|---|---|
| symmetry | True | STRING | Type of symmetry to apply. Accepts 'cn' or 'dn' forms (e.g., 'c2', 'd5') or one of 'tetrahedral', 'octahedral', 'icosahedral'. Leave empty to apply no symmetry. | c3 | 
| recenter | True | BOOLEAN | If true, repositions the complex so its geometric center is at the origin. | true | 
| radius | True | INT | Distance from the symmetry center where symmetric subunits are placed. Minimum value is 1. | 20 | 
| model_only_neighbors | True | BOOLEAN | If true, models only neighboring subunits of the asymmetric unit instead of the full symmetric assembly. | false | 
| symmetric_self_cond | True | BOOLEAN | If true, enforces symmetry during intermediate steps of the diffusion process (self-conditioning). | true | 
Outputs¶
| Field | Type | Description | Example | 
|---|---|---|---|
| symmetry_config | JSON | Validated symmetry configuration to pass into the RF Diffusion node. | JSON object with keys: symmetry='c3', recenter=true, radius=20, model_only_neighbors=false, symmetric_self_cond=true | 
Important Notes¶
- Symmetry formats: Valid inputs are '', 'cN', 'dN' (e.g., c2, d5), or 'tetrahedral', 'octahedral', 'icosahedral'.
- No symmetry: An empty symmetry string is converted to null/none, meaning no symmetry will be applied.
- Validation: Invalid symmetry strings will cause the node to raise an error rather than produce a config.
- Radius constraint: The radius must be at least 1; choose values appropriate for your target assembly size.
- Behavioral options: 'model_only_neighbors' limits modeling to neighboring subunits; 'symmetric_self_cond' enforces symmetry during diffusion.
Troubleshooting¶
- Invalid symmetry error: Ensure the symmetry string matches 'cN', 'dN' (N is an integer), or is one of 'tetrahedral', 'octahedral', 'icosahedral', or left empty.
- Unexpected no-symmetry: If symmetry is empty or whitespace, the node outputs a configuration with symmetry set to none; provide a valid string to enable symmetry.
- Radius too small: If radius is below 1, increase it to at least 1 to avoid validation issues.
- Downstream rejection: If the downstream node rejects the config, verify all booleans and the integer radius are set correctly and that symmetry is supported by the target workflow.
Example Pipelines¶
