gpt4 book ai didi

python - 可执行的 Snakefile

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:24 25 4
gpt4 key购买 nike

几年前得知我可以使用 shebang 制作 Makefile 可执行文件时,我非常高兴:

#!/usr/bin/env make -f

这样我就可以使用 ./my-pipeline 而不是 make -f my-pipeline 来调用我的工作流。

从那以后,在分析工作流程方面,我开始更喜欢 Snakemake 而不是 GNU Make。有没有一种简单的方法可以用 Snakemake 实现类似的行为?

最佳答案

根据您的平台以及您是否需要传递额外的参数,您可以轻松地做到这一点,或者做一些 hacky 来让它工作。

如果

#!/usr/bin/env make -f

对你有用,这太棒了,因为它意味着你可以通过 shebang 传递任意多个参数(例如,如果你在 MacOS 上,这可能有效)。所以你应该只能说:

#!/usr/bin/env snakemake -s

这里的技巧是,你当前正在执行的脚本的文件名将作为最后一个参数传递给你在 shebang 行中调用的任何内容,因此该行将使用文件本身作为输入来运行 snakemake,无论它叫什么(即它不必被称为 Snakefile)。

对我来说,这行不通,因为我只能通过我的 Linux 系统上的 shebang 行传递一个参数。如果我知道 snakemake 的路径,而且我不需要指定额外的命令行参数,我仍然可以让它像这样工作:

#!/usr/local/bin/snakemake -s

如果您需要做任何更复杂或跨平台的事情,这可能是一个不错的起点:How to use multiple arguments for awk with a shebang (i.e. #!)?

关于python - 可执行的 Snakefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52762921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com