跳转至

据说,snakemake比shell脚本更适合于自动化任务的投放。目前我用的比较多的是shell脚本。对于公共服务器集群,需要按节点分配使用的。或许snakemake更适合。 snakemake官网 参考地址一 徐州更教程 snakemake是python编写的。解释:snake + make =snake make ,snake 源于python。蛇&蟒蛇。make和我们平时用的make编译命令一样。不过snakemake用的是python编译,make用的是C编译。 snakemake官方推荐安装mini conda3。 在没有root权限的服务器安装时候,需要特别设定。

使用miniconda3安装snakemake

严格按照官网的推荐安装

conda install -c conda-forge mamba
#使用mamba安装snakemake
mamba create -c conda-forge -c bioconda -n snakemake snakemake

mamba是c++编写的conda包管理器的重新实现。速度更快,支持多线程并行下载包和依赖文件。简单说mamba是conda的升级版,速度更快,功能更强。

启动和退出

conda activate snakemake 启动snakemake环境,在环境里可以运行snakemake conda deactivate 退出snakemake环境 snakemake要求python版本是3.5-3.6,3.7就不行。

snakemake构建分析流程

运行前测试流程

snakemake -

将运行流程图展示出来

snakemake --dag | dot -Tpdf > dag.pdf

运行命令调用SLF集群管理系统

snakemake -c "bsub -n 10 -q 集群的节点 " -j 4 我们集群有normal和fat这两个节点, 提交BSA任务到fat节点,并行4个任务,每个任务使用10个cpu,就是如下: snakemake -c "bsub -n 10 -q fat" -j 4 -s BSA.py

使用qsub集群关闭系统

snakemake -c "qsub -V -cwd -q 队列名称" -j 8 -s QC.snakefile

指定文件名称运行

回到页面顶部