Привет Пожалуйста, найдите ниже скрипт nf и файл конфигурации. Я запускал их на двух компьютерах. На обоих компьютерах установлен nextflow (v 22.04.5) и докер. Однако на одном компьютере отображается сообщение об ошибке. Пожалуйста, смотрите прикрепленный скриншот. Я проверил файл журнала, и в нем есть только одна «команда не найдена». Мне было интересно, не могли бы вы указать, чего не хватает в этом компьютере. Спасибо.
сценарий следующего потока
#!/usr/bin/env nextflow
//data_location
params.outdir = './results'
params.in = "$PWD/*.fastq"
datasetA = Channel
.fromPath(params.in)
.map { file -> tuple(file.baseName, file) }
// fastqc
process fastqc {
tag "${datasetIDA}"
publishDir "${params.outdir}", mode:'copy'
input:
set datasetIDA, file(x) from datasetA
output:
file ("${x.baseName}_fastqc.html") into fastqc_ch
script:
"""
fastqc -Xmx20g $x > ${x.baseName}_fastqc.html
"""
}
файл конфигурации
process {
withName:fastqc { container = 'staphb/fastqc:latest' }
}
Проблема в том, что Выполнение Docker по умолчанию не включено. Когда он отключен, Nextflow просто пытается выполнить процесс вне контейнера. Чтобы включить выполнение Docker, добавьте следующую строку в конфигурацию Nextflow:
docker.enabled = true
Nextflow ищет файлы конфигурации в нескольких местах. Проверьте, используют ли обе машины один и тот же набор файлов конфигурации. Например, на одной машине уже может быть установлен вышеуказанный файл в $HOME/.nextflow/config
, но этот файл может не существовать на другой машине.
Тестовое задание:
$ touch {A,B,C}.fastq
$ cat nextflow.config
docker.enabled = true
process {
withName: 'fastqc' {
container = 'staphb/fastqc:latest'
}
}
Результаты:
$ nextflow run main.nf -dsl1
N E X T F L O W ~ version 22.04.4
Launching `main.nf` [jolly_brown] DSL1 - revision: 2c6f171a28
executor > local (3)
[97/7b5758] process > fastqc (B) [100%] 3 of 3 ✔
Completed at: 03-Oct-2022 21:08:43
Duration : 2m 50s
CPU hours : 0.1
Succeeded : 3
Вот краткое описание устранения неполадок:
Ошибка следующего потока: не удается найти команду.
Что может вызвать эту ошибку?
Ошибка указывает на то, что скрипт nf не может прочитать файл nextflow.config, хотя файл конфигурации находится в текущем каталоге (один из ожидаемых путей).
Каково было решение?
process {
withName:fastqc {
container = 'staphb/fastqc:latest'
}
}
docker {
enabled = true
temp = 'auto'
}
Nextflow_config_issue_resolved
Nextflow будет читать файл nextflow.config
в текущем каталоге, если вы явно не укажете ему не делать этого. Проблема в том, что выполнение Docker не включено по умолчанию. Когда он отключен, Nextflow просто пытается выполнить процесс вне контейнера.
Спасибо, Стив. Я последовал вашим советам и решил проблему. Я добавлю краткий обзор устранения неполадок здесь для других.