2017-11-12 9 views
0

以前のバージョンのSnakemake(3.9.1でbiocondaとの統合を使用してテストしました--use-conda)では、environment.yamlファイルのmd5ハッシュをチェックして、それぞれの環境をworkdir/.snakemake/conda/md5ルール内のコンダ環境パスを取得する方法は?

バージョン4.3.0では、ファイルのmd5ハッシュが環境フォルダと一致しません。ソースコードを見ると、ハードコードされたパスでcondaエラーを避けるためにmd5ハッシュを計算するときに環境ファイルのフルパスが含まれていることがわかりましたが、正しいハッシュを生成する方法がわかりません。

ルール内で環境パスを取得するもう1つの簡単な方法はありますか?そうでなければ、環境を見つけるために正しいmd5をどのように生成できますか?

答えて

0

現在のところ、妥当な唯一の方法はログを確認することです。環境がアクティブになると、パスが表示されます。しかし、コマンドラインオプションを指定すると、すべての環境を一覧表示することができます(snakemake --list-conda-envsなど)。私はできるだけ早くそれをやります。

編集:私は--list-conda-envsをマスターブランチに実装しました。それは次のリリースになります。

+0

お返事ありがとうございます。そのオプションは本当に便利ですが、私が本当に必要とするのは、実行時にルールの中に環境パスを入れることです。たとえば、/ opt /フォルダにアクセスする必要のあるパッケージがあります。 私はそれを行う方法を見つけましたが、非常に移植可能かどうかはわかりません。ルールは環境を活性化するので、$ PATH変数からそれを得ることができます: '$ {{PATH %%/bin:*}}' – pirovc

関連する問題