在进行RNA速率(RNA velocity)分析当中,构建一个可复用、可集成到分析流程的计算环境十分重要。一个规范的Docker环境不仅能避免依赖冲突,也能确保分析流程的可重现性。本文将演示如何快速构建一个基于mambaforge:24.1.2-0的RNA速率分析环境。

1.整体思路

mambaforge:24.1.2-0为基础镜像。通过mamba安装指定版本的Python环境及所需依赖。安装RNA速率分析常用的关键包,如scanpy、velocyto、scvelo等。默认激活创建的分析环境,便于直接进入使用。

2.编写Dockerfile

在项目根目录下创建并编辑Dockerfile:

# vim Dockerfile
RUN mamba create -n velocyto -c bioconda -c conda-forge -y \
        python=3.9 \
        compilers \
        samtools \
        scanpy \
        pandas \
        numpy \
        scipy \
        cython \
        numba \
        matplotlib \
        scikit-learn \
        h5py \
        click \
        pysam \
        louvain \
        scvelo=0.3.2 \
        velocyto.py \
        igraph && \
    mamba clean -afy && \
    find /opt/conda -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true && \
    find /opt/conda -type f -name "*.pyc" -delete && \
    rm -rf /root/.cache /tmp/* /var/tmp/*

ENV CONDA_DEFAULT_ENV=velocyto
ENV PATH=/opt/conda/envs/velocyto/bin:$PATH

CMD ["bash"]

这一Dockerfile包含了RNA速率分析的核心依赖包,构建完成后即可直接运行分析任务。
其中,mamba clean与find命令用于清理缓存,确保镜像体积尽可能精简。

3.执行构建命令

在Dockerfile所在目录下执行以下命令构建镜像:

docker build -t velocyto:v1.0 .

构建完成后将生成名为velocyto:v1.0的镜像。

4.进入镜像检验环境

执行以下命令进入容器,验证环境是否配置正确:

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

在容器中可通过命令which python、python -m scvelo -h等确认包是否正常安装。

更多推荐