Arboreto
Infers candidate gene regulatory networks from bulk or single-cell expression data...
Install
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -g -a claude-code -y- Repository
- K-Dense-AI/scientific-agent-skills55.7k
- Category
- Engineering
- Updated
- 9d ago
- License
- BSD-3-Clause license
- Context cost
- Mediumabout 2,499 tokens
- Runs scripts
- Yes, review before use
What it does
Infers candidate gene regulatory networks from bulk or single-cell expression data using AertsLab Arboreto GRNBoost2 and GENIE3. Use for transcription factor-target association ranking, compatible Dask execution, sparse expression inputs, and network stability checks.
Arboreto
When to use
Use Arboreto to rank candidate regulator-target associations from expression measurements. GRNBoost2 fits stochastic gradient boosting regressions; GENIE3 fits random forests. Each target is predicted from candidate regulators, excluding itself. These are observational predictive associations, not proof of direct binding, activation/repression, or causal regulation.
The latest PyPI release checked is 0.1.6 (2021-02-09). Read the Docs still labels its documentation 0.1.5; the current GitHub source contains fixes that are not in the PyPI wheel. Do not assume a successful unpinned installation can run inference. See compatibility and distribution details.
Installation and compatibility
The following exact stack passed dense and CSC-sparse GRNBoost2, dense GENIE3, custom GBM/RF, and wrapper smoke tests on macOS arm64 with Python 3.11.11:
uv venv --python 3.11 .venv-arboreto
uv pip install --python .venv-arboreto/bin/python \
'arboreto==0.1.6' 'dask[complete]==2024.7.1' 'distributed==2024.7.1' \
'numpy==1.26.4' 'pandas==2.2.3' 'scikit-learn==1.5.2' 'scipy==1.13.1'
This is a bounded compatibility recipe, not a claim that current releases of all
dependencies work. PyPI Arboreto builds an empty metadata graph that the newer
Dask dataframe implementation rejects. For this pinned Dask version, select its
legacy dataframe backend before importing Arboreto or dask.dataframe:
import dask
dask.config.set({"dataframe.query-planning": False})
from arboreto.algo import grnboost2, genie3
The bundled wrapper does this for Dask 2024.7.1. Restart an existing notebook
kernel if it has already imported the newer dataframe backend. Sparse targets
also use .A inside Arboreto 0.1.6; this attribute was removed in SciPy 1.14.
Keep the tested SciPy pin for sparse inference. No monkeypatch to site-packages
is required by this recipe.
