运行 nextflow 管道时出现奇怪的错误

getting weird error while running a nextflow pipeline

对于我的数据分析管道,我使用 nextflow 作为工作流管理系统 运行 一个名为 rmats 的工具。 在脚本部分,我给出了所有必需的参数,但是当我 运行 使用此命令的管道时:

nextflow run -ansi-log false main.nf

我会得到这个错误:

Command error:
  ERROR: output folder and temporary folder required. Please check --od and --tmp.

这是 rmats.nf 模块:

process RMATS {
    tag "paired_rmats: ${sample1Name}_${sample2Name}"
    label 'rmats_4.1.2'
    label 'rmats_4.1.2_RMATS'
    container = 'quay.io/biocontainers/rmats:4.1.2--py37haf75f70_1'
    shell = ['/bin/bash', '-euo', 'pipefail']

    input:
    path(STAR_genome_index)
    path(genome_gtf)
    path(s1)
    path(s2)

    output:
    path("*.txt", emit: final_results_rmats)


    script:
    """
    rmats.py \
    --s1 ${s1} \
        --s2 ${s2} \
        --gtf ${genome_gtf} \
        --readLength 150 \
        --nthread 10
        --novelSS
        --mil 50
        --mel 500
        --bi ${STAR_genome_index} \
        --keepTemp \
        --od final_results_rmats \
        --tmp final_results_rmats
    """
 }

这里是 main.nf:

#!/usr/bin/env nextflow
nextflow.preview.dsl=2

include RMATS from './modules/rmats.nf'
gtf_ch = Channel.fromPath(params.gtf)
s1_ch = Channel.fromPath(params.s1)
s2_ch = Channel.fromPath(params.s2)
STAR_genome_index_ch = Channel.fromPath(params.STAR_genome_index)

workflow {
    rmats_AS_calling_ch=RMATS(s1_ch, s2_ch, gtf_ch, STAR_genome_index_ch)

}

在脚本部分,{} 中的参数在配置文件中给出。 您知道可能是什么问题吗?

您只是在脚本块中遗漏了一些反斜杠字符,shell 需要这些字符来续行。您可能还想考虑转义反斜杠字符,让 Nextflow 编写脚本(工作目录中的 .command.sh),并带有续行:

    script:
    """
    rmats.py \
        --s1 ${s1} \
        --s2 ${s2} \
        --gtf ${genome_gtf} \
        --readLength 150 \
        --nthread 10 \
        --novelSS \
        --mil 50 \
        --mel 500 \
        --bi ${STAR_genome_index} \
        --keepTemp \
        --od final_results_rmats \
        --tmp final_results_rmats
    """