Использовать URL-адрес Github для оболочки в правиле 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:
        "file:///absolute/path/to/wrapper/samtools_sort"

В документации указано:

В качестве альтернативы, например, для разработки, директива оболочки также может указывать на полные URL-адреса, включая URL-адреса локальных файлов с абсолютными путями file: // или относительными путями file :. Примеры для каждой оболочки можно найти в файлах README, расположенных в подкаталогах оболочки в репозитории Snakemake Wrapper.

Однако я еще не нашел способ использовать URL-адрес, указывающий, например, на каталог оболочки на github (обратите внимание, что я хочу использовать оболочки, НЕ размещенные в репозитории оболочки snakemake по умолчанию).

Обратите внимание, что это своего рода проблема XY для меня! На самом деле я хочу определить локальную оболочку относительно Snakefile, что возможно только тогда, когда workdir находится в том же каталоге, что и Snakefile: относительный путь к оболочке всегда будет оцениваться относительно рабочего каталога, который делает сложно включить проект snakemake или использовать независимый рабочий каталог (в этом случае оболочку необходимо скопировать в альтернативный рабочий каталог).


person moritzschaefer    schedule 19.02.2019    source источник
comment
Возвращает ли он ошибку, когда вы используете URL-адрес, указывающий на необработанную версию файла оболочки в github?   -  person Manavalan Gajapathy    schedule 20.02.2019
comment
Я предположил, что snakemake знает, как обращаться с обычными ссылками на github, но это не так (зачем). Я добавил ответ ниже.   -  person moritzschaefer    schedule 21.02.2019
comment
Не похоже, что они поддерживают репозитории GitHub. Просто полный URL-адрес Snakefiles, основанный на их документе, который вы процитировали.   -  person Manavalan Gajapathy    schedule 21.02.2019


Ответы (1)


Я сейчас попытался использовать "сырую" ссылку на github, и она работает. Так что попробуйте что-нибудь вроде:

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