forked from enviPath/enviPy
...
This commit is contained in:
@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user