#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 не смог указать.