我有一个问题。因此,当我编写 nextflow 工作流程时,我希望它每一步都自动运行。就像如果读取质量低、适配器会发生什么......所以我想我可以使用 if else 来解决这个问题。但不幸的是ỉ意识到工作流程nextflow运行不像python。这意味着每个进程必须联系在一起,否则进程将同时运行。我的问题是如何像 python 那样一步一步控制?这是一些例子:
workflow {
read_pairs_ch = Channel.fromFilePairs(params.reads)
FASTQC(read_pairs_ch)
trimmomatic(read_pairs_ch)
FASTQC_1(trimmomatic.out)
FASTQC_1.out
.map { sample, fastqc -> sample }
.collect()
.set { ready_ch }
FASTQC_check(ready_ch)
// when all process done do this
if (FASTQC_check.out)
Channel
.fromPath('/home/dungnguyen/genepanel/bin/data3.txt')
.splitText()
.view {
println it
}
else
println "404 .. something went wrong"
我想在每个过程完成时使用if,但它与 FASTQC 同时运行。我不知道如何控制这个。请有人帮助我吗?
另一个问题是下一个线程可以打印是或否问题的屏幕吗?这意味着我想继续使用来调用变体,如果数据质量低但用户仍然想运行...