Output nodes¶
set_output_node(node) marks which node’s result
execute() should return. The output node defines
what gets computed: any node not on a path to an output is never run.
g.set_output_node(align)
result = g.execute() # result == align's output dict
execute() returns a list, one entry per output node, in the order they were
registered. A graph may declare several outputs:
g.set_output_node(rfdiffusion) # also keep the backbones
g.set_output_node(colabfold) # and the predictions
rf_out, cf_out = g.execute()
Every intermediate node’s outputs are also saved under results/, so nothing
produced along the way is lost even if it isn’t the declared output.
A dedicated OutputNode object also exists and collects results when used; in
typical pipelines you simply pass the final tool node to set_output_node and
read the returned dict.