1 简介
Nextflow是数据驱动的pipeline,使用软件容器实现可扩展、可复写,适应于大多数常见脚本语言,流畅的领域特定语言(DLS)简化了在云和集群上的部署和复杂并行工作流程的开发。
2 安装
依赖:java1.8 可通过 java -version 查看Java版本
安装: curl -s https://get.nextflow.io | bash``
或者从GitHub下载:https://github.com/nextflow-io/nextflow/releases
3 示例
vi tutorial.nf
#!/usr/bin/env nextflowparams.str = 'Hello world!'process splitLetters {output:file 'chunk_*' into letters mode flatten"""printf '${params.str}' | split -b 6 - chunk_"""}process convertToUpper {input:file x from lettersoutput:stdout result"""cat $x | tr '[a-z]' '[A-Z]'"""}result.subscribe {println it.trim()}
运行 nextflow run tutorial.nf`` ![Nextflow学习(一) [简介] - 图1](/uploads/projects/suqingdong@linux/b31a2fa8eac085d221ad046f632401d0.png)
默认会在运行目录生成work目录,用于保存中间临时文件![Nextflow学习(一) [简介] - 图2](/uploads/projects/suqingdong@linux/c9402b246aea6631e5e12d84d7315018.png)
还会生成.nextflow目录,保存缓存文件和历史![Nextflow学习(一) [简介] - 图3](/uploads/projects/suqingdong@linux/0317b8b09545a4280ac9cdc6c5c95569.png)
以及.nextflow.log日志文件,记录详细的运行日志
使用缓存,重新运行脚本 nextflow run tutorial.nf -resume``
