如何在snakemake中使用每条规则的环境?

时间:2017-10-26 07:43:37

标签: python conda snakemake

我有一个包含多个规则的工作流程。一条规则需要一个py2依赖工具。因此,我想为这个特定的规则指定一个conda环境,但是我得到了一个错误。

环境:Debian 8,Conda 4.3.25和snakemake 3.11.2

以下是我运行工作流程的方法:

  1. 使用conda env create --name myworkflow --file environment.yml
  2. 创建默认环境
  3. source activate myworkflow
  4. snakemake -ps workflow.snake --use-conda
  5. 它正在尝试创建环境,但后来遇到错误 如果我跑

       conda create env --name python2_tool --file environment2.yaml
    

    从激活的环境中没有错误。但是使用--prefix它不起作用。

    所以我想知道这里出了什么问题?

    错误如下:

    ERROR conda.core.link:_execute_actions(337): An error occurred while installing package 'defaults::icu-54.1-0'
    OSError(95, 'Operation not supported')            
    Attempting to roll back.                 
    OSError(95, 'Operation not supported') 
    

    导致问题的规则如下:

    rule annotation:
      input: "{condition}.bed"
      output: "{condition}_annotated.bed"
      threads: 8
      conda: 
        "envs/environment2.yml"
      shell:
        "wrapper.sh -i {input} -o {output} -c {threads}"
    

0 个答案:

没有答案