nextflow中如何使用if else将数据打印到屏幕?

问题描述 投票:0回答:0

我有一个问题。因此,当我编写 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 同时运行。我不知道如何控制这个。请有人帮助我吗?

另一个问题是下一个线程可以打印是或否问题的屏幕吗?这意味着我想继续使用来调用变体,如果数据质量低但用户仍然想运行...

conda bioinformatics nextflow
© www.soinside.com 2019 - 2024. All rights reserved.