During the development of OSCAR the need to have a program to convert identified chemical names to connection tables arose. Due to the absence of any open source efforts with broad coverage of organic nomenclature work was started by Peter Murray-Rust and Joe Townsend on such a program. This work was continued by Peter Corbett cumulating in the creation of a system broadly similar to the current incarnation (Corbett and Murray-Rust 2006). In 2008 Daniel Lowe took over development of the project as part of his PhD during which time the range of nomenclature supported as been expanded substantially, along with improvements to the parser to cope with the complexity of the grammar of chemical names (Lowe et al. 2011). A comprehensive description of OPSIN, its algorithms and performance (as of mid 2012) is included in the PhD thesis (Lowe 2012). Development of OPSIN is still on-going with more nomenclature continuing to be added (Lowe et al. 2013).
Examples of Supported Nomenclature
|Trivial acids and derivatives||maleic acid
|von Baeyer systems||pentacyclo[126.96.36.199,8.018,20.113,28]triacontane|
|Specification of charge: ium/ide/ylium/uide||azanium
|Conjunctive nomenclature||1,3,5-benzenetriacetic acid|
|Fused ring systems||
|Prefix functional replacement||peroxybenzoic acid|
|Infix functional replacement||benzoperoxoic acid|
|Radicofunctional nomenclature||acids, acetals, alcohols, amides, anhydrides, azetidides, azides, bromides, chlorides, cyanates, cyanides, esters, di/tri/tetra esters, ethers, fluorides, fulminates, glycols, glycol ethers, hemiacetals, hemiketal, hydrazones, hydroperoxides, hydrazides, imides, iodides, isocyanates, isocyanides, isoselenocyanates, isothiocyanates, ketals, ketones, lactams, lactims, lactones, selenocyanates, thiocyanates, selenols, thiols, mercaptans, morpholides, oxides, oximes, peroxides, piperazides, piperidides, pyrrolidides, selenides, selenones, selenoxides, selones, selenoketones, selenosemicarbazones, semicarbazones, sulfides, sulfones, sulfoxides, sultams, sultims, sultines, sultones, tellurides, telluroketones, tellurosemicarbazones, tellurones, telluroxides, thioketones and thiosemicarbazones|
|Amino Acids and derivatives||
|Nucleosides, nucleotides and their esters||adenosine 5'-(tetrahydrogen triphosphate)|
|Steroids including alpha/beta stereochemistry||(3β)-cholest-5-en-3-ol|
|Cyclised monosaccharides and glycosides||
|Deoxy and anhydro||5-acetamido-2,7-anhydro-3,5-dideoxy-D-glycero-α-D-galacto-non-2-ulopyranosonic acid|
|Basic inorganic support||
|R/S stereochemistry||(1R,3S)-3-amino-3-methylcyclohexanecarboxylic acid|
|cis/trans indicating relative stereochemistry on rings||cis-1,4-dimethylcyclohexane|
|Structure-based polymer names||poly(2,2'-diamino-5-hexadecylbiphenyl-3,3'-diyl)|
 Daniel M. Lowe, Peter T. Corbett, Peter Murray-Rust, Robert C. Glen. Chemical Name to Structure: OPSIN, an Open Source Solution. Journal of Chemical Information and Modeling. 2011, 51 (3), 739-753 DOI: 10.1021/ci100384d
OPSIN utilises dk.brics.automaton to provide a discrete finite state automaton to allow the parsing of chemical names. Woodstox is used as an XML framework for reading in resource files and writing CML. JNI-InChI is used to generate InChIs. Additionally for testing JUnit and Mockito are employed. The web interface is powered by Restlet with the Indigo toolkit being used for 2D coordinate generation and depiction.
OPSIN's developers use YourKit to profile and optimise code.
YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.
License and Warranty
OPSIN is licensed under the Artistic License v2.0
OPSIN is made available in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.