#python #conda #bioinformatics #snakemake
#питон #conda #биоинформатика #змеиный пирог
Вопрос:
Я пытаюсь построить конвейер с использованием snakemake. Я создал среду conda, которая использует python версии 3.9, а также содержит программу snakemake. Для моей первой пары правил требуется версия v3.9. Все правила работают отлично, пока я не перейду к своему 3-му правилу, называемому rule3, где я хочу использовать pysam, который в настоящее время недоступен с python 3.9 и, следовательно, не может быть установлен в основной среде conda. Я знаю, что snakemake должен иметь возможность решать подобные проблемы, имея возможность использовать несколько сред conda. Поэтому я включил yaml для среды python, в которой есть как pysam, так и python v3.8. В rule3 я включаю следующие строки
conda:
"Env2.yaml" # used for running pysam
run:
import pysam
import sys
import os
.
.
.
.
Когда я пытаюсь запустить snakemake, я получаю следующее сообщение:
Среды Conda разрешены только с директивами shell, script, notebook или wrapper (не с run).
Это означает, что вы не можете запускать python в snakemake с другими средами conda.
Учитывая описанную выше проблему, мой вопрос таков: каков правильный способ решения конфликтов версий / пакетов python, учитывая, что вы не можете запускать код python с различными средами conda в snakemake?
Комментарии:
1. Используйте
script:
директиву .