运行 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
"""
对于我的数据分析管道,我使用 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
"""