Является ли интеграция Snakemake с Kubernetes ужасной, или Kubernetes действительно плохо подходит для работы в области биоинформатики, или я что-то упускаю, или?

#kubernetes #bioinformatics #snakemake

Вопрос:

Я ищу совета повторно: запуск рабочих процессов Snakemake с kubernetes (я использую удаленное хранилище s3). Но в более общем плане, каковы мнения людей о лучших вариантах «Змеи в облаке» (b/c kubernetes, похоже, подходит для широкого спектра распространенных случаев использования биоинформатики).

Я предварю это, сказав, что я нуб с/р/т к8. Почти вся моя работа хорошо обрабатывалась ресурсами HPC до недавнего времени, когда я перенес метод вменения GLIMPSE в рабочий процесс snakemake (которым я надеюсь поделиться). Но для этого требуется шокирующее количество вычислений: всего 2 384 набора входных данных для выборки запрашивают более 60000 слотов с 4-20 потоками на каждый… это раздвигает границы вычислений, к которым у меня есть доступ, поэтому я подумал, что пришло время попробовать облачные возможности Snakemakes, и начал с kubernetes b/c, у моей компании есть некоторый опыт в этой области.

Это было легко запустить, но сразу стало очевидно, что мое предположение о том, что вся работа в каталоге результатов будет отражена в указанной удаленной папке, было ошибочным (или, пожалуйста, поправьте меня, если я ошибаюсь). Только файлы, которые явно перечислены в директивах output/benchmark/log, сохраняются после завершения правила, все остальные данные удаляются. Такое поведение не является для меня стартовым, так как я:

  1. регулярно используйте рабочие промежуточные файлы, особенно на ранних стадиях разработки. Часто их большое количество — что было бы очень сложно перечислить все в качестве результатов…. и умопомрачительно утомительно.
  2. многие из наших инструментов создают файлы, имена которых мы не контролируем, и/или создают произвольное количество файлов.
  3. журналы, относящиеся к конкретным инструментам, часто являются ценными, но, опять же, их трудно указать заранее, особенно если журнал создается только при определенных условиях.
  4. Я во многом полагаюсь на multiQC для агрегирования результатов контроля качества со всех инструментов, о которых ему известно. Я ни за что на свете не могу понять, как заставить это работать в режиме кубернетеса. Multiqc сканирует все файлы в подкаталоге, на который он указывает. По моему опыту, обычно в конце конвейера, что при запуске на k8s будет означать, что в временном рабочем пространстве нет каталогов для сканирования, все было удалено или перемещено на удаленный. И я не нашел способа указать инструменту, работающему в правиле, проверять каталоги на удаленном компьютере на наличие файлов.

Я предполагаю, что меня нужно исправить, если я здесь совершенно не прав.
И. Правильно или нет-я хотел бы услышать предложения по твердотельным облачным вычислениям, дружественным к змеям (в основном b/c, я так много разработал w smk), опциям, которые будут вести себя больше как среда HPC, в том смысле, что все файлы, которые не удаляются кодом правила, останутся после выполнения правила.

спасибо—- джем

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

1. Честно говоря, на самом деле это не проблема kubernetes или snakemake, а проблема рабочего процесса с вашей стороны. С этим вы еще не находитесь на стадии готовности к развертыванию. Возня с окружающей средой, чтобы попытаться смягчить проблемы с рабочим процессом, — это не тот способ потратить свое время, ИМО.

2. Кроме того, надев на минуту свою биоинформационную шляпу, я никогда не читал статью о вменении генотипа, в которой не содержалась бы информация о тестах в обучающих данных. Это одна из тех вещей, которые люди убегают, а затем выбрасывают, если ответы не те, которые они искали в первую очередь. Если бежать трудно, зачем беспокоиться?