snakemake - 访问不在 bin/ 中的 conda 环境资产

snakemake - accessing conda environment assets not in bin/

我在我的工作流程中使用了一些 conda envs,其中包含有用的资产(数据、模型等),这些资产 不是 在环境 bin/ 路径中,例如在 share/ 、 opt/ 或其他下找到的特定文件。
是否有一种标准方法可以从工作流中访问这些路径?也许是一个包含环境路径的变量?否则,我发现自己使用各种 Linux 技巧来定位这些文件。像这样的东西:

rule snap:
    ...
    conda:
        snap.yaml
    shell:
        """
        # find env dir
        env=`grep -l snap ./.snakemake/conda/*.yaml | xargs basename | sed 's/\.yaml//'`
        snap ./.snakemake/conda/$env/share/HMM/X.hmm {input}
        """

关于如何处理此类案件有什么想法吗?

变量$CONDA_PREFIX包含当前激活环境的路径。从那里应该很容易去shareopt

如果这没有帮助,请尝试发布您的设置的目录树以及您想要访问的内容,因为它并不完全清楚,至少对我来说是这样。