Как указать следующему ниже, где берет вывод?

У меня есть скрипт на Python, который сохраняет файл в определенном каталоге.

Например, этот код с именем "write.py":

with open("project/results/txt/output.txt", "w") as f:
    f.write("this is a txt file")

Поэтому я выполняю свой сценарий в "project/src" и вывод этого сценария находится в "project/results/txt/".

Вот пример скрипта Nextflow в "проекте /":

process writeTxt{
    output:
    file "output.txt"

    """
    python3 ../../../src/write.py 
    """
}

"../../../" ==> выйти из рабочего каталога

Но nextflow возвращает, что не нашел "projet/results/txt/output.txt".

Так как же указать Nextflow, где находится выход скрипта?

1 ответ

Решение

Это анти-паттерн. Ожидается, что задачи Nextflow будут производить и использовать файлы в каталоге выполнения задач. Если такой выходной файл создается исходной задачей, то он должен быть объявлен как выходной файл задачи, чтобы сделать его доступным в рабочем каталоге задачи.

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