a b/tests/configurables.py
1
import gin
2
3
4
class DummyModiscoResult:
5
    def save_hdf5(self, grp):
6
        pass
7
8
9
@gin.configurable
10
class DummyModiscoWorkflow:
11
    """Dummy configurable to test
12
    """
13
14
    def __init__(self, *args, **kwargs):
15
        self.args = args
16
        self.kwargs = kwargs
17
        print(f"Recieved args: {args}")
18
        print(f"Recieved kwargs: {kwargs}")
19
20
    def __call__(self, *args, **kwargs):
21
        req_kwargs = ['task_names',
22
                      'contrib_scores',
23
                      'hypothetical_contribs',
24
                      'one_hot',
25
                      'null_per_pos_scores']
26
        for kw in req_kwargs:
27
            assert kw in kwargs
28
29
        assert kwargs['contrib_scores'].keys() == kwargs['hypothetical_contribs'].keys()
30
31
        print(f"Recieved args: {args}")
32
        print(f"Recieved kwargs: {kwargs}")
33
        return DummyModiscoResult()