Exemplo n.º 1
0
    def test_sample_has_correct_shape(self):
        mapper = mapping.PeakMapper("test", n_peaks=3, atom_names=["N", "H"])
        state = mapper.get_initial_state()

        trial_state = mapper.sample(state)

        self.assertEqual(trial_state.shape[0], 3)
Exemplo n.º 2
0
    def test_extract_value_should_fail_with_map_name_mismatch(self):
        mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])
        m = mapping.PeakMapping(map_name="fail", peak_id=0, atom_name="H")
        state = mapper.get_initial_state()

        with self.assertRaises(KeyError):
            mapper.extract_value(m, state)
Exemplo n.º 3
0
    def test_atom_groups_length_should_match(self):
        mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])
        mapper.add_atom_group(N=AtomIndex(0), H=AtomIndex(1))
        mapper.add_atom_group(N=AtomIndex(2), H=AtomIndex(3))
        mapper.add_atom_group(N=AtomIndex(4), H=AtomIndex(5))

        self.assertEqual(mapper.n_atom_groups, 3)
Exemplo n.º 4
0
    def test_extract_value_should_return_not_mapped(self):
        mapper = mapping.PeakMapper("test", n_peaks=3, atom_names=["N", "H"])
        mapper.add_atom_group(N=AtomIndex(0), H=AtomIndex(1))
        state = mapper.get_initial_state()

        val1 = mapper.extract_value(
            mapping.PeakMapping(map_name="test", peak_id=0, atom_name="N"),
            state)
        val2 = mapper.extract_value(
            mapping.PeakMapping(map_name="test", peak_id=0, atom_name="H"),
            state)
        val3 = mapper.extract_value(
            mapping.PeakMapping(map_name="test", peak_id=1, atom_name="N"),
            state)

        val4 = mapper.extract_value(
            mapping.PeakMapping(map_name="test", peak_id=1, atom_name="H"),
            state)
        val5 = mapper.extract_value(
            mapping.PeakMapping(map_name="test", peak_id=2, atom_name="N"),
            state)

        val6 = mapper.extract_value(
            mapping.PeakMapping(map_name="test", peak_id=2, atom_name="H"),
            state)

        # We have 3 peaks, but only one atom group, so only one peak will
        # map to something. With the default initialization, this will be
        # the first peak.
        self.assertEqual(val1, 0)
        self.assertEqual(val2, 1)
        self.assertIsInstance(val3, mapping.NotMapped)
        self.assertIsInstance(val4, mapping.NotMapped)
        self.assertIsInstance(val5, mapping.NotMapped)
        self.assertIsInstance(val6, mapping.NotMapped)
Exemplo n.º 5
0
    def test_initial_state_should_have_correct_size(self):
        mapper1 = mapping.PeakMapper("test", n_peaks=3, atom_names=["N", "H"])
        mapper1.add_atom_group(N=AtomIndex(0), H=AtomIndex(1))

        # mapper1 has 3 peaks, but 1 atom_group
        # Initial state should have the size of max of these two,
        # so it should be 3
        self.assertEqual(mapper1.get_initial_state().shape[0], 3)

        mapper2 = mapping.PeakMapper("test", n_peaks=1, atom_names=["N", "H"])
        mapper2.add_atom_group(N=AtomIndex(0), H=AtomIndex(1))
        mapper2.add_atom_group(N=AtomIndex(2), H=AtomIndex(3))
        mapper2.add_atom_group(N=AtomIndex(4), H=AtomIndex(5))

        # mapper2 has 1 peak, but 3 atom_group
        # Initial state should have the size of max of these two,
        # so it should be 3
        self.assertEqual(mapper2.get_initial_state().shape[0], 3)
Exemplo n.º 6
0
    def test_get_atom_mapping_should_raise_with_bad_peak_id(self):
        mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])

        with self.assertRaises(KeyError):
            # no peak_id 10
            mapper.get_mapping(peak_id=10, atom_name="H")

        with self.assertRaises(KeyError):
            # peak_id -1 is bad
            mapper.get_mapping(peak_id=-1, atom_name="H")
Exemplo n.º 7
0
    def test_extract_value_should_raise_with_illegal_peak_id(self):
        mapper = mapping.PeakMapper("test", n_peaks=1, atom_names=["N", "H"])
        mapper.add_atom_group(N=AtomIndex(0), H=AtomIndex(1))
        mapper.add_atom_group(N=AtomIndex(2), H=AtomIndex(3))
        mapper.add_atom_group(N=AtomIndex(4), H=AtomIndex(5))
        state = mapper.get_initial_state()

        with self.assertRaises(KeyError):
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=1, atom_name="H"),
                state)
Exemplo n.º 8
0
    def test_extract_value_should_give_correct_indices_with_equal_length(self):
        mapper = mapping.PeakMapper("test", n_peaks=3, atom_names=["N", "H"])
        mapper.add_atom_group(N=AtomIndex(0), H=AtomIndex(1))
        mapper.add_atom_group(N=AtomIndex(2), H=AtomIndex(3))
        mapper.add_atom_group(N=AtomIndex(4), H=AtomIndex(5))
        state = mapper.get_initial_state()

        self.assertEqual(
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=0, atom_name="N"),
                state),
            0,
        )
        self.assertEqual(
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=0, atom_name="H"),
                state),
            1,
        )
        self.assertEqual(
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=1, atom_name="N"),
                state),
            2,
        )
        self.assertEqual(
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=1, atom_name="H"),
                state),
            3,
        )
        self.assertEqual(
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=2, atom_name="N"),
                state),
            4,
        )
        self.assertEqual(
            mapper.extract_value(
                mapping.PeakMapping(map_name="test", peak_id=2, atom_name="H"),
                state),
            5,
        )
Exemplo n.º 9
0
 def test_should_raise_with_negative_n_peeaks(self):
     with self.assertRaises(ValueError):
         mapping.PeakMapper("test", n_peaks=-1, atom_names=["N", "H"])
Exemplo n.º 10
0
    def test_get_atom_mapping_should_have_correct_atom_name(self):
        mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])
        m = mapper.get_mapping(peak_id=0, atom_name="N")

        self.assertEqual(m.atom_name, "N")
Exemplo n.º 11
0
    def test_get_atom_mapping_should_raise_with_name(self):
        mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])

        with self.assertRaises(KeyError):
            # no name Q
            mapper.get_mapping(peak_id=0, atom_name="Q")
Exemplo n.º 12
0
 def test_should_raise_with_non_atom_index(self):
     mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])
     with self.assertRaises(ValueError):
         mapper.add_atom_group(N=0, H=AtomIndex(1))
Exemplo n.º 13
0
 def test_add_atom_group_should_fail_with_mismatch(self):
     mapper = mapping.PeakMapper("test", n_peaks=10, atom_names=["N", "H"])
     with self.assertRaises(KeyError):
         # no Q
         mapper.add_atom_group(N=AtomIndex(0), Q=AtomIndex(1))