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 nextflow
params.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 letters
output:
stdout result
"""
cat $x | tr '[a-z]' '[A-Z]'
"""
}
result.subscribe {
println it.trim()
}
运行 nextflow run tutorial.nf``
默认会在运行目录生成work目录,用于保存中间临时文件
还会生成.nextflow目录,保存缓存文件和历史
以及.nextflow.log日志文件,记录详细的运行日志
使用缓存,重新运行脚本 nextflow run tutorial.nf -resume``