在Snakemake规则中使用包装器的Github URL
我知道在Snakefile中定义基于包装器的规则的三种工作方式:在Snakemake规则中使用包装器的Github URL,url,wrapper,rules,snakemake,Url,Wrapper,Rules,Snakemake,我知道在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:
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"
文件规定:
或者,例如,对于开发,wrapper指令还可以指向完整的URL,包括指向具有绝对路径file://或相对路径file:。每个包装的示例可以在Snakemake包装库包装子目录中的自述文件中找到
但是,我还没有找到一种方法来使用指向github上的包装器目录的URL(注意,我想使用默认snakemake包装器存储库中没有托管的包装器)
请注意,这对我来说是一种挑战!实际上,我想定义一个相对于Snakefile的本地包装器,这只有在workdir与Snakefile位于同一目录时才可能:包装器的相对路径将始终相对于workdir进行计算,这使得很难包含snakemake项目或使用独立的workdir(在这种情况下,需要将包装器复制到替代workdir)。我现在尝试使用“原始”github链接,它可以正常工作。因此,请尝试以下方法:
rule way4_remote_github_repository:
wrapper:
"https://raw.gtihubusercontent.com/<githubuser>/<repository>/<branch>/path/to/wrapper/directory/"
rule way4\u remote\u github\u存储库:
包装器:
"https://raw.gtihubusercontent.com////path/to/wrapper/directory/"
在github中使用指向包装文件原始版本的url时是否会返回错误?我假设snakemake“知道”如何处理普通github链接,但事实并非如此(为什么会这样)。我在下面添加了一个答案。它们似乎不支持github repos。根据您引用的文档,只需要snakemake文件的完整url即可。