Проблема baseDir с nextflow

Это может быть очень простой вопрос для вас, ребята, однако я только начал работать с nextflow, и мне сложно разобраться с простейшим примером.

Сначала я объясню, что я сделал, и проблему.

Цель: я стремлюсь создать рабочий процесс для моего биоинформатического анализа, как здесь (https://www.nextflow.io/example4.html)

Предыстория: я установил все необходимые пакеты, и все они работают из консоли без каких-либо ошибок.

Мой запуск: я использовал тот же скрипт, что и в примере, только заменив имена каталогов. Вот как я упорядочил каталоги

location of script

~/raman/nflow/script.nf

location of Fastq files

~/raman/nflow/Data/T4_1.fq.gz
~/raman/nflow/Data/T4_2.fq.gz

Location of transcriptomic file

~/raman/nflow/Genome/trans.fa

Сценарий

#!/usr/bin/env nextflow

/*
 * The following pipeline parameters specify the refence genomes
 * and read pairs and can be provided as command line options
 */
params.reads = "$baseDir/Data/T4_{1,2}.fq.gz"
params.transcriptome = "$baseDir/HumanGenome/SalmonIndex/gencode.v42.transcripts.fa"
params.outdir = "results"

workflow {
    read_pairs_ch = channel.fromFilePairs( params.reads, checkIfExists: true )

    INDEX(params.transcriptome)
    FASTQC(read_pairs_ch)
    QUANT(INDEX.out, read_pairs_ch)
}

process INDEX {
    tag "$transcriptome.simpleName"

    input:
    path transcriptome

    output:
    path 'index'

    script:
    """
    salmon index --threads $task.cpus -t $transcriptome -i index
    """
}

process FASTQC {
    tag "FASTQC on $sample_id"
    publishDir params.outdir

    input:
    tuple val(sample_id), path(reads)

    output:
    path "fastqc_${sample_id}_logs"

    script:
    """
    fastqc "$sample_id" "$reads"
    """
}

process QUANT {
    tag "$pair_id"
    publishDir params.outdir

    input:
    path index
    tuple val(pair_id), path(reads)

    output:
    path pair_id

    script:
    """
    salmon quant --threads $task.cpus --libType=U -i $index -1 ${reads[0]} -2 ${reads[1]} -o $pair_id
    """
}

Вывод:

(base) ntr@ser:~/raman/nflow$ nextflow script.nf
N E X T F L O W  ~  version 22.10.1
Launching `script.nf` [modest_meninsky] DSL2 - revision: 032a643b56
executor >  local (2)
executor >  local (2)
[-        ] process > INDEX (gencode)       -
[28/02cde5] process > FASTQC (FASTQC on T4) [100%] 1 of 1, failed: 1 ✘
[-        ] process > QUANT                 -
Error executing process > 'FASTQC (FASTQC on T4)'

Caused by:
  Missing output file(s) `fastqc_T4_logs` expected by process `FASTQC (FASTQC on T4)`

Command executed:

  fastqc "T4" "T4_1.fq.gz T4_2.fq.gz"

Command exit status:
  0

Command output:
  (empty)

Command error:
  Skipping 'T4' which didn't exist, or couldn't be read
  Skipping 'T4_1.fq.gz T4_2.fq.gz' which didn't exist, or couldn't be read

Work dir:
  /home/ruby/raman/nflow/work/28/02cde5184f4accf9a05bc2ded29c50

Tip: view the complete command output by changing to the process work dir and entering the command `cat .command.out`

Я считаю, что у меня проблема с моим пониманием baseDir. Я предполагаю, что baseDir - это тот, где у меня есть мой файл script.nf. Я не уверен, что происходит не так, и как я могу это исправить.

Может ли кто-нибудь помочь или направить.

Спасибо

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
Caused by:
  Missing output file(s) `fastqc_T4_logs` expected by process `FASTQC (FASTQC on T4)`

Nextflow жалуется, когда не может найти объявленные выходные файлы. Это может произойти, даже если команда выполнена успешно, то есть со статусом выхода 0. Проблема здесь в том, что fastqc просто пропускает файлы, которые не существуют или не могут быть прочитаны (например, проблемы с правами доступа), но выдает следующие предупреждения:

Skipping 'T4' which didn't exist, or couldn't be read
Skipping 'T4_1.fq.gz T4_2.fq.gz' which didn't exist, or couldn't be read

Решение состоит в том, чтобы просто убедиться, что все файлы существуют. Обратите внимание, что фабричный метод fromFilePairs создает список файлов во втором элементе. Поэтому цитирование пары имен файлов, разделенных пробелами, также проблематично. Все, что тебе нужно:

script:
"""
fastqc ${reads}
"""

Другие вопросы по теме