2017-01-16 6 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へのパスを取得することができます知っているが、私は取得したいと思いまた:

  • 私は私のsnakefileを実行しています私のconfigfileを
  • パス、例えばパス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

ありがとうございます。実際、私の組織は少し異なります。私は設定ファイル、ワークフロー、ルールを分離しています。特定のワークフローは異なる設定ファイルで実行でき、1つの設定ファイルは異なるワークフローで使用できます。だからこそ私はconfigファイルパスをどこでも(ワークフローやルール内で)得ることができるようにしたいのです。 – rioualen

関連する問題