This commit is contained in:
Tim Lorsbach
2025-11-04 10:15:06 +01:00
parent c2d45917ce
commit 04f9c9252a
3 changed files with 58 additions and 4 deletions

View File

@ -2,12 +2,13 @@ import logging
import re
from abc import ABC
from collections import defaultdict
from typing import List, Optional, Dict, TYPE_CHECKING
from typing import List, Optional, Dict, TYPE_CHECKING, Union
from indigo import Indigo, IndigoException, IndigoObject
from indigo.renderer import IndigoRenderer
from rdkit import Chem, rdBase
from rdkit.Chem import MACCSkeys, Descriptors
from rdkit.Chem import rdchem
from rdkit.Chem import rdChemReactions
from rdkit.Chem.Draw import rdMolDraw2D
from rdkit.Chem.MolStandardize import rdMolStandardize
@ -90,8 +91,15 @@ class FormatConverter(object):
return Chem.MolToSmiles(mol, canonical=canonical)
@staticmethod
def InChIKey(smiles):
return Chem.MolToInchiKey(FormatConverter.from_smiles(smiles))
def InChIKey(mol_or_smiles: Union[rdchem.Mol | str]):
if isinstance(mol_or_smiles, str):
mol_or_smiles = mol_or_smiles.replace("~", "")
mol_or_smiles = FormatConverter.from_smiles(mol_or_smiles)
if mol_or_smiles is None:
return None
return Chem.MolToInchiKey(mol_or_smiles)
@staticmethod
def InChI(smiles):
@ -288,7 +296,8 @@ class FormatConverter(object):
product = GetMolFrags(product, asMols=True)
for p in product:
p = FormatConverter.standardize(
Chem.MolToSmiles(p), remove_stereo=remove_stereo
Chem.MolToSmiles(p).replace("~", ""),
remove_stereo=remove_stereo,
)
prods.append(p)