构建可复用的单细胞转录因子分析环境:从Docker封装到流程集成
·
在单细胞转录组分析中,转录因子调控网络(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库;
团队协作友好:消除环境冲突带来的调试成本。
更多推荐
所有评论(0)