CITRUS, the CIs and Trans inteRaction nUmerical Simulator, is a collection of tools for simulating phenotypes with complex genetic architectures that go beyond simple models that assume linear, additive contributions of individual SNPs. The goal of CITRUS is to provide better simulations for benchmarking GWAS/PRS models.
The key component of CITRUS is the ability to specify custom models relating genotypes to phenotypes. See the designing simulations for details on specifying models. Example models are provided in example-files/
.
CITRUS provides multiple command line utilities for performing and analyzing simulations:
- citrus simulate: Perform a simulation using a given model
- citrus plot: Visualize a phenotype model
- citrus shap: Generate SHAP values for a model
TODO - conda install instructions
TODO - pip install instructions
To install from source (only recommended for development), clone the CITRUS repository and checkout the branch you're interested in:
git clone https://github.com/gymrek-lab/CITRUS.git
cd CITRUS
Now, create 1) a conda environment with our development tools and 2) a virtual environment with our dependencies and an editable install of CITRUS:
conda env create -n citrus -f dev-env.yml
conda run -n citrus poetry install
conda activate citrus
Note, for plotting models, you will need to have graphviz installed.
# Visualize a model
citrus plot -c example-files/linear_additive.json