【问题标题】:Use Github URL for wrapper in Snakemake rule在 Snakemake 规则中使用 Github URL 进行包装
【发布时间】:2019-02-19 15:06:39
【问题描述】:

我知道在 Snakefile 中定义基于包装器的规则的三种工作方式:

rule way1_wrapper_repository:
    wrapper:
        "0.0.8/bio/samtools_sort"
rule way2_local_relative_directory:
    wrapper:
        "local_wrappers/dir/samtools_sort"
rule way3_local_absolute_directory:
    wrapper:
        "file:///absolute/path/to/wrapper/samtools_sort"

文档说明:

或者,例如,对于开发,包装器指令也可以指向完整的 URL,包括指向具有绝对路径 file:// 或相对路径 file: 的本地文件的 URL。可以在 Snakemake Wrapper Repository 的 wrapper 子目录中的 README 中找到每个 wrapper 的示例。

但是,例如,我还没有找到一种方法来使用指向 github 上包装器目录的 URL(请注意,我想使用未托管在默认 snakemake 包装器存储库上的包装器)。

请注意,这对我来说有点像XY problem!我实际上想定义一个相对于 Snakefile 的本地包装器,只有当 workdir 与 Snakefile 位于同一目录时才有可能:包装器的相对路径将始终相对于 workdir 进行评估,这使得很难包含蛇形项目或使用独立的工作目录(在这种情况下,需要将包装器复制到替代工作目录)。

【问题讨论】:

  • 当你在github中使用指向原始版本的包装文件的url时是否返回错误?
  • 我认为 snakemake 会“知道”如何处理普通的 github 链接,但事实并非如此(为什么会这样)。我在下面添加了一个答案。
  • 看起来他们不支持 GitHub 存储库。只是 Snakefiles 的完整网址,基于您引用的他们的文档。

标签: url wrapper rules snakemake


【解决方案1】:

我现在尝试使用“原始”github 链接并且它可以工作。所以试试类似的东西:

rule way4_remote_github_repository:
wrapper:
    "https://raw.gtihubusercontent.com/<githubuser>/<repository>/<branch>/path/to/wrapper/directory/"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2023-02-01
    • 2022-01-12
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    相关资源
    最近更新 更多