Skip to content

drostlab/network-inference-pipeline

Repository files navigation

Network Inference Pipeline

This project uses the Network Inference Toolbox, a collection of Singularity containers packaging various pre-existing tools for Gene Regulatory Network Inference, to infer and evaluate some networks for specific datasets.

Dependencies

Overview

This project is a DVC pipeline that glues data preprocessing, tools from toolbox/bin and network evaluation together. After setup as described below, you should be able to dvc repro the results.

Note
To package up materials used for the noisyR paper (Moutsopoulos et al.), run dvc repro artifacts/noisyR-paper/dvc.yaml, which will also implicitly generate its dependencies. The resulting tarball will be placed in artifacts/noisyR-paper.

Setup

Clone (or download and extract) this repository and enter its directory. You then need to setup both Python dependencies and the previously mentioned Network Inference Toolbox.

Python Dependencies

The recommended (but optional) way to setup DVC is to install it into a virtual environment. (E.g., call poetry shell and then always run dvc from there.) Then just run poetry install.

Network Inference Toolbox

The recommended way to setup the Toolbox is to pull the Git submodule. In the repository root, execute:

git submodule init
git submodule update

After setting up the submodule, you can build the containers by entering the toolbox directory and then running make (or, if the containers were already built somewhere else, just copy them to toolbox/bin).

The only parts of the Network Inference Toolbox that are strictly necessary to run the pipeline are the assembled Singularity containers (i.e. .sif files), which the pipeline expects to find in toolbox/bin. If you are sure you just want to run the pipeline (and not change it), you alternatively could copy the containers there, or symlink toolbox/bin to another location where the containers are available, without setting up the submodule as described above.