Skip to content

Dingyun-Huang/pyopsin

Repository files navigation

PyOPSIN

This is a Python wrapper for the OPSIN (Open Parser for Systematic IUPAC Nomenclature) package, which allows you to generate SMILES and CML form the standardized IUPAC names for organic molecules. The original OPSIN package was written in Java, but this wrapper allows you to use OPSIN functionality directly from Python.

Installation

To install PyOPSIN, run

pip install pyopsin

Usage

Here's an example of how to use the PyOPSIN to generate SMILES string using the IUPAC name for a molecule:

from pyopsin import PyOpsin

# create an PyOpsin object
opsin = PyOpsin()

# generate the SMILES string from an IUPAC name for a molecule
name = "2,4,6-trinitrotoluene"
smiles = opsin.to_smiles(name)

# print the SMILES string
print(smiles)

This should output the following SMILES string:

["[N+](=O)([O-])C1=C(C)C(=CC(=C1)[N+](=O)[O-])[N+](=O)[O-]"]

Here is another example of how to invoke parallel processing to process a list of IUPAC names:

names = ["2,4,6-trinitrotoluene", "cycloheptene"]
smiles = opsin.to_smiles(names, num_workers=2)
print(smiles)

This should output the following SMILES strings:

["[N+](=O)([O-])C1=C(C)C(=CC(=C1)[N+](=O)[O-])[N+](=O)[O-]", "C1=CCCCCC1"]

Acknowledgments

The OPSIN Python wrapper is built on top of the OPSIN package, which was developed by the Centre for Molecular Informatics at the University of Cambridge. We would like to thank the developers of OPSIN for creating such a powerful and useful tool.

About

python wrapper for opsin

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages