基因组学的nextflow流水线汇编程序。选择你的模块。把他们集合起来。运行管道。
flowcraft的Python项目详细描述
flowcraft:whale2::包:
nextflow基因组学流水线汇编程序。 选择你的模块。把他们集合起来。运行管道。
(以前称为汇编流)
前提
建立管道
如果建立自己的基因组学管道简单到:
flowcraft.py build -t "trimmomatic fastqc skesa pilon" -o my_pipeline.nf
看起来很简单对吧?如果我们可以利用 NextFlow和Docker的奇异性。 不需要安装任何管道依赖项的容器?
运行管道
nextflow run my_pipeline.nf --fastq path/to/fastq
N E X T F L O W ~ version 0.30.1
Launching `my_pipeline.nf` [admiring_lamarck] - revision: 82cc9cd2ed
============================================================
M Y P I P E L I N E
============================================================
Built using flowcraft v1.2.1
Input FastQ : 2
Input samples : 1
Reports are found in : ./reports
Results are found in : ./results
Profile : standard
Starting pipeline at Tue Jun 12 19:38:26 WEST 2018
[warm up] executor > local
[7c/eb5f2f] Submitted process > integrity_coverage_1_1 (02AR0553)
(...)
[31/7d90a1] Submitted process > compile_pilon_report_1_6
Completed at: Tue Jun 12 19:58:32 WEST 2018
Duration : 20m 6s
Success : true
Exit status : 0
nextflow run my_pipeline.nf --fastq path/to/fastq
N E X T F L O W ~ version 0.30.1
Launching `my_pipeline.nf` [admiring_lamarck] - revision: 82cc9cd2ed
============================================================
M Y P I P E L I N E
============================================================
Built using flowcraft v1.2.1
Input FastQ : 2
Input samples : 1
Reports are found in : ./reports
Results are found in : ./results
Profile : standard
Starting pipeline at Tue Jun 12 19:38:26 WEST 2018
[warm up] executor > local
[7c/eb5f2f] Submitted process > integrity_coverage_1_1 (02AR0553)
(...)
[31/7d90a1] Submitted process > compile_pilon_report_1_6
Completed at: Tue Jun 12 19:58:32 WEST 2018
Duration : 20m 6s
Success : true
Exit status : 0
恭喜你!你刚刚建立并执行了自己的管道 只有两个命令!塔达:
安装
flowcraft是一个bioconda包,它已经带来了 下一个流量:
conda install flowcraft
集装箱发动机
用flowcraft建造的管道至少需要一个容器
要安装的引擎,位于docker
、singularity
或shifter
之间。
如果你已经有这些了停滞不前,你可以走了。
如果不是,我们建议安装singularity,尽管它应该安装
所有计算节点都具有根权限和可访问性。
如何使用
完整的flowcraft用户指南可以在阅读docs.org。 有关快速而不干净的演示,请参见下文。
快速指南
修建管道
Flowcraft提供了许多可以使用的组件来构建
拥有管道。遵循一些基本规则,例如一个进程的输出类型
必须与下一个进程的输入类型匹配,则完成管道的装配
使用build
模式和-t
选项:
flowcraft build -t "trimmomatic spades abricate" -o my_pipeline.nf -n "assembly pipe"
此命令将生成运行
管道自动执行,但主管道可执行
文件将是my_pipeline.nf
。此文件将包含下一个流管道
对于基因组组装,从三聚体开始,到抗微生物结束
使用缩写进行基因注释
管道中的每个组件都有自己的一组参数,可以是
在执行管道之前或执行管道时修改。这些参数是
在每个过程的文档中描述,您可以检查选项
使用帮助
选项:
$ nextflow run my_pipeline.nf --help
N E X T F L O W ~ version 0.30.1
Launching `my_pipeline.nf` [prickly_picasso] - revision: 2e1a226e6d
============================================================
F L O W C R A F T
============================================================
Built using flowcraft v1.2.1
Usage:
nextflow run my_pipeline.nf
--fastq Path expression to paired-end fastq files. (default: fastq/*_{1,2}.*) (default: 'fastq/*_{1,2}.*')
Component 'INTEGRITY_COVERAGE_1_1'
----------------------------------
--genomeSize_1_1 Genome size estimate for the samples in Mb. It is used to estimate the coverage and other assembly parameters andchecks (default: 1)
--minCoverage_1_1 Minimum coverage for a sample to proceed. By default it's setto 0 to allow any coverage (default: 0)
Component 'TRIMMOMATIC_1_2'
---------------------------
--adapters_1_2 Path to adapters files, if any. (default: 'None')
--trimSlidingWindow_1_2 Perform sliding window trimming, cutting once the average quality within the window falls below a threshold (default: '5:20')
--trimLeading_1_2 Cut bases off the start of a read, if below a threshold quality (default: 3)
--trimTrailing_1_2 Cut bases of the end of a read, if below a threshold quality (default: 3)
--trimMinLength_1_2 Drop the read if it is below a specified length (default: 55)
Component 'FASTQC_1_3'
----------------------
--adapters_1_3 Path to adapters files, if any. (default: 'None')
Component 'ASSEMBLY_MAPPING_1_5'
--------------------------------
--minAssemblyCoverage_1_5 In auto, the default minimum coverage for each assembled contig is 1/3 of the assembly mean coverage or 10x, if the mean coverage is below 10x (default: 'auto')
--AMaxContigs_1_5 A warning is issued if the number of contigs is overthis threshold. (default: 100)
--genomeSize_1_5 Genome size estimate for the samples. It is used to check the ratio of contig number per genome MB (default: 2.1)
此帮助消息是根据您构建的管道动态生成的。
由于此管道以接收fastq文件作为输入的trimmomatic开头,
--fastq
是用于提供成对结束fastq文件的默认参数。
运行管道
现在我们已经建立了下一个流管道,我们准备通过
提供输入数据。默认情况下,FlowCraft管道将在本地运行并使用
奇点
运行每个组件的容器。这可以
以多种方式改变,但为了方便起见,flowcraft已经定义了
执行器
和容器
引擎的大多数配置的配置文件。
使用奇点在本地运行管道
可以使用:
# Pattern for paired-end fastq is '<sample>_1.fastq.gz <sample>_2.fastq.gz'
nextflow run my_pipeline --fastq "path/to/fastq/*_{1,2}.*"
如果您想在一个集群中运行一个带有slurm和singularity的管道,只需使用 相应的配置文件:
nextflow run my_pipeline --fastq "path/to/fastq/*_{1,2}.*" -profile slurm_sing
在管道执行期间,每个组件的结果和报告
分别连续保存到results
和reports
目录中。
检查管道进度
从版本1.2.0开始,可以检查下一个流管道的进度
使用flowcraft inspect
模式。要检查终端的进度,只需
类型:
flowcraft inspect
在运行管道的目录上。或者,您可以查看进度
在Flowcraft的Web服务中,使用广播选项:
flowcraft inspect -m broadcast
< imgsrc="https://warehouse-camo.cmh1.psfhosted.org/c89C4DE1a7EF059F8B5ED3734D5FEE28AD30B533B/6874747470733A3A3222222F67677467676767746262622E636F6D2F6173656D676767676767676767676767676762626262676767676767676762626262676767676767626262676767676767626262676767676262626272727272727262627272727272726262626262727272727272726262626262627272727272727272726262626262626262626262635F73686F72745F64656D6F2E676966" />为什么不直接编写下一个流管道呢?
在许多情况下,构建一个静态nextflow管道就足以实现我们的目标。 然而,当我们建立自己的管道时,我们常常感到需要增加活力 尤其是考虑到新工具的出现速度 而现有的改变。我们的生物学目标也会随着时间的推移而改变, 可能需要不同的管道来回答不同的问题。飞艇制造 这非常容易,因为有一套预先制作好并准备好使用的组件可以 自由组装。
例如,更改程序集softwar在基因组组装过程中 简单到:
flowcraft.py build -t "trimmomatic fastqc skesa pilon" -o my_pipeline.nf
0
如果你对某种基因组注释感兴趣,只需添加 最后的组件,使用fork语法:
flowcraft.py build -t "trimmomatic fastqc skesa pilon" -o my_pipeline.nf
1
2
由于nextflow能够很好地处理大型数据集的并行性,因此简单的管道 两个组件中的一个组件也可用于构建:
flowcraft.py build -t "trimmomatic fastqc skesa pilon" -o my_pipeline.nf
3
随着现有组件数量的增加,您可以自由地构建管道。
路线图
您可以在我们的《路线图指南》中看到我们接下来的计划。
开发人员指南
添加新组件
是否有要包含的缺少组件?我们会喜欢的 扩大!你可以在我们的 问题跟踪程序
如果你想成为团队的一员,你也可以贡献代码。各组成部分 在FlowCraft中可以独立添加而不必担心 代码库的其余部分。你只需要掌握一些python的知识 下一个。查看开发人员文档以了解操作指南