如何解决snakemake:conda env 特定 smk 文件的相对路径,而不是执行路径即带有规则全部的 Snakefile
我编写了一个 snakemake 工作流程,为了使代码更易于管理,我将规则拆分为单独的 smk
文件。我当前的目录结构如下所示:
|-- Snakefile # with statements like include: utils/align.smk
|-- config.yaml
|-- envs
| `-- vep.yml
`-- utils
|-- align.smk
|-- envs
| |-- alignment.yml
| |-- mutect2.yml
| |-- quality_check.yml
| `-- vep.yml
|-- process_reads.smk
`-- variant_calling.smk
我还编写了依赖 conda 的工作流,并指定了分离 yaml 文件的所有要求。现在,文件的位置在 config.yaml
中指定,例如:
CONDA_ALIGNMENT: "utils/envs/alignment.yml"
然后 align.smk
中的规则通过 conda: config['CONDA_ALIGNMENT']
调用它们。
但是,现在我尝试运行 snakemake,出现以下错误:
snakemake -np --profile cluster --jobs 2 --use-conda --force
Building DAG of jobs...
WorkflowError:
Failed to open source file /path/to/exec/utils/utils/envs/alignment.yml
FileNotFoundError: [Errno 2] No such file or directory: '/path/to/exec/utils/utils/envs/alignment.yml'
File "/path/to/miniconda3/envs/snakemake/lib/python3.9/site-packages/snakemake/deployment/conda.py",line 228,in create
File "/path/to/miniconda3/envs/snakemake/lib/python3.9/site-packages/snakemake/deployment/conda.py",line 98,in hash
File "/path/to/miniconda3/envs/snakemake/lib/python3.9/site-packages/snakemake/deployment/conda.py",line 80,in content
File "/path/to/miniconda3/envs/snakemake/lib/python3.9/site-packages/snakemake/deployment/conda.py",line 67,in _get_content
请注意,utils
目录在蛇形无法找到的文件路径中出现了两次。输入/参数/输出中的所有其他文件在相对于主 Snakefile 而不是特定的 smk 文件指定时工作。对于如何以更蛇形的方式处理此问题的任何建议,我将不胜感激。
我能想到的最快解决方法是将 smk 文件从 utils 中移出,但那样会非常混乱...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。