def test_resolution_warning(self): """Warn when overlapping isotopologues.""" data = pd.read_csv(Path("tests/test_dataset.csv"), index_col=0) data.drop(columns=["dummy column int", "dummy column str"], inplace=True) data.rename(columns={"4C13 6H02 3N15": "1H02"}, inplace=True) molecule_name = "Test1" with self.assertWarns(UserWarning): ic.calc_isotopologue_correction( data, molecule_name, resolution_correction=True, molecules_file=self.molecules_file, isotopes_file=self.isotopes_file, )
def test_result(self): """Result with default values.""" data = pd.read_csv(Path("tests/test_dataset.csv"), index_col=0) data.drop(columns=["dummy column int", "dummy column str"], inplace=True) molecule_name = "NAD" res = ic.calc_isotopologue_correction( data, molecule_name, ) data_corrected = pd.read_csv(Path("tests/test_dataset_corrected.csv"), index_col=0) pd.testing.assert_frame_equal(data_corrected, res)
def test_resolution_ultra_high_result(self): """Result with ultra high resolution.""" data = pd.read_csv(Path("tests/test_dataset.csv"), index_col=0) data.drop(columns=["dummy column int", "dummy column str"], inplace=True) data.rename(columns={"4C13 6H02 3N15": "2H02"}, inplace=True) molecule_name = "Test1" res_w_cor = ic.calc_isotopologue_correction( data, molecule_name, resolution_correction=True, resolution=1e8, molecules_file=self.molecules_file, isotopes_file=self.isotopes_file, ) res_wo_cor = ic.calc_isotopologue_correction( data, molecule_name, resolution_correction=False, molecules_file=self.molecules_file, isotopes_file=self.isotopes_file, ) pd.testing.assert_frame_equal(res_wo_cor, res_w_cor, rtol=1e-4)
def test_result_files(self): """Result with given molecule and isotopes file paths.""" data = pd.read_csv(Path("tests/test_dataset.csv"), index_col=0) data.drop(columns=["dummy column int", "dummy column str"], inplace=True) molecule_name = "Test1" res = ic.calc_isotopologue_correction( data, molecule_name, molecules_file=self.molecules_file, isotopes_file=self.isotopes_file, ) data_corrected = pd.read_csv(Path("tests/test_dataset_corrected.csv"), index_col=0) pd.testing.assert_frame_equal(data_corrected, res)
def test_result_exclude_col(self): """Result with exclude_col parameter.""" data = pd.read_csv(Path("tests/test_dataset.csv"), index_col=0) exclude_col = ["dummy column int", "dummy column str"] molecule_name = "Test1" res = ic.calc_isotopologue_correction( data, molecule_name, exclude_col=exclude_col, molecules_file=self.molecules_file, isotopes_file=self.isotopes_file, ) assert res.shape == data.shape res.drop(columns=["dummy column int", "dummy column str"], inplace=True) data_corrected = pd.read_csv(Path("tests/test_dataset_corrected.csv"), index_col=0) pd.testing.assert_frame_equal(data_corrected, res)
def test_result_subset(self): """Result with explicit subset.""" data = pd.read_csv(Path("tests/test_dataset.csv"), index_col=0) subset = ["No label", "1C13", "4C13 6H02 3N15"] molecule_name = "Test1" res = ic.calc_isotopologue_correction( data, molecule_name, subset=subset, molecules_file=self.molecules_file, isotopes_file=self.isotopes_file, ) assert res.shape == data.shape res.drop(columns=["dummy column int", "dummy column str"], inplace=True) data_corrected = pd.read_csv(Path("tests/test_dataset_corrected.csv"), index_col=0) pd.testing.assert_frame_equal(data_corrected, res)