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)