-
-
Notifications
You must be signed in to change notification settings - Fork 1
Plugin OPSIN Name to Structure
OPSIN Name to Structure turns systematic IUPAC names into structures on your own computer and loads them into the 2D editor. Parsing is done by OPSIN, so there is no network call and no database lookup: it understands any name the nomenclature rules allow, including ones no database has ever indexed.
| Repository | moleditpy_opsin_name_to_structure |
| Author | HiroYokoyama |
| Supported OS | Windows, macOS, Linux, WSL |
| Supported Python | >=3.9, <3.15 |
| Menu location | Plugins ▸ OPSIN Name to Structure... |
| Extra dependencies |
py2opsin — plus a Java runtime (JRE), which pip cannot install
|
See Official Plugins for the full catalogue.
OPSIN is a Java program. The plugin ships no jar and no Java source — the jar comes from the pip-installable py2opsin package, which the Plugin Installer will pull in for you like any other dependency.
A Java runtime cannot be installed with pip, so you have to install one yourself:
| Platform | Getting a JRE |
|---|---|
| Windows | Temurin or Microsoft OpenJDK |
| macOS | Temurin, or brew install openjdk
|
| Linux / WSL | your distribution's default-jre
|
Check it worked with java -version in a terminal.
Without Java the window still opens: it disables Convert and explains what to install, rather than failing halfway through a batch. Install Java afterwards and just reopen the window — it looks again rather than staying disabled for the rest of the session.
Type or paste names into the box, one per line. Blank lines and duplicates are ignored.
Convert — or Ctrl+Enter, since Enter has to stay a newline in a multi-line box — parses the whole batch with a single JVM start, off the GUI thread, so a long list does not freeze the editor.
(2R)-2-amino-3-phenylpropanoic acid
4-[(1E)-2-phenylethenyl]pyridine
2,4-dimethoxybenzaldehyde
Every name gets a row — successes and failures — so nothing disappears quietly.
| Column | What it holds |
|---|---|
| # | The line the name came in on |
| Name | The name exactly as you typed it |
| Formula | Molecular formula, computed locally by RDKit |
| SMILES | Canonical SMILES |
| InChIKey | Standard InChIKey |
| Status |
OK, or the reason OPSIN itself gave for rejecting the name |
The # column is what makes input order a sort order like any other: click any header to sort by it, click # to get back to the order you typed.
OPSIN reports why it rejected a name, and the plugin puts that reason in the row rather than a generic "could not interpret". It usually tells you which option to tick:
| Name | Status |
|---|---|
pyridin-2-yl |
could be parsed but OPSIN was unsure of the meaning of the words... if a name is just a substituent → tick Allow radicals |
acetic |
"acid" not found after ic → tick Allow acids without "acid" |
not-a-real-name-xyz |
is unparsable due to the following being uninterpretable... → a genuine typo or a non-systematic name |
| Option | What it does |
|---|---|
| Allow radicals | Accept names that are only a substituent, e.g. pyridin-2-yl
|
| Allow acids without "acid" | Accept acetic as acetic acid
|
| Allow uninterpretable stereo | Ignore stereo OPSIN cannot read instead of failing the name |
| Wildcard radicals | Represent open valences as * wildcard atoms |
Options apply to the next Convert, so a batch that failed can be re-run with a switch flipped.
- Load to 2D Editor, or double-click a row, puts that structure on the canvas.
- Copy SMILES / InChI / InChIKey copies the field for every selected row, one per line — select the whole table to get a column.
- Export CSV... writes the entire table to a file: name, formula, SMILES, InChIKey, InChI, and status, failures and their reasons included.
- Clear empties both the name box and the table.
- Paste a list of names from a paper, an SI, or a spreadsheet column.
- Ctrl+Enter.
- Read the Status column. If a group of names failed for the same reason, tick the matching option and convert again.
- Sort by Name or Formula to scan the batch; click # to return to input order.
- Double-click the one you want to draw, or Export CSV... to keep the whole batch.
OPSIN is a one-way parser: name → structure. There is no reverse mode, and no pip-installable structure → name engine works on current Python.
For the other direction, and for trade names and CAS numbers — which are lookups rather than grammar — use the PubChem Name Resolver and PubChem Structure Identifier plugins, which query PubChem online. This plugin is the offline complement to those.
- Official Plugins — the full plugin catalogue
- Using Plugins — installing, managing, and trusting plugins
- OPSIN — the parser itself (MIT licensed)
This page documents OPSIN Name to Structure v1.0.1, and was last updated on 2026-08-26. See REGISTRY/plugins.json for the current version.