1

对于snakemakev5.27+

有没有办法使用指向本地图像的容器指令运行snakemake?例如,如果我将 Docker 容器存储在 Dockerhub 上,并且我在本地也有一个副本,那么在运行 snakemake 时,如果本地已经存在确切的副本,我不希望规则从 DockerHub 中提取奇异图像副本。使跑得更快。

4

2 回答 2

0

当然,只需将相对或绝对文件路径传递给指令。

于 2021-01-17T13:09:46.210 回答
0

即使snakemake 手册没有明确说明,也可以使用该containerized指令使用局部奇点图像。

因此,而不是上面链接中的示例:

containerized: "docker://username/myworkflow:1.0.0"

可以指向奇点sif文件路径(里面包含图片)

containerized: "/path/to/myimage.sif"

确保--use-singularity在运行 snakemake 时使用。

如何构建奇点 (sif) 图像:

您可以按照此处所述的各种方式构建 sif 映像,对于您的问题,您可以从本地 docker 映像构建它。

即您可以列出您的本地图像docker images并选择一个来构建本地 sif 文件,如下所示:

SINGULARITY_NOHTTPS=1 singularity build /path/to/myimage.sif docker-daemon://mydockerimage:latest

请注意,它似乎不能直接从本地 docker 容器中工作,即我希望它能够工作:

containerized: "docker-daemon://scpipe_docker:latest"

...但它不是snakemake 6.10.0版

于 2021-11-23T10:01:08.590 回答