在单细胞转录组分析中,转录因子调控网络(TF Regulatory Network)分析是揭示基因表达调控机制的重要环节。常用工具如pySCENIC(Python版)与SCENIC R包,但两者依赖复杂、版本敏感,往往让环境配置成为分析的“第一道坎”。

为了获得一个可复用、可迁移、可集成到分析流程中的统一环境,本文演示如何通过Docker构建一个同时支持Python与R的分析镜像,直接开箱即用。

下面演示具体的思路:

1、以mambaforge:24.1.2-0为基础镜像,通过mamba安装对应版本的Python环境和R环境

2、安装pyscenic、seurat等关键包。

3、默认激活安装的环境。

以下是具体的步骤:

1、编写Dockerfile

# vim Dockerfile
FROM quay.io/condaforge/mambaforge:24.1.2-0

ENV CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
ENV CONDA_REMOTE_CONNECT_TIMEOUT=3600
ENV CONDA_REMOTE_READ_TIMEOUT=3600
ENV CONDA_REMOTE_MAX_RETRIES=10
ENV CONDA_REMOTE_BACKOFF_FACTOR=2

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        libhdf5-dev && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN mamba create -n pyscenic -c bioconda -c conda-forge -y \
  python=3.8 \
  pyscenic=0.12.1 \
  loompy \
  cytoolz \
  numpy \
  scanpy \
  r-base \
  r-tidyverse \
  r-seurat=4.3.0 \
  r-plotly \
  r-kernsmooth \
  r-rcolorbrewer \
  r-pheatmap \
  r-data.table \
  r-devtools \
  bioconductor-aucell \
  bioconductor-biocparallel \
  bioconductor-viper \
  bioconductor-summarizedexperiment \
  bioconductor-dorothea \
  bioconductor-complexheatmap \
  bioconductor-rcistarget && \
  mamba clean -afy


RUN conda run -n pyscenic R -e "devtools::install_github('aertslab/SCopeLoomR', upgrade='never'); \
          devtools::install_github('aertslab/SCENIC', upgrade='never')"

RUN rm -rf /tmp/Rtmp* /root/.cache /root/.local/share/Trash /opt/conda/envs/pyscenic/.git && \
    conda clean -afy && \
    find /opt/conda -type d -name __pycache__ -prune -exec rm -rf {} + 2>/dev/null || true && \
    find /opt/conda -type f -name "*.pyc" -delete && \
    echo 'conda activate pyscenic' >> /root/.bashrc

CMD ["bash"]

2、执行构建命令


docker build -t pyscenic:v1.0 .

3、进入镜像检验

docker run --rm -it pyscenic:v1.0 bash

总结与应用场景

这个镜像的最大意义在于为转录因子分析提供了统一、可复用的基础设施

环境一致性:不同机器、不同系统均可复现相同分析结果;

模块化集成:方便嵌入Snakemake、Nextflow等分析流程;

高扩展性:可轻松添加新的R包或Python库;

团队协作友好:消除环境冲突带来的调试成本。

更多推荐