forked from enviPath/enviPy
[Feature] Engineer Pathway (#256)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#256
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, rdFingerprintGenerator
|
||||
from rdkit.Chem import rdchem
|
||||
from rdkit.Chem import rdChemReactions
|
||||
from rdkit.Chem.Draw import rdMolDraw2D
|
||||
from rdkit.Chem.MolStandardize import rdMolStandardize
|
||||
@ -94,8 +95,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):
|
||||
@ -352,7 +360,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,
|
||||
)
|
||||
|
||||
if product_filter_smarts and FormatConverter.smarts_matches(
|
||||
|
||||
Reference in New Issue
Block a user