Мой рабочий процесс snakemake живет под контролем версий в репозитории git.Я имею возможность включить что-то вроде вывода git describe --always
для отслеживания git-тега / коммита, репозиторий рабочего процесса в настоящее время извлекается в во время времени выполнения рабочего процесса.
Я добавил универсальную функцию в рабочий процесс, которая просто вызывает git через subprocess
:
def get_git_commit(wildcards):
label = subprocess.check_output(["git", "describe", "--always"]).strip().decode("utf-8")
return(label)
Вывод может использоваться в правиле params , например
params:
git_commit = get_git_commit
Однако во время выполнения рабочего процесса команда выполняется в рабочем каталоге, а не в исходном каталоге Snakefile.Желательно ли cd
входить туда и обратно (в исходный каталог)?Или есть более чистые стратегии?