Пример #1
0
    def test_reorder(self):
        out_dict = str_and_dict.unify_freq_dicts(
            self.freq_dicts,
            key_separator="-",
        )
        #original
        assert out_dict["WT"]["GLU30-LYS40"] == 1.0
        assert out_dict["WT"]["GLU30-LYS50"] == .5
        assert out_dict["WT"]["GLU30-LYS60"] == .1
        assert "LYS60-GLU30" not in out_dict["WT"].keys()  #bc reordering
        #external
        assert out_dict["WT"]["ALA40-GLU30"] == 0  #from K40A
        assert out_dict["WT"]["GLH30-LYS40"] == 0  #from prot, reordered

        # original
        assert out_dict["K40A"]["ALA40-GLU30"] == .7
        assert out_dict["K40A"]["GLU30-LYS60"] == .2  #was reordered
        assert "LYS60-GLU30" not in out_dict["K40A"].keys()
        # external
        assert out_dict["K40A"]["GLU30-LYS40"] == 0  #from WT
        assert out_dict["K40A"]["GLU30-LYS50"] == 0  #from WT
        assert out_dict["K40A"]["GLH30-LYS40"] == 0  #from prot, reordered

        # original
        assert out_dict["prot"]["GLH30-LYS40"] == .3  #was reordered
        assert "LYS40-GLH30" not in out_dict["prot"].keys()

        # external
        assert out_dict["prot"]["GLU30-LYS40"] == 0  # from WT
        assert out_dict["prot"]["GLU30-LYS50"] == 0  # from WT
        assert out_dict["prot"]["GLU30-LYS60"] == 0  # from WT, reordered
        assert "LYS60-GLU30" not in out_dict["prot"].keys()

        #assert out_dict["prot"]["LYS60-GLU30"] == 0  # from K40A not anymore, was set to 0 already
        assert out_dict["prot"]["ALA40-GLU30"] == 0  # from K40A
Пример #2
0
    def test_mutations(self):
        out_dict = str_and_dict.unify_freq_dicts(
            self.freq_dicts,
            key_separator=None,
            replacement_dict={"ALA40": "LYS40"})
        #original
        assert out_dict["WT"]["GLU30-LYS40"] == 1.0
        assert out_dict["WT"]["GLU30-LYS50"] == .5
        assert out_dict["WT"]["LYS60-GLU30"] == .1
        #external
        assert "ALA40-GLU30" not in out_dict["WT"].keys(
        )  #from K40A, will be now LYS40
        assert out_dict["WT"][
            "LYS40-GLU30"] == 0  #from K40A, was mutated back to LYS
        assert out_dict["WT"]["GLU30-LYS60"] == 0  #from K40A
        assert out_dict["WT"]["LYS40-GLH30"] == 0  #from prot

        # original
        assert out_dict["K40A"]["LYS40-GLU30"] == .7  #was mutated
        assert out_dict["K40A"]["GLU30-LYS60"] == .2
        # external
        assert out_dict["K40A"]["GLU30-LYS40"] == 0  #from WT
        assert out_dict["K40A"]["GLU30-LYS50"] == 0  #from WT
        assert out_dict["K40A"]["LYS40-GLH30"] == 0  #from prot

        # original
        assert out_dict["prot"]["LYS40-GLH30"] == .3
        # external
        assert out_dict["prot"]["GLU30-LYS40"] == 0  # from WT
        assert out_dict["prot"]["GLU30-LYS50"] == 0  # from WT
        assert out_dict["prot"]["LYS60-GLU30"] == 0  # from WT

        assert out_dict["prot"]["LYS60-GLU30"] == 0  # from K40A
        assert out_dict["prot"]["LYS40-GLU30"] == 0  # from K40A
Пример #3
0
    def test_basic_defrag(self):
        out_dict = str_and_dict.unify_freq_dicts(self.freq_dicts,
                                                 key_separator=None,
                                                 defrag="@")
        #original
        assert out_dict["WT"]["GLU30-LYS40"] == 1.0
        assert out_dict["WT"]["GLU30-LYS50"] == .5
        assert out_dict["WT"]["LYS60-GLU30"] == .1
        #external
        assert out_dict["WT"]["ALA40-GLU30"] == 0  #from K40A
        assert out_dict["WT"]["GLU30-LYS60"] == 0  #from K40A
        assert out_dict["WT"]["LYS40-GLH30"] == 0  #from prot

        # original
        assert out_dict["K40A"]["ALA40-GLU30"] == .7
        assert out_dict["K40A"]["GLU30-LYS60"] == .2
        # external
        assert out_dict["K40A"]["GLU30-LYS40"] == 0  #from WT
        assert out_dict["K40A"]["GLU30-LYS50"] == 0  #from WT
        assert out_dict["K40A"]["LYS40-GLH30"] == 0  #from prot

        # original
        assert out_dict["prot"]["LYS40-GLH30"] == .3
        # external
        assert out_dict["prot"]["GLU30-LYS40"] == 0  # from WT
        assert out_dict["prot"]["GLU30-LYS50"] == 0  # from WT
        assert out_dict["prot"]["LYS60-GLU30"] == 0  # from WT

        assert out_dict["prot"]["LYS60-GLU30"] == 0  # from K40A
        assert out_dict["prot"]["ALA40-GLU30"] == 0  # from K40A
Пример #4
0
 def test_basic_exclude(self):
     with pytest.raises(NotImplementedError):
         out_dict = str_and_dict.unify_freq_dicts(
             self.freq_dicts,
             exclude=[
                 "LYS6"
             ],  #to check that is just a pattern matching, not full str match
             key_separator=None)
     """
Пример #5
0
    def test_per_residue(self):
        """
         self.freq_dicts = {"WT":   {"GLU30-LYS40":1.0,
                                    "GLU30-LYS50":.5,
                                    "LYS60-GLU30": .1},
                           "K40A": {"ALA40-GLU30":.7,
                                    "GLU30-LYS60": .2},
                           "prot": {"LYS40-GLH30": .3
                                    }}
        Returns
        -------

        """
        out_dict = str_and_dict.unify_freq_dicts(self.freq_dicts,
                                                 per_residue=True)

        test_dict = {
            "WT": {
                "GLU30": 1.0 + .5 + .1,
                "LYS40": 1.0 + 0,
                "LYS50": .5,
                "LYS60": .1,
                "ALA40": 0,
                "GLH30": 0
            },
            "K40A": {
                "ALA40": .7,
                "GLU30": .7 + .2,
                "LYS60": .2,
                "LYS40": 0,
                "LYS50": 0,
                "GLH30": 0
            },
            "prot": {
                "GLU30": 0,
                "LYS40": .3,
                "LYS50": 0,
                "LYS60": 0,
                "ALA40": 0,
                "GLH30": .3
            }
        }

        self.assertDictEqual(out_dict["WT"], test_dict["WT"])
        self.assertDictEqual(out_dict["K40A"], test_dict["K40A"])
        self.assertDictEqual(out_dict["prot"], test_dict["prot"])