
我刚才云原生转向生物信息学相关的领域,对这个领域的一些工作流的调度还不太了解,经常浪费时间处理在把本地任务部署到集群上
我使用的是snakemake来编排整个工作流,因为我本地开发的环境是 Ubuntu ,然后集群是 CentOS ,所以我每次都必须打包一个非常大的容器(把整个snakemake都打包进去),这个过程非常消耗时间,而且如果是修改了简单了一个步骤,就需要等待非常久的时间,不利于敏捷开发
想知道各位老师在做相关的训练或者任务提交的时候都是怎样做的,怎样的实现才是优雅且轻量的呢?
1 LoveMyself546 23 小时 48 分钟前 容器指的是 Docker 吗? 可以把 snakemake 运行环境打包成一个基础环境镜像,然后另外打包一个包含运行代码的镜像,在 Dockerfile 中用 FROM 来使用基础环境镜像就可以了。 先上传基础环境镜像到服务器,后续代码改变就只需要更新代码的镜像就可以了。 |
2 ExplodingDragon 23 小时 29 分钟前 非科学计算/生物信息学相关 ( 但可以对容器分层, 做好依赖层和代码层, 在推送/拉取的时候可以跳过已存在的层 https://docs.docker.com/get-started/docker-concepts/building-images/understanding-image-layers/ |
3 yuusha2022 23 小时 28 分钟前 有个 nextflow 的生信流程框架,独立二进制,可以试试。 |
如果代码是脚本语言写的或者可以打包成可执行的文件(比如,java 的 jar ),可以把执行目录映射到宿主机,这样每次只要替换宿主机里的代码或者可执行文件就可以了 |