File indexing completed on 2026-04-10 08:39:07
0001 __author__ = "retmas"
0002
0003 from snakemake.workflow import Rule, RuleProxy
0004
0005
0006 class ParamRule(object):
0007 def __init__(self, name: str, source_rule: Rule = None):
0008 self._name = name
0009 self._source_rule = source_rule
0010
0011 def __repr__(self):
0012 return f"param.{self.name}"
0013
0014 @property
0015 def name(self) -> str:
0016 return self._name
0017
0018 @property
0019 def rule(self) -> Rule:
0020 return self._source_rule
0021
0022
0023 def param_of(name, source: RuleProxy = None) -> ParamRule:
0024 rule = source.rule if source is not None else None
0025 return ParamRule(name, rule)
0026
0027
0028 def param_exp(template):
0029 return lambda wildcards: template