diff --git a/MSMetaEnhancer/libs/converters/compute/RDKit.py b/MSMetaEnhancer/libs/converters/compute/RDKit.py index e91bd50..58c74dc 100644 --- a/MSMetaEnhancer/libs/converters/compute/RDKit.py +++ b/MSMetaEnhancer/libs/converters/compute/RDKit.py @@ -21,6 +21,8 @@ def __init__(self): ("smiles", "mw", "from_smiles"), ("canonical_smiles", "mw", "from_smiles"), ("isomeric_smiles", "mw", "from_smiles"), + ("canonical_smiles", "formula", "smiles_to_formula"), + ("isomeric_smiles", "formula", "smiles_to_formula"), ] self.create_top_level_conversion_methods(conversions, asynch=False) diff --git a/tests/test_rdkit.py b/tests/test_rdkit.py index c6562b5..74c8cf5 100644 --- a/tests/test_rdkit.py +++ b/tests/test_rdkit.py @@ -5,6 +5,7 @@ INCHI = "InChI=1S/C19H28O2/c1-18-9-7-13(20)11-12(18)3-4-14-15-5-6-17(21)19(15,2)10-8-16(14)18/h11,14-17,21H,3-10H2,1-2H3/t14-,15-,16-,17-,18-,19-/m0/s1" CANONICAL_SMILES = "CC12CCC(=O)C=C1CCC1C2CCC2(C)C(O)CCC12" +ISOMERIC_SMILES = "C[C@]12CC[C@H]3[C@@H](CCC4=CC(=O)CC[C@@]43C)[C@@H]1CC[C@@H]2O" @pytest.mark.parametrize( @@ -14,13 +15,13 @@ [ "inchi_to_isomeric_smiles", INCHI, - { - "isomeric_smiles": "C[C@]12CC[C@H]3[C@@H](CCC4=CC(=O)CC[C@@]43C)[C@@H]1CC[C@@H]2O" - }, + {"isomeric_smiles": ISOMERIC_SMILES}, ], ["from_smiles", CANONICAL_SMILES, {"mw": 288.208930136}], ["formula_to_mw", "C9H15N4O8P", {"mw": 338.21299999999997}], ["smiles_to_formula", CANONICAL_SMILES, {"formula": "C19H28O2"}], + ["canonical_smiles_to_formula", CANONICAL_SMILES, {"formula": "C19H28O2"}], + ["isomeric_smiles_to_formula", ISOMERIC_SMILES, {"formula": "C19H28O2"}], ["inchi_to_formula", INCHI, {"formula": "C19H28O2"}], ], )