业务需求,目前docker方案在所使用的集群中不可行,所以使用的是singularity 解决方案。
首先我们看一个没有使用镜像的rule
1 | rule VEP_anno: |
可以看到这是一个使用vep进行注释的rule,如果需要在snakemake中使用镜像,rule层面,只需要添加 singularity字段,并说明需要使用的镜像,其中镜像可以是本地的 sif文件,也可以是远程仓库docker镜像 docker://ensembl-vep:release_108.2 (会从远程仓库拉去镜像,需要机器能链接网络)
1 | rule VEP_anno: |
但是使用镜像时,由于会在虚拟环境进行任务分析,所以这时候,有些数据库文件我们需要在进行任务投递时,通过–singularity-args 进行显性的声明
1 | /ifstj2/B2C_COM_H1/PipeAdmin/02.software/Conda/bin/snakemake \ |