Open mb706 opened 4 years ago
Which (newly free) output channels to connect to new graph, and in what order?
graph$output
)graph$output
channels there are. Set-subtract output_orig
from thesewe want a complementary function that gives us the IDs of all pipeops that are "between" two (or more) pipeops.
edge cases to watch out for: entire graph, beginning of graph, end of graph
vararg will be difficult...
should work the same as %>>%
I would say
Also $remove_pipeop()
which removes edges and updates param_set
A potentially useful operation on a
Graph
would be to replace aPipeOp
, or an entire subgraph, with a differentGraph
. With this, one could "edit" the result of appl()
call, for example, if the pipeline happens to have a single / very few pipeops that are different than what would be desired. Currenlty the user would have to edit the connection table to do this, which may be a bit tedious.Suggested UI for this would be
Graph$replace_subgraph(ids, substitute)
,substitute
being something that can be turned into a graph usingas_graph
. The operation would removeids
from the graph, and do the equivalent of<channels into ids> %>>% substitute %>>% <channels out of ids>
inside the graph (This would entail automatic one-to-many and vararg channel handling, as well as type checking).