This repository contains the source code for Truffle (Trajectory Inference via Multi-commodity Flow with Node Constraints).
Processed and clustered data can be downloaded from Google
Drive.
Place these files inside the data
folder. To reduce and cluster the data,
we used the grinch
library. The
config files used for grinch
can be found in the conf
folder.
To run the code in this repository, grinch
needs to be installed as
follows:
git clone https://github.com/euxhenh/grinch
cd grinch
pip install -e .
To run Truffle, see the notebook notebooks/multi-commodity_flow.ipynb
.
pyomo
implementation of multi-commodity flow is undersrc/mc_flow.py
- Truffle's main class is under
src/truffle.py
- R scripts used to run Tempora and psupertime can be found in
src/R
If you wish to perform your own clustering, update the .obs['leiden']
key
in the AnnData object. Patient visits are under .obs['visit']
. If you
wish to use grinch
for clustering, run the following from the root of
Truffle's directory:
python /path-to-grinch-folder/src/grinch/main.py conf/config-file-you-wish-to-use.yaml
This will start the grinch
pipeline and apply all the steps specified in
the config. Feel free to update parameters.