diff --git a/README.text b/README.text index cd4f18134..95586dc62 100644 --- a/README.text +++ b/README.text @@ -1,6 +1,6 @@ OPSIN - Open Parser for Systematic IUPAC Nomenclature ===================================================== -__Version 2.0.0 (see ReleaseNotes.txt for what's new in this version)__ +__Version 2.1.0 (see ReleaseNotes.txt for what's new in this version)__ __Contact address: __ __Source code: __ __Web interface and informational site: __ @@ -11,23 +11,23 @@ Supported outputs are SMILES, CML (Chemical Markup Language) and InChI (IUPAC In ### Simple Usage Examples #### Convert a chemical name to SMILES -`java -jar opsin-2.0.0-jar-with-dependencies.jar -osmi input.txt output.txt` +`java -jar opsin-2.1.0-jar-with-dependencies.jar -osmi input.txt output.txt` where input.txt contains chemical name/s, one per line NameToStructure nts = NameToStructure.getInstance(); String smiles = nts.parseToSmiles("acetonitrile"); #### Convert a chemical name to CML -`java -jar opsin-2.0.0-jar-with-dependencies.jar -ocml input.txt output.txt` +`java -jar opsin-2.1.0-jar-with-dependencies.jar -ocml input.txt output.txt` where input.txt contains chemical name/s, one per line NameToStructure nts = NameToStructure.getInstance(); String cml = nts.parseToCML("acetonitrile"); #### Convert a chemical name to InChI/StdInChI/StdInChIKey -`java -jar opsin-2.0.0-jar-with-dependencies.jar -oinchi input.txt output.txt` -`java -jar opsin-2.0.0-jar-with-dependencies.jar -ostdinchi input.txt output.txt` -`java -jar opsin-2.0.0-jar-with-dependencies.jar -ostdinchikey input.txt output.txt` +`java -jar opsin-2.1.0-jar-with-dependencies.jar -oinchi input.txt output.txt` +`java -jar opsin-2.1.0-jar-with-dependencies.jar -ostdinchi input.txt output.txt` +`java -jar opsin-2.1.0-jar-with-dependencies.jar -ostdinchikey input.txt output.txt` where input.txt contains chemical name/s, one per line NameToInchi nti = new NameToInchi() @@ -37,7 +37,7 @@ where input.txt contains chemical name/s, one per line NOTE: OPSIN's non-standard InChI includes an additional layer (FixedH) that indicates which tautomer the chemical name described. StdInChI aims to be tautomer independent. ### Advanced Usage -OPSIN 2.0.0 allows enabling of the following parameters: +OPSIN 2.1.0 allows enabling of the following parameters: * allowRadicals: Allows substituents to be interpretable e.g. allows interpretation of "ethyl" * wildcardRadicals: If allowRadicals is enabled, this option uses atoms in the output to represent radicals: 'R' in CML and '*' in SMILES e.g. changes the output of ethyl from C[CH2] to CC\* @@ -49,7 +49,7 @@ OPSIN 2.0.0 allows enabling of the following parameters: \*When used as a library this is done by modifying Log4J's logging level e.g. `Logger.getLogger("uk.ac.cam.ch.wwmm.opsin").setLevel(Level.DEBUG);` The usage of these parameters on the command line is described in the command line's help dialog accessible via: -`java -jar opsin-2.0.0-jar-with-dependencies.jar -h` +`java -jar opsin-2.1.0-jar-with-dependencies.jar -h` These parameters may be controlled using the following code: @@ -73,7 +73,7 @@ NOTE: (Std)InChI cannot be generated for polymers or radicals generated in combi ### Availability OPSIN is available as a standalone JAR from Bitbucket, -`opsin-2.0.0-jar-with-dependencies.jar` can be executed as a commandline application or added to the classpath for library usage. +`opsin-2.1.0-jar-with-dependencies.jar` can be executed as a commandline application or added to the classpath for library usage. OPSIN is also available from the Maven Central Repository for users of Apache Maven. If you are using Maven then add the following to your pom.xml: @@ -81,7 +81,7 @@ If you are using Maven then add the following to your pom.xml: uk.ac.cam.ch.opsin opsin-core - 2.0.0 + 2.1.0 If you need just CML or SMILES output support @@ -91,7 +91,7 @@ or uk.ac.cam.ch.opsin opsin-inchi - 2.0.0 + 2.1.0 if you also need InChI output support. @@ -148,6 +148,7 @@ tellurides, telluroketones, tellurosemicarbazones, tellurones, telluroxides, thi #### Currently UNsupported nomenclature includes: * Other less common stereochemical terms +* Most isotopic labelling * Most natural Products other than steroids * Natural product specific nomenclature operations * Multiplied, unsaturated or composite bridge prefixes e.g. epoxymethano diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 5f919b374..b70064e99 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -1,3 +1,29 @@ +Version 2.1.0 (2016-03-12) +Added support for fractional multipliers e.g. hemihydrochloride +Added support for abbreviated common salts e.g. HCl +Added support for sandwich compounds e.g. ferrocene +Improved recognition of names missing the last 'e' (common in German) +Support for E/Z directly before double bond indication e.g. 2Z-ylidene, 2Z-ene +Improved support for functional class ethers e.g. "glycerol triglycidyl ether" +Added general support for names involving an ester formed from an alcohol and an ate group +Grignards reagents and certain compounds (e.g. uranium hexafluoride), are now treated as covalent rather than ionic +Added experimental support for outputting extended SMILES. Polymers and attachment points are annotated explicitly +Polymers when output as SMILES now have atom classes to indicate which end of the repeat unit is which +Support * as a superscript indicator e.g. *6* to mean superscript 6 +Improved recognition of racemic stereochemistry terms +Added general support for names like "beta-alanine N,N-diacetic acid" +Allowed "one" and "ol" suffixes to be used in more cases where another suffix is also present +"ic acid halide" is not interpreted the same as "ic halide" +Fixed some cases where ambiguous operations were not considered ambiguous e.g. monosubstitututed phenyl +Improvements/bug fixes to heuristics for detecting when spaces are omitted from ether/ester names +Improved support for stereochemistry in older CAS index names +Many precision improvements e.g. cyclotriphosphazene, thiazoline, TBDMS/TBDPS protecting groups, S-substituted-methionine +Various minor bug fixes e.g. names containing "SULPH" not recognized +Minor vocabulary improvements + +Internal XML Changes: +Synonymns of the same concept are now or-ed rather being seperate entities e.g. tertiary|tert-|t- + Version 2.0.0 (2015-07-10) MAJOR CHANGES: Requires Java 1.6 or higher diff --git a/opsin-core/src/main/java/uk/ac/cam/ch/wwmm/opsin/OpsinResult.java b/opsin-core/src/main/java/uk/ac/cam/ch/wwmm/opsin/OpsinResult.java index 163d4eee8..ba88fbbc0 100644 --- a/opsin-core/src/main/java/uk/ac/cam/ch/wwmm/opsin/OpsinResult.java +++ b/opsin-core/src/main/java/uk/ac/cam/ch/wwmm/opsin/OpsinResult.java @@ -153,9 +153,9 @@ public String getSmiles() { } /** - * Generates the extended SMILES corresponding to the molecule described by the name + * Experimental function that generates the extended SMILES corresponding to the molecule described by the name * If name generation failed i.e. the OPSIN_RESULT_STATUS is FAILURE then null is returned - * If the molecule doesn't utilise any features made possible by extended SMILES (e.g. coordinate bonds) this is equivalent to {@link #getSmiles()} + * If the molecule doesn't utilise any features made possible by extended SMILES this is equivalent to {@link #getSmiles()} * @return Extended SMILES as a String */ public String getExtendedSmiles() {