Для моего конвейера анализа данных я использую 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)
}
в разделе сценария аргументы, которые находятся в {}, приведены в файле конфигурации. Вы знаете, в чем может быть проблема?
Вам просто не хватает некоторых символов обратной косой черты в блоке сценария, которые требуются вашей оболочке для продолжения строки. Вы также можете рассмотреть возможность экранирования символов обратной косой черты, чтобы сценарии записи 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
"""