[Feature] Legacy API Layer (#80)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#80
This commit is contained in:
2025-09-03 01:35:51 +12:00
parent 4e02910c62
commit 4158bd36cb
6 changed files with 785 additions and 5 deletions

View File

@ -8,7 +8,7 @@ from indigo import Indigo, IndigoException, IndigoObject
from indigo.renderer import IndigoRenderer
from rdkit import Chem
from rdkit import RDLogger
from rdkit.Chem import MACCSkeys
from rdkit.Chem import MACCSkeys, Descriptors
from rdkit.Chem import rdChemReactions
from rdkit.Chem.Draw import rdMolDraw2D
from rdkit.Chem.MolStandardize import rdMolStandardize
@ -67,6 +67,18 @@ class PredictionResult(object):
class FormatConverter(object):
@staticmethod
def mass(smiles):
return Descriptors.MolWt(FormatConverter.from_smiles(smiles))
@staticmethod
def charge(smiles):
return Chem.GetFormalCharge(FormatConverter.from_smiles(smiles))
@staticmethod
def formula(smiles):
return Chem.rdMolDescriptors.CalcMolFormula(FormatConverter.from_smiles(smiles))
@staticmethod
def from_smiles(smiles):
return Chem.MolFromSmiles(smiles)
@ -79,6 +91,10 @@ class FormatConverter(object):
def InChIKey(smiles):
return Chem.MolToInchiKey(FormatConverter.from_smiles(smiles))
@staticmethod
def InChI(smiles):
return Chem.MolToInchi(FormatConverter.from_smiles(smiles))
@staticmethod
def canonicalize(smiles: str):
return FormatConverter.to_smiles(FormatConverter.from_smiles(smiles), canonical=True)