| name | arboreto |
| description | Infer gene regulatory networks (GRNs) from gene expression matrices using GRNBoost2 or GENIE3; use when analyzing bulk or single-cell RNA-seq to identify TF→target regulatory relationships. |
| license | MIT |
| author | AIPOCH |
Source: https://github.com/aipoch/medical-research-skills
When to Use
- You have a bulk RNA-seq expression matrix and want to infer transcription factor (TF) → target gene regulatory edges.
- You have single-cell RNA-seq data (after normalization/aggregation as needed) and want to recover putative regulatory interactions.
- You need GRN inference that can scale to large datasets using parallel/distributed execution.
- You want to compare gradient-boosting–based GRN inference (GRNBoost2) versus random-forest–based inference (GENIE3).
- You need a reproducible, scriptable pipeline to generate a ranked network edge list from expression data.
Key Features
- GRN inference from gene expression data using GRNBoost2 (gradient boosting) or GENIE3 (random forest).
- Scalable execution via Dask, from a single machine to multi-node clusters.
- Command-line workflow for generating a GRN edge list from a tabular expression matrix.
- Algorithm guidance and comparison: see
references/algorithms.md.
- Distributed setup notes: see
references/distributed_computing.md.
Dependencies
- arboreto
- dask
- distributed
- pandas
- scipy
- scikit-learn
Example Usage
Run GRN inference from an expression matrix (TSV) and write the inferred network to an output file:
python scripts/infer_network.py \
--input expression_data.tsv \
--output network.tsv \
--algo grnboost2
To use the alternative algorithm:
python scripts/infer_network.py \
--input expression_data.tsv \
--output network.tsv \
--algo genie3
Implementation Details