def test_sum_relative_intensity(self): z = np.array([100, 200, 300]) correct = np.array([100 / 600, 200 / 600, 300 / 600]) res = normalise_intensity(z) self.assertIsNone( np.testing.assert_array_equal(np.round(res, 3), np.round(correct, 3)))
def test_max_relative_intensity(self): z = np.array([100, 200, 300]) correct = np.array([100 / 300, 200 / 300, 300 / 300]) res = normalise_intensity(z, norm_method='max') self.assertIsNone( np.testing.assert_array_equal(np.round(res, 3), np.round(correct, 3)))
def test_normalise_ordination(self): x = [ 'C13H14O5', 'C13H14N2O4S2', 'C36H45ClN6O12', 'C9H11NO2', 'C9H11NO3', 'C11H12N2O2', 'C5H7NO3', 'C5H9NO3', 'C6H12N2O4S2', 'C6H11NO3S' ] x2 = [ 'C13H14O5', 'C13H14N2O4S2', 'C36H45ClN6O12', 'C9H11NO2', 'C9H31NO3', 'C11H12N1O2', 'C5H73O3', 'C5H9NO3', 'C6H12N2O4S2', 'C6H11NO3S' ] z = np.array( [1000, 2432, 3000, 4201, 2000, 5990, 1000, 6520, 8000, 9001]) z2 = np.array( [1000, 2432, 3000, 4201, 2000, 5990, 1000, 6520, 8000, 9001]) ores = ordination_matrix(molecular_formulas=[x, x2], peak_intensities=[z, z2]) n1res = normalise_intensity(ores) n2res = normalise_intensity(ores, norm_subset='PPP', norm_method='binary') n3res = normalise_intensity(ores, norm_subset='LOS', p_L=3, norm_method='minmax') n4res = normalise_intensity(ores, norm_subset='PPP', p_P=0.73, norm_method='zscore') n5res = normalise_intensity(ores, norm_subset='PPP', p_P=0.02, norm_method='mean') n6res = normalise_intensity(ores, norm_subset='LOS', p_P=0.02, norm_method='mean', p_L=1000) n7res = normalise_intensity(ores, norm_subset='LOS', p_P=0.02, norm_method='mean', p_L=1000, log=True) n8res = normalise_intensity(ores, norm_subset='ALL', p_P=0.02, norm_method='none', p_L=1000, log=True)
def test_binary_relative_intensity(self): z = np.array([100, 0, 300, 400, 21, 321, 0, 543]) res = normalise_intensity(z, norm_method='binary') self.assertEqual(sum(res), 6)
def test_median_relative_intensity(self): z = np.array([100, 200, 300, 400, 21, 321, 342, 543]) res = normalise_intensity(z, norm_method='median') self.assertEqual(np.round(np.median(res), 3), 0.00)
def test_minmax_relative_intensity(self): z = np.array([100, 200, 300, 400, 21, 321, 342, 543]) res = normalise_intensity(z, norm_method='minmax') self.assertEqual(min(res), 0) self.assertEqual(max(res), 1)
def test_zscore_relative_intensity(self): z = np.array([100, 200, 300, 400, 21, 321, 342, 543]) res = normalise_intensity(z, norm_method='zscore') self.assertEqual(np.round(np.mean(res), 3), 0.00) self.assertEqual(np.round(np.std(res), 3), 1.00)
def test_unit_relative_intensity(self): z = np.array([100, 200, 300]) res = normalise_intensity(z, norm_method='unit_vector') self.assertEqual(np.round(sum(res**2), 3), 1.00)