This codebase begins with a fork of "Large-Scale Differentiable Causal Discovery of Factor Graphs". This is a group project by James Bowden, Carlos Guirado, and Hanyang Li.
This repository contains the experiments on both the Perturb-CITE-seq and Sachs protein datasets.
Python 3.9+ is required. To install the requirements:
pip install -r requirements.txt
You may also have to add the environment library to path, with
export LD_LIBRARY_PATH=/path_to_env/env_name/lib/:$LD_LIBRARY_PATH
Additionally, updated torch may be required in order to run on your version of GPU. wandb is required for now (a PR to make remove this requirement is welcome). Follow the steps here.
- 'python make_lowrank_dataset.py'
- 'python run_gaussian.py'
- 'perturb-cite-seq/0-data-download.ipynb'
- 'perturb-cite-seq/1-assignments-vs-variability.ipynb'
- 'python run_perturbseq_linear.py'
- This repository was originally forked from DCDI. Please refer to the license file for more information.
- Most files in this codebase have been rewritten for:
- vectorization and scaling to large graphs
- incorporating the semantic of factor graphs
- refactoring and implementation in pytorch lightning
- implementation of DCD-FG, NOTEARS, NOTEARS-LR and NOBEARS
- We are grateful to the authors of the baseline methods for releasing their code.