Module ccsfp.informatics.inchi
Expand source code
#!/usr/bin/env python
# Copyright IBM Corporation 2022.
# SPDX-License-Identifier: MIT
# https://www.rdkit.org/docs/GettingStartedInPython.html
# creative commons sa 4.0 tutorial used to learn rdkit methods
# https://creativecommons.org/licenses/by-sa/4.0/
# (C) 2007-2021 by Greg Landrum
from __future__ import annotations
import logging
from rdkit import Chem
def inchi_to_smiles(inchi: str) -> str:
"""
Function to convert inchi to smiles
:param inchi: str - inchi molecule representation
:return: str smiles
>>> inchi_to_smiles("InChI=1S/H2O/h1H2")
'O'
"""
if inchi[:6] != "InChI=":
inchi = "InChI={}".format(inchi)
mol = Chem.inchi.MolFromInchi(inchi)
smiles = Chem.rdmolfiles.MolToSmiles(mol)
return smiles
if __name__ == "__main__":
import doctest
doctest.testmod()
Functions
def inchi_to_smiles(inchi: str) ‑> str
-
Function to convert inchi to smiles :param inchi: str - inchi molecule representation :return: str smiles
>>> inchi_to_smiles("InChI=1S/H2O/h1H2") 'O'
Expand source code
def inchi_to_smiles(inchi: str) -> str: """ Function to convert inchi to smiles :param inchi: str - inchi molecule representation :return: str smiles >>> inchi_to_smiles("InChI=1S/H2O/h1H2") 'O' """ if inchi[:6] != "InChI=": inchi = "InChI={}".format(inchi) mol = Chem.inchi.MolFromInchi(inchi) smiles = Chem.rdmolfiles.MolToSmiles(mol) return smiles