From 9aa2bdf884a4a6fe76f45e86c00b8230c8121ba2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 May 2026 14:02:47 +0000 Subject: [PATCH 1/2] Initial plan From 780635fa6fc404edf5fbcbcb4d309c9952dc4ab4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 May 2026 14:09:24 +0000 Subject: [PATCH 2/2] feat: support RDKit canonical and isomeric smiles to formula Agent-Logs-Url: https://github.com/RECETOX/MSMetaEnhancer/sessions/18d52ae7-bfb3-4fda-b427-2a7caa6cb51c Co-authored-by: hechth <12066490+hechth@users.noreply.github.com> --- MSMetaEnhancer/libs/converters/compute/RDKit.py | 2 ++ tests/test_rdkit.py | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) 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"}], ], )