diff --git a/pom.xml b/pom.xml
index 74c3cc8..f54b404 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,10 +4,12 @@
chemViz2
edu.ucsf.rbvi.chemViz2.internal
- 3.5.0
+ 3.9.0
- 2.3.4
+ 5.1.2
4.2.0
+ 2.7.1
+ 1.1
edu.ucsf.rbvi
@@ -15,7 +17,7 @@
bundle
${bundle.symbolicName}
- 1.1.1
+ 1.2.0
@@ -93,28 +95,6 @@
true
-
-
- jni-inchi
- JNI-InChI Maven Repository
- http://jni-inchi.sourceforge.net/m2repo
-
- true
-
-
-
- jnati
- http://jnati.sourceforge.net/m2repo
-
- true
-
-
@@ -190,6 +170,11 @@
1.11.11
provided
+
+ com.google.guava
+ guava
+ 31.1-jre
+
org.osgi
org.osgi.core
@@ -200,122 +185,107 @@
org.openscience.cdk
cdk-interfaces
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-core
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-smiles
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-smarts
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-inchi
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-qsar
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-qsarmolecular
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-render
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-renderbasic
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-renderextra
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-renderawt
- 1.5.14
- true
-
-
- org.openscience.cdk
- cdk-smsd
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-builder3d
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-fingerprint
- 1.5.14
+ ${cdk.version}
true
org.openscience.cdk
cdk-silent
- 1.5.14
+ ${cdk.version}
true
-
org.openscience.cdk
cdk-legacy
- 1.5.14
- true
-
-
- net.sf.jnati
- jnati-core
- 0.4
+ ${cdk.version}
true
+
+ io.github.dan2097
+ jna-inchi-api
+ ${jna-inchi.version}
+
- net.sf.jnati
- jnati-deploy
- 0.4
- true
+ io.github.dan2097
+ jna-inchi-all
+ ${jna-inchi.version}
-
xom
xom
- 1.2.5
+ 1.3.7
provided
@@ -336,37 +306,12 @@
2.4
true
-
-
xml-apis
xml-apis
1.3.03
provided
-
-
- net.sf.jni-inchi
- jni-inchi
- 0.9-SNAPSHOT
- true
-
-
- org.apache.commons
- commons-math3
- 3.0
- true
-
diff --git a/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/Depiction.java b/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/Depiction.java
index beb9313..2727278 100644
--- a/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/Depiction.java
+++ b/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/Depiction.java
@@ -18,15 +18,8 @@
*/
package edu.ucsf.rbvi.chemViz2.internal.depict;
-import com.google.common.base.Charsets;
-import org.openscience.cdk.renderer.RendererModel;
-import org.openscience.cdk.renderer.elements.Bounds;
-import org.openscience.cdk.renderer.elements.IRenderingElement;
-import org.openscience.cdk.renderer.font.AWTFontManager;
-import org.openscience.cdk.renderer.generators.BasicSceneGenerator;
-import org.openscience.cdk.renderer.visitor.IDrawVisitor;
+import static edu.ucsf.rbvi.chemViz2.internal.depict.DepictionGenerator.AUTOMATIC;
-import javax.imageio.ImageIO;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
@@ -34,12 +27,20 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
-import static edu.ucsf.rbvi.chemViz2.internal.depict.DepictionGenerator.AUTOMATIC;
+import javax.imageio.ImageIO;
+
+import org.openscience.cdk.renderer.RendererModel;
+import org.openscience.cdk.renderer.elements.Bounds;
+import org.openscience.cdk.renderer.elements.IRenderingElement;
+import org.openscience.cdk.renderer.font.AWTFontManager;
+import org.openscience.cdk.renderer.generators.BasicSceneGenerator;
+import org.openscience.cdk.renderer.visitor.IDrawVisitor;
/**
* Base class of a pre-rendered depiction. The class allows introspection of
@@ -212,11 +213,11 @@ public final List listFormats() {
*/
public final void writeTo(String fmt, OutputStream out) throws IOException {
if (fmt.equalsIgnoreCase(SVG_FMT)) {
- out.write(toSvgStr().getBytes(Charsets.UTF_8));
+ out.write(toSvgStr().getBytes(StandardCharsets.UTF_8));
} else if (fmt.equalsIgnoreCase(PS_FMT)) {
- out.write(toEpsStr().getBytes(Charsets.UTF_8));
+ out.write(toEpsStr().getBytes(StandardCharsets.UTF_8));
} else if (fmt.equalsIgnoreCase(PDF_FMT)) {
- out.write(toPdfStr().getBytes(Charsets.UTF_8));
+ out.write(toPdfStr().getBytes(StandardCharsets.UTF_8));
} else {
ImageIO.write(toImg(), fmt, out);
}
diff --git a/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/SvgDrawVisitor.java b/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/SvgDrawVisitor.java
index 7819364..a50911a 100644
--- a/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/SvgDrawVisitor.java
+++ b/src/main/java/edu/ucsf/rbvi/chemViz2/internal/depict/SvgDrawVisitor.java
@@ -353,7 +353,7 @@ private void visit(String id, String cls, LineElement elem) {
private void visit(MarkedElement elem) {
String id = elem.getId();
List classes = elem.getClasses();
- String cls = classes.isEmpty() ? null : Joiner.on(" ").join(classes);
+ String cls = classes.isEmpty() ? null : String.join(" ", classes);
IRenderingElement marked = elem.element();
diff --git a/src/main/java/edu/ucsf/rbvi/chemViz2/internal/model/Compound.java b/src/main/java/edu/ucsf/rbvi/chemViz2/internal/model/Compound.java
index 760dcfc..6d748e4 100644
--- a/src/main/java/edu/ucsf/rbvi/chemViz2/internal/model/Compound.java
+++ b/src/main/java/edu/ucsf/rbvi/chemViz2/internal/model/Compound.java
@@ -18,6 +18,7 @@
import org.cytoscape.model.CyNetwork;
import edu.ucsf.rbvi.chemViz2.internal.view.ViewUtils;
+import io.github.dan2097.jnainchi.InchiStatus;
import org.openscience.cdk.AtomContainer;
import org.openscience.cdk.CDKConstants;
@@ -41,8 +42,6 @@
import org.openscience.cdk.tools.CDKHydrogenAdder;
import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;
-import net.sf.jniinchi.INCHI_RET;
-
/**
* The Compound class provides the main interface to molecule compounds. A
* given node or edge in Cytoscape could have multiple Compounds, either
@@ -201,6 +200,7 @@ public IAtomContainer getMolecule3D() {
public void layoutStructure() {
if (!laidOut) {
+ if (compoundType == null) {} else
if (compoundType.equals(CompoundType.MOLECULE)) {
if (iMolecule == null)
return;
@@ -394,10 +394,10 @@ private String convertInchiToSmiles(String inchi) {
InChIToStructure intostruct = factory.getInChIToStructure(inchi, SilentChemObjectBuilder.getInstance());
// Get the structure
- INCHI_RET ret = intostruct.getReturnStatus();
- if (ret == INCHI_RET.WARNING) {
+ InchiStatus ret = intostruct.getStatus();
+ if (ret == InchiStatus.WARNING) {
logger.warn("InChI warning: " + intostruct.getMessage());
- } else if (ret != INCHI_RET.OKAY) {
+ } else if (ret != InchiStatus.SUCCESS) {
logger.warn("Structure generation failed: " + ret.toString()
+ " [" + intostruct.getMessage() + "]");
return null;