Как предотвратить выполнение правила из-за отсутствия файла эталонного теста в Snakemake?Python

Программы на Python
Ответить
Anonymous
 Как предотвратить выполнение правила из-за отсутствия файла эталонного теста в Snakemake?

Сообщение Anonymous »

Я использую Snakemake версии 8.23.2 и столкнулся с неожиданным поведением, связанным с файлами тестов. Я хочу предотвратить повторное выполнение правил исключительно из-за отсутствия файлов тестов.
Snakefile

Код: Выделить всё

from datetime import datetime
NOW = datetime.now().strftime("%Y%m%d-%H%M%S")

rule all:
input:
"test"

rule test:
output:
"test"
benchmark:
"benchmark/" + NOW + ".tsv"
shell:
"""
sleep 3
touch {output}
"""

Неожиданное поведение
Когда я запускаю тест Snakemake, правило выполняется при первом запуске, как и ожидалось. Однако при последующих запусках он срабатывает снова из-за отсутствия файла эталонного теста:

Код: Выделить всё

❯ snakemake test
[...]
[Fri Oct 25 15:22:20 2024]
localrule test:
output: test
jobid: 0
benchmark: benchmark/20241025-152220.tsv
reason: Missing output files: benchmark/20241025-152220.tsv
resources: tmpdir=/tmp
[...]
Ожидаемое поведение
Я ожидаю, что Snakemake посчитает правило актуальным, если основной выходной файл существует, независимо от наличия эталонного файла:

Код: Выделить всё

❯ snakemake all
Assuming unrestricted shared filesystem usage.
Building DAG of jobs...
Nothing to be done (all requested files are present and up to date).
Что я пробовал
Я пытался использовать параметр --rerun-triggers, но он не работает кажется, решает эту проблему.
Сценарий использования
Я часто запускаю Snakemake $(snakemake --list-target-rules), чтобы активировать все целевые правила. Некоторые целевые правила, возможно, уже были успешными при предыдущих запусках, и я не хочу, чтобы они выполнялись повторно только из-за отсутствия файлов тестов.
Есть ли способ настроить Snakemake на игнорирование отсутствующих файлов? тестовые файлы при определении необходимости повторного запуска правила?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -snakemake
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»