Snakemake を使用していますが、現在のルールの nameにアクセスする方法が見つかりません。
たとえば、次のようなアクセス方法はありますか。
rule job1:
input: check_inputs(rules.current.name)
output: ...
check_inputs
これは、関数が各ルールでほぼ同じである場合に非常に役立ちます。
確かに、私はこれを作成しましたが、動作します:
rule job1:
input: check_inputs("job1")
output: ...
ただし、ルールの名前を毎回書き込む/ハードコーディングすることを避けるために、現在のルールの名前を取得するためのより「スネークメーカーの方法」が存在するかどうか疑問に思っていました。
どんな種類の助けや提案も高く評価されます。
--- EDIT1 ---
ルール名は、 andステートメントが snakemake によって解析される{rules.myrule.name}
場合にのみ、経由でアクセスできます。そのため/定義ではの使用はできません。input
output
{rules.myrule.name}
input
output
{rules.current}
アイデアは、たとえば現在のルールの名前にすばやくアクセスできるようにすることです。これ{rules.myrule.name}
は、繰り返しもあるからです。