В зависимости от вашей платформы и от того, нужно ли вам передавать дополнительные аргументы, вы можете легко это сделать или сделать что-то хакерское, чтобы заставить его работать.
Если
#!/usr/bin/env make -f
работает для вас, это фантастика, потому что это означает, что вы можете передавать произвольно много параметров через шебанг (например, если вы работаете в MacOS, это, вероятно, работает).Так что вы должны просто сказать:
#!/usr/bin/env snakemake -s
Хитрость в том, что имя файла скрипта, который вы выполняете в данный момент, будет передано в качестве последнего аргумента тому, что вы вызываете в строке shebang, так чтострока запускает snakemake, используя сам файл в качестве входных данных, как бы он ни назывался (то есть он не должен называться Snakefile).
Для меня это не работает, потому что я могу передать только один аргумент черезлиния Шебанга в моей системе Linux.Если я знаю путь к snakemake, и мне не нужно указывать дополнительные аргументы командной строки, я все равно могу заставить его работать так:
#!/usr/local/bin/snakemake -s
Если вам нужно сделать что-нибудь более сложное или пересечь-платформа, это может быть хорошим местом для начала: Как использовать несколько аргументов для awk с шебангом (то есть #!)?