Back to home page

EIC code displayed by LXR

 
 

    


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