Сбой правила в snakemake, но скрипт работает нормально за пределами snakemake

#http #timeout #snakemake

#http #тайм-аут #snakemake

Вопрос:

Я тестирую свой конвейер snakemake, и он терпит неудачу на последнем шаге, где вызывает разработанный мной инструмент — KEGGCharter. Команда для этого инструмента отлично работает без snakemake, но с ним происходит сбой RuleException: FileNotFoundError , потому что файл, который он создает и доступен на протяжении всего выполнения конвейера, он удаляется в конце с помощью snakemake. Я вижу, что snakemake делает это каждый раз, когда правило выходит из строя, оно удаляет ожидаемые результаты. Тем не менее, KEGGCharter отлично работает за пределами snakemake, с той же командой!

KEGGCharter загружает карты KEGG с помощью Biopython, и некоторые из этих загрузок завершатся неудачей connection time out . Это уловка внутри KEGGCharter с исключением try, но видит ли snakemake эти ошибки и учитывает код выхода != 0? Я также пытался поместить exit(0) в конец скрипта KEGGCharter, но результат тот же.

Комментарии:

1. Вероятно, потому, что snakemake использует строгий режим bash .

2. Попробуйте запустить snakemake с --printshellcmds флагом, чтобы увидеть точные команды, которые он выполняет. Затем проверьте фактические коды ошибок в вашей программе.

3. попробуйте —debug-dag У меня была похожая ошибка, когда это была просто опечатка, на которую snakemake не смог указать.