diff --git a/phasecalculator/classes/phase.py b/phasecalculator/classes/phase.py index 741b7531a29d2e2674debe0fa6a37e6647028bbd..41ee8f2537c7cc0846425c6f04c352bbafd7483f 100755 --- a/phasecalculator/classes/phase.py +++ b/phasecalculator/classes/phase.py @@ -203,3 +203,17 @@ class Phase(object): """ return [molecule.ssip_file_loc for molecule in self.molecule_list] + + def get_name_inchikey_map(self): + """Get the name inchikey mapping for all molecules in the phases. + + Returns + ------- + name_inchikey_map : dict + name: inchikey pairings for molecules. + + """ + name_inchikey_map = {} + for molecule in self.molecule_list: + name_inchikey_map[molecule.name] = molecule.inchikey + return name_inchikey_map diff --git a/phasecalculator/classes/phases.py b/phasecalculator/classes/phases.py index 67527cd5b06d1848858616b71cb6d4fab683029c..6b04fed7c68a064ed1185fae9fb22f16f6af00e7 100755 --- a/phasecalculator/classes/phases.py +++ b/phasecalculator/classes/phases.py @@ -181,3 +181,17 @@ class Phases(object): for phase in self.phase_list: ssip_file_locations.extend(phase.get_ssip_file_locations()) return set(ssip_file_locations) + + def get_name_inchikey_map(self): + """Get the name inchikey mapping for all molecules in the phases. + + Returns + ------- + name_inchikey_map : dict + name: inchikey pairings for molecules. + + """ + name_inchikey_map = {} + for phase in self.phase_list: + name_inchikey_map.update(phase.get_name_inchikey_map()) + return name_inchikey_map \ No newline at end of file diff --git a/phasecalculator/classes/system.py b/phasecalculator/classes/system.py index 33384d3765fa9409b78d08bf6861b9877646acd5..a09412c6007221aaeab1555bd936cefecb054074 100755 --- a/phasecalculator/classes/system.py +++ b/phasecalculator/classes/system.py @@ -268,6 +268,17 @@ class System(object): """ return self.phases.get_ssip_file_locations() + + def get_name_inchikey_map(self): + """Get the name inchikey mapping for all molecules in the phases. + + Returns + ------- + name_inchikey_map : dict + name: inchikey pairings for molecules. + + """ + return self.phases.get_name_inchikey_map() def calc_fgip(self): """Boolean indicating whether to Calculate FGIP information for Phases. diff --git a/phasecalculator/test/classestest/phasestest.py b/phasecalculator/test/classestest/phasestest.py index 761dd6d6ec9a3a2ce3777fa53c999872fc6333d7..6eb885040bfef44181bf61712e0259acb0b1b373 100755 --- a/phasecalculator/test/classestest/phasestest.py +++ b/phasecalculator/test/classestest/phasestest.py @@ -145,3 +145,14 @@ class PhasesTestCase(unittest.TestCase): expected_set = {self.molecule.ssip_file_loc} actual_set = self.phases.get_ssip_file_locations() self.assertSetEqual(expected_set, actual_set) + def test_get_name_inchikey_map(self): + """Test expected name: inchikey mapping is returned. + + Returns + ------- + None. + + """ + expected_dict = {'water': 'XLYOFNOQVPJJNP-UHFFFAOYSA-N'} + actual_dict = self.phases.get_name_inchikey_map() + self.assertDictEqual(expected_dict, actual_dict) diff --git a/phasecalculator/test/classestest/phasetest.py b/phasecalculator/test/classestest/phasetest.py index 1aeaa69003f9323598181230daf5420226ecafb8..f650ece3c85dec8ceffb58b19013c6ea85aec852 100755 --- a/phasecalculator/test/classestest/phasetest.py +++ b/phasecalculator/test/classestest/phasetest.py @@ -138,3 +138,14 @@ class PhaseTestCase(unittest.TestCase): expected_list = [self.molecule.ssip_file_loc] actual_list = self.phase.get_ssip_file_locations() self.assertListEqual(expected_list, actual_list) + def test_get_name_inchikey_map(self): + """Test expected name: inchikey mapping is returned. + + Returns + ------- + None. + + """ + expected_dict = {'water': 'XLYOFNOQVPJJNP-UHFFFAOYSA-N'} + actual_dict = self.phase.get_name_inchikey_map() + self.assertDictEqual(expected_dict, actual_dict) \ No newline at end of file diff --git a/phasecalculator/test/classestest/systemtest.py b/phasecalculator/test/classestest/systemtest.py index 2ca3cb40ffb651f6a12ebd27854d6ef83e44f42a..e02dbeb7e0d42690cb94964c6fae71209700c78e 100755 --- a/phasecalculator/test/classestest/systemtest.py +++ b/phasecalculator/test/classestest/systemtest.py @@ -222,6 +222,18 @@ class SystemTestCase(unittest.TestCase): expected_set = {self.molecule.ssip_file_loc} actual_set = self.system.get_ssip_file_locations() self.assertSetEqual(expected_set, actual_set) + + def test_get_name_inchikey_map(self): + """Test expected name: inchikey mapping is returned. + + Returns + ------- + None. + + """ + expected_dict = {'water': 'XLYOFNOQVPJJNP-UHFFFAOYSA-N'} + actual_dict = self.system.get_name_inchikey_map() + self.assertDictEqual(expected_dict, actual_dict) def test_calc_fgip(self): """Test expected bool returned.