开一个坑
本系列介绍如何搭建基于Nextflow的宏基因组有参分析流程。在此之前我曾经使用bpipe和snakemake写过这个流程。在我们实验室中所有的有参分析都是这个pipeline跑出来的。个人感觉bpipe用起来其实很顺手自然,但是由于社区实在是不够活跃。snakemake基于python而且有很多开发者支持,所以为了学习snakemake,我将之前的流程重新写成了snakemake。但是后来渐渐发现make的这种从后向前结构很别扭,基于文件名构建DAG也是缺乏灵活性。
Nextflow作为后起之秀迅速成长,拥有很好的社区支持(google group,gitter),原生对云环境(AWS,google cloud)支持,拥有大量优秀成熟流程nf-core。最近的一次更新推出了模块化的DSL 2架构,构建可重复利用的流程未来可期。为了更好地学习Nextflow,我将把之前的shotgunMetagenomics流程重写,并把过程记录下来,也希望可以帮助到更多人。
流程介绍
这个流程可以参见snakemake生成的DAG:
步骤为:
- 合并相同样本
- 去接头
- 去宿主DNA
- 使用Profiling工具(kraken2,MetaPhlAn2)
- 按系统分类拆分
- 合并
## 安装Nextflow
依赖:java >= 1.8
稳定版本安装:
curl -s https://get.nextflow.io | bash
Github开发版本安装,支持DSL2语法:
git clone https://github.com/nextflow-io/nextflow.git
cd nextflow
make compile
make pack
最后的Nextflow在build/releases/nextflow-19.09.0-edge-all
,可以重新命名为nextflow
并放在$PATH
中。
export PATH=$PATH:/PATH/TO/REPO/build/releases/
(未完)