随着学习的不断深入,分析的数据越来越多。你会发现,日常生信分析不过是调用一些相同的函数或者包分析不同的数据,换汤不换药。
那么,如何把分析过程流程化,让数据像工厂的流水线一样自动被处理?
最简单的法子,就是用shell命令写个for循环。
但是,用shell写流程存在一些问题:
- shell 命令一旦断掉,如何判断中间文件的完整性?
- 下次想要修改流程,重新修改shell 脚本太麻烦!
- 想删掉/保留中间文件,但是代码好复杂?
......
有没有更简捷、少掉头发的办法,把分析的过程“组装”到一起,让电脑“自行”处理数据呢?
那就赶紧用 Snakemake 吧!!!
(Snakemake 翻成中文是“盘蛇”?Σ(っ °Д °;)っ误)
为什么要用 Snakemake ?
Snakemake的优点:
- 支持多线程
- 支持断点运行
- 支持shell命令,还可以和 Python 库结合使用
行,现在我们知道 Snakemake 比 shell 更好用了。
搓手手,那么如何使用 Snakemake 呢?
来试试栗子 ~
0. 安装 snakemake
conda install -c bioconda snakemake -y # -y 表示安装时不询问
1.简单入门,合并两个文件
# 创建两个文本文件</