Skip to content

Plugin OPSIN Name to Structure

Hiromichi Yokoyama edited this page Aug 26, 2026 · 3 revisions

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 py2opsinplus a Java runtime (JRE), which pip cannot install

See Official Plugins for the full catalogue.


1. Java is required

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.


2. Converting names

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

3. Reading the results table

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.

Failures explain themselves

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

4. Options

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.


5. Using the results

  • 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.

6. Typical workflow

  1. Paste a list of names from a paper, an SI, or a spreadsheet column.
  2. Ctrl+Enter.
  3. Read the Status column. If a group of names failed for the same reason, tick the matching option and convert again.
  4. Sort by Name or Formula to scan the batch; click # to return to input order.
  5. Double-click the one you want to draw, or Export CSV... to keep the whole batch.

7. Scope

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.


8. See also


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.

Clone this wiki locally