cellrank
cellrank copied to clipboard
Change the way in which the `backward` mode works
At the moment, our estimators have a backward mode which is indented to study the dynamics of the "backward" Markov process. I would change the interpretation of this and unify our treatment of initial, intermediate, and terminal states:
- the
backwardmode should not change the naming of any attribute or method, nor should it make any method available. Any estimator should have the same methods and attributes available, independent of its direction. - the
backwardcharacteristic of an estimator should thus only act as a description of the estimator; the user themselves should understand to interpret terminal states in the backward process as initial states of the forward process - initial and terminal states should be treated equally; every estimator should have equivalent methods available for their identification and visualization, e.g.
compute_terminal_statesandcompute_initial_states,plot_terminal_statesandplot_initial_states, etc. They should also be written to equivalent attributes in the estimator and inAnnData. - the
predict()method should compute both initial and terminal states - we need to discuss the treatment of intermediate states - ideally, the
predict()method would perform a full classification of states into either initial, terminal, or intermediate.
Changes:
- introduce a method
classify_statesthat controls which states are computed via awhichparameter (default:terminal) - plotting: use the
plot_macrostatesmethod, introduce awhichparameter (Noneby default) - For manual setting:
set_states_from macrostatesandset_stateswithwhichargument - The
predictmethod is just an alias forclassify_states(other way round)
Hi Mike, what's the state here - should I test this again?