Next think I'd like to work on is having the output from gs_gate_interactive (& therefore gs_apply_gating_strategy) become a useful list of transformations that can be applied to the gatingset directly. My current envisioning of this, not knowing much about S4, is to have an S4 object that contains 0+ transformer objects for each channel.
That way, the output of gs_apply_gating_strategy will still be one thing, rather than a long list of individual transform params, and I can have a method that will warn users when more than one transform is present for a given channel. Ideally, the user could then call some method like "cleanup output" and pick (likely based on filterId) which one they want, resulting in a clean transformer list object with 0-1 transform for each channel. Then finally, there'd be a method to apply this object to the gatingset and transform all the channels with 1 transformer by that transformer.
Next think I'd like to work on is having the output from gs_gate_interactive (& therefore gs_apply_gating_strategy) become a useful list of transformations that can be applied to the gatingset directly. My current envisioning of this, not knowing much about S4, is to have an S4 object that contains 0+ transformer objects for each channel.
That way, the output of gs_apply_gating_strategy will still be one thing, rather than a long list of individual transform params, and I can have a method that will warn users when more than one transform is present for a given channel. Ideally, the user could then call some method like "cleanup output" and pick (likely based on filterId) which one they want, resulting in a clean transformer list object with 0-1 transform for each channel. Then finally, there'd be a method to apply this object to the gatingset and transform all the channels with 1 transformer by that transformer.