ouijaflow implements the probabilistic single-cell pseudotime model Ouija in Edward and Tensorflow, allowing scalable inference on large single-cell datasets. Inference is performed using reparametrization gradient variational inference.
At present ouijaflow may be in stalled via
pip install git+https://github.com/kieranrcampbell/ouijaflow.git
Fitting pseudotimes with Ouijaflow is straightforward, following the sklearn syntax. If Y is a cell-by-gene numpy array of non-negative log expression values, then the pseudotimes may be fit via
from ouijaflow import ouija
oui = ouija()
oui.fit(Y)The pseudotimes can be extracted using the trajectory function:
z = oui.trajectory()The gene-specific behaviour may be extracted using the gene_behaviour function:
oui.gene_behaviour()which returns a pandas data frame with interpretable gene parameters as explained in oui.gene_behaviour.__doc__.
For more fine-grained control over the posterior distributions, the approximating distributions may be retrieved in a dictionary using
oui.approx_dists()