我知道在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://或相对路径文件的本地文件的URL:每个包装器的示例可以在位于Snakemake Wrapper存储库的包装器子目录中的README中找到。
但是我还没有找到一种方法来使用指向github上的包装器目录的URL(例如,我想使用不在默认的snakemake包装器存储库上托管的包装器)。
请注意,这对我来说是一种XY problem!我实际上想要定义一个相对于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/"