2017-01-16 164 views
0

我想知道如何管理我的Snakefiles中的路径。说我有这个配置:如何获取工作目录路径?

current_dir 
current_dir/snakefiles 
current_dir/configfiles 

,我执行我的工作流程是这样的:

current_dir$ snakemake -s snakefiles/my_snakefile --configfile configfiles/my_config.yml 

我知道我可以使用全局变量workflow.snakefile获取路径到我的Snakefile,但我想获得也:

  • 的路径,我CONFIGFILE
  • 所在的路径,我执行我的snakefile,如current_dir

如何实现这一目标? Snakemake中是否还有其他全局变量,我不知道?

谢谢

回答

2

工作目录通过Python设置。你可以用os.getcwd()得到它。另请注意,有一种规范的方式来组织Snakemake工作流程:http://snakemake.readthedocs.io/en/latest/project_info/faq.html#what-is-the-recommended-way-to-distribute-a-snakemake-workflow

虽然你当然可以使用别的东西,但遵循这个方案可以帮助他人理解你的工作流程。当然可能有这种情况不适合。

+0

谢谢,事实上我的组织有点不同。我将配置文件,工作流和规则分开。给定的工作流程可以使用不同的配置文件运行,并且一个配置文件可以被不同的工作流程使用。这就是为什么我希望能够在任何地方(在工作流和规则中)获得配置文件路径。 – rioualen