首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问Snakefile中的-默认远程前缀。

访问Snakefile中的-默认远程前缀。
EN

Stack Overflow用户
提问于 2021-05-10 18:43:42
回答 1查看 98关注 0票数 1

当我在google生命科学执行者上运行snakemake时,我运行的内容如下:

代码语言:javascript
复制
snakemake  --google-lifesciences --default-remote-prefix my_bucket_name  --preemption-default 10 --use-conda

现在,my_bucket_name将被添加到所有输入和输出路径中。

但出于某些原因,我需要在Snakefile代码中重新创建完整的路径,因此我希望能够访问代码中传递给--default-remote-prefix的任何内容。

有办法这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-11 08:31:19

我希望能够访问代码中传递给默认远程前缀的任何内容。

您可以使用工作流程对象如下:

代码语言:javascript
复制
print(workflow.default_remote_prefix) # Will print my_bucket_name in your example

rule all:
    input: ...

我不能100%确定workflow对象是否应该被用户使用,或者它是否是私有的,如果是的话,它可能会在没有警告的情况下被更改。但是我认为没关系,我一直使用workflow.basedir来获取蛇文件所在的目录。

或者,您可以解析sys.argv列表,但我认为这更麻烦。

另一种选择:

代码语言:javascript
复制
bucket_name=foo
snakemake --default-remote-prefix $bucket_name --config bucket_name=$bucket_name ...

然后在代码中使用config["bucket_name"]获取值foo。但我还是更喜欢workflow解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67476025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档