thsa / datawarrior Goto Github PK
View Code? Open in Web Editor NEWInteractive data analysis and visualisation with chemical intelligence
License: GNU General Public License v3.0
Interactive data analysis and visualisation with chemical intelligence
License: GNU General Public License v3.0
Hello Everyone,
I'm curious to know if it's possible to convert a column of reactions or transformations into its equivalent SMILES format, similar to how it's done for a molecule column. Specifically, I aim to generate a text file where each entry in the Reaction/Transformation column is represented not by its proprietary rxncode, but by the actual SMILES representation (e.g. 'Oc1ccccc1.O=C(c1ccccc1)Cl>>O=C(c1ccccc1)c1ccccc1'). I know this is feasible on an individual basis by selecting a datapoint and using the 'copy from reaction > reaction as > reaction-SMILES' option. Therefore, I'm wondering if there's a way to automatically perform this conversion for every entry in a column while also creating a new column with these SMILES representations, similar to the process for extracting SMILES from a reaction column.
The Wikipedia Molecules database has stopped working. This is because the URL http://www.cheminfo.org/wikipedia/idcode.txt is returning a 301
The following line:
needs changing to
private static final String RAW_DATA_URL = "https://wikipedia.cheminfo.org/idcode.txt";
Hi Thomas:
I wrote a new DW plugin called "PLPConnectorTask" using the Eclipse IDE. It can fetch a SDF files from a remote server and place it into a local folder. I am using the following function "processOutputFiles()" to load the SDF file into new instance of DW:
public class PLPConnectorTask implements IPluginTask {
...
public void processOutputFiles() {
File outDir = new File(localOutputFolder);
String [] pathnames = outDir.list();
for (String pathname : pathnames) {
System.out.println(pathname);
}
for ( int i=0; i< pathnames.length; i++) {
String absFileName = localOutputFolder + "/" + pathnames[i];
try {
DataWarriorLinux sDataExplorer = new DataWarriorLinux();
sDataExplorer.readFile(absFileName);
} catch(Exception e) {
e.printStackTrace();
}; // end try
} // end for
}
Even though a new instance of DW will show up and load the SDF file, this approach has several problems:
I appreciate any tips and suggestions from you to get this done in a right way. Thanks.
Best,
Zhengwei
Issue was tested with the latest available commit (c2e1776).
The attached example file InChI-example.txt is a DWAR file that contains two entries. One of the entries (COD ID 2236289) contains only regular bonds and can thus be saved as SMILES, InChI and InChIKey. The other entry (COD ID 2015345) contains zero-order bonds and thus fails to be exported as InChI and InChIKey, but not as SMILES.
Steps to reproduce the issue:
Result:
This is fully understandable, since InChI seemingly does not currently support bond types other than single, double, triple and aromatic [1]. However, maybe the zero-order bonds could be automatically removed by DataWarrior before attempting this conversion? The user would end up with a set of disjoint molecular entities instead of a single molecule (e.g. a metal complex), however, it would still be better than the current result. Actually, this seems to be already performed by DataWarrior when converting to the SMILES representation, that is, entry with COD ID 2015345 is successfully exported as SMILES:
Fc(c(-c(c(F)c(c(F)c1F)F)c1F)c(c(F)c1F)F)c1F.[cH-]1cccc1.[cH-]1cccc1.[Fe+2]
[1] https://www.inchi-trust.org/technical-faq-2/#16.3, Section 16.3
Dear Thomas:
I am a long-time "Pipeline Pilot" (from Biovia) user and a PLP protocol developer. I like to develop a "Pipeline Pilot connector as a Data Warrior plugin" so that DW users in my organization could easily access the services developed and hosted on a Pipeline Pilot server. The types of services could easily be 1) Mol_Prop_Calculator; 2) Data_Fetcher; 3) Data_Analyzer; etc.
Two questions for you:
Has anyone created something like this already? If so, could you please get me connect with its developer(s)?
A client-side java SDK from Biovia needed for this effort requires a more recent JRE (e.g., JREv20 from Oracle). I tried to build DW with JREv20 but failed. This means that DW and the proposed DW plugin based on the Biovia SDK are not compatible with each other due to the different JREs required. One possible solution is for me to ask Biovia for a new SDK (JAR) built with JREv1.8 to be compatible with the current DW. The other possibility is to check with you if a new version of DW built using JREv2x is on the roadmap. If so, what is the timeline?
Best,
Zhengwei
Would it be possible to add .tsv
extension? I know that currently TAB separated files with .txt
extension are supported, so it is convenience/UX feature request. If at all possible I would appreciate it very much.
The mmtf.jar is missing in classpath of DW 5.5.0. Unlike the versions on MacOS and Linux where the classpath is provided via wildcards, the Windows executable is using a different mechanism which is lacking the reference to mmtf.jar.
Hi guys,
I was trying to use the plugin function of datawarrior,
Any suggestions?
Best,
Zhaojun
Dear Dr. Sanders:
A co-worker of mine and I like to build DW on a Windows laptop to create the "datawarrior.jar" file, and then use it to support the building of "examplePlugin.jar" based on the "buildAll" script you have deposited in the "plugin_interface_2.1" folder.
After downloading and importing the DW master into an Eclipse IDE, we noticed the following error messages:
Error Message 1:
Description Resource Path Location Type
The project was not built since its build path is incomplete. Cannot find the class file for javafx.scene.control.ContextMenu. Fix the build path then try building this project datawarrior-Th Unknown Java Problem
The project was not built since its build path is incomplete. Cannot find the class file for javafx.scene.control.ContextMenu. Fix the build path then try building this project
Error Message 2:
Description Resource Path Location Type
The type javafx.scene.control.ContextMenu cannot be resolved. It is indirectly referenced from required type org.openmolecules.fx.viewer3d.V3DPopupMenuController DEDetailPane.java /datawarrior-Th/src/com/actelion/research/datawarrior line 1 Java Problem
The type javafx.scene.control.ContextMenu cannot be resolved. It is indirectly referenced from required type org.openmolecules.fx.viewer3d.V3DPopupMenuController
Thanks so much for your help.
Best,
Zhengwei Peng
([email protected])
Is there a way to convert string to to numericals? E.g. having a column of 01, 02, 03, .... as a result of a substring() calculation, DW correctly states perceived data type: numerical when hovering over the column header.
However, any calculation applied to the numbers will fail. There doesn't seem to be a type conversion, int(x) only accepts double, not strings?
Our cybersecurity team ran the code through their tool and came up with some things that concerned them. I didn't see anything in the results that concerned me given the type of usage, but it's slowed us down working them through the code review.
I'm happy to share the report with you directly as I don't want to post potential security issues publicly. My email is william dot hayes at sagerx dot com.
We are also happy to provide a PR to help close these, but I'm not sure if PR's are accepted.
Thanks for a great tool!
Crash when copy pasting this smiles into a structure editor
https://www.sigmaaldrich.com/CH/de/product/sigma/w104
[H][C@@]12CCC3=Cc4nc5nc6ccccc6n5cc4C[C@]3(C)[C@@]1([H])CC[C@@]7(C)[C@@]2([H])CC[C@@]7(O)C#C
Hi,
I'm getting following error when running the code from master branch when I try to copy paste a structure.
But the issue is not happening when I install DW5.5.0 from the msi windows installer.
I took the latest code from master branch.
The error I'm getting:
java.lang.UnsatisfiedLinkError: no actelionclip in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at com.actelion.research.gui.clipboard.NativeClipboardAccessor.(NativeClipboardAccessor.java:59)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMoleculeWindowsNative(ClipboardHandler.java:242)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMolecules(ClipboardHandler.java:122)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMolecule(ClipboardHandler.java:102)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMolecule(ClipboardHandler.java:97)
at com.actelion.research.gui.editor.GenericEditorArea.pasteMolecule(GenericEditorArea.java:835)
at com.actelion.research.gui.editor.GenericEditorArea.paste(GenericEditorArea.java:811)
at com.actelion.research.gui.editor.GenericEditorArea.eventHappened(GenericEditorArea.java:1234)
at com.actelion.research.gui.editor.GenericEditorArea.eventHappened(GenericEditorArea.java:616)
at com.actelion.research.gui.generic.GenericEventHandler.fireEvent(GenericEventHandler.java:28)
at com.actelion.research.gui.swing.SwingKeyHandler.keyPressed(SwingKeyHandler.java:23)
at java.awt.Component.processKeyEvent(Component.java:6497)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2832)
at java.awt.Component.processEvent(Component.java:6316)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
at java.awt.Component.dispatchEventImpl(Component.java:4760)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1671)
at java.awt.Component.setVisible(Component.java:1623)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at com.actelion.research.gui.JEditableStructureView.mouseClicked(JEditableStructureView.java:100)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.Component.processMouseEvent(Component.java:6542)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.UnsatisfiedLinkError: com.actelion.research.gui.clipboard.NativeClipboardAccessor.getClipboardData(Ljava/lang/String;)[B
at com.actelion.research.gui.clipboard.NativeClipboardAccessor.getClipboardData(Native Method)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMoleculeWindowsNative(ClipboardHandler.java:242)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMolecules(ClipboardHandler.java:122)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMolecule(ClipboardHandler.java:102)
at com.actelion.research.gui.clipboard.ClipboardHandler.pasteMolecule(ClipboardHandler.java:97)
at com.actelion.research.gui.editor.GenericEditorArea.pasteMolecule(GenericEditorArea.java:835)
at com.actelion.research.gui.editor.GenericEditorArea.paste(GenericEditorArea.java:811)
at com.actelion.research.gui.editor.GenericEditorArea.eventHappened(GenericEditorArea.java:1234)
at com.actelion.research.gui.editor.GenericEditorArea.eventHappened(GenericEditorArea.java:616)
at com.actelion.research.gui.generic.GenericEventHandler.fireEvent(GenericEventHandler.java:28)
at com.actelion.research.gui.swing.SwingKeyHandler.keyPressed(SwingKeyHandler.java:23)
at java.awt.Component.processKeyEvent(Component.java:6497)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2832)
at java.awt.Component.processEvent(Component.java:6316)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
at java.awt.Component.dispatchEventImpl(Component.java:4760)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1671)
at java.awt.Component.setVisible(Component.java:1623)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at com.actelion.research.gui.JEditableStructureView.mouseClicked(JEditableStructureView.java:100)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.Component.processMouseEvent(Component.java:6542)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Hello Mr. Thomas,
I hope you're doing well. I'm currently enhancing the UI for my Pipeline Pilot Plugin, specifically the public class PLPConnectorTask implements IPluginTask.
I've attempted to set the minimum size of my plugin's JFrame locally, but it seems to have no effect. My initial thought was that there might be some preset configurations for the UI page size in other parts of the codebase.
Upon searching for "setMinimumSize" in the project, I found it being used in approximately 50 different locations. I've tried adjusting in several of these spots (though not all) without success.
I wanted to check with you:
Is there a specific file or location that primarily dictates the minimumSize for this plugin's UI?
If not, might there be something I'm overlooking or a different approach I should consider?
I appreciate any insights or guidance you can provide on this matter.
Thank you and best regards,
Shawn Cui
Hi,
Great work on DW, and great to see that its seeing regular work now.
Would it be possible to add in the "Preferred Chart Type" under "Bar/Pie size by" the option of median? I realise its probably a small thing, but lacking the skills myself :-(
Best Regards!
Would it be possible to Mavenise the codebase?
I have made an initial attempt with this POM file:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.actelion.research.datawarrior</groupId>
<artifactId>datawarrior</artifactId>
<version>1.0-SNAPSHOT</version>
<name>datawarrior</name>
<url>https://github.com/thsa/datawarrior</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.actelion.research</groupId>
<artifactId>openchemlib</artifactId>
<version>2022.5.0</version>
</dependency>
<dependency>
<groupId>org.openmolecules.fx</groupId>
<artifactId>fxmolviewer</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.scijava</groupId>
<artifactId>jep</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>javax.vecmath</groupId>
<artifactId>vecmath</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik</artifactId>
<version>1.11</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-svggen</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-swing</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-transcoder</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>org.eclipse.ecf</groupId>
<artifactId>org.json</artifactId>
<version>1.0.0.v201011060100</version>
</dependency>
<dependency>
<groupId>uk.ac.cam.ch.opsin</groupId>
<artifactId>opsin-core</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jmol</groupId>
<artifactId>jmol</artifactId>
<version>14.31.10</version>
</dependency>
<dependency>
<groupId>org.pushing-pixels</groupId>
<artifactId>radiance-common</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.pushing-pixels</groupId>
<artifactId>radiance-theming</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>io.github.dan2097</groupId>
<artifactId>jna-inchi-all</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
However, I think the following is needed:
I downloaded from the website at https://openmolecules.org/datawarrior/download.html which I thought was version 6.01 but the software tells me it is version 5.5.
I tried to install it from github tag 6.01 available here: https://github.com/thsa/datawarrior/tree/v6.0.1
But I get this error after running buildDataWarrior
followed by runDataWarrior
:
○ → ./runDataWarrior
Error: Could not find or load main class com.actelion.research.datawarrior.DataWarriorLinux
Caused by: java.lang.ClassNotFoundException: com.actelion.research.datawarrior.DataWarriorLinux
Hello, the DataWorrior software cannot open a csv file after I upgrade to v06.00.00. I was able to open a csv file and visualize the SMILES in previous versions. I'm using macOS 13.5.1. Could you please help me with this issue? Thank you very much!
Hi,
I'm trying to build (on Windows, using amazon corretto jdk8) the latest version cloned from GitHub - having a couple issues:
Github\datawarrior\src\com\actelion\research\datawarrior\DataWarrior.java:285:60
java: cannot find symbol
symbol: variable TEMPLATE_TYPE_KEY
location: class com.actelion.research.gui.editor.GenericEditorArea
Github\datawarrior\src\com\actelion\research\datawarrior\DataWarrior.java:286:60
java: cannot find symbol
symbol: variable TEMPLATE_TYPE_REACTION_QUERIES
location: class com.actelion.research.gui.editor.GenericEditorArea
Github\datawarrior\src\com\actelion\research\datawarrior\DataWarrior.java:295:38
java: cannot find symbol
symbol: method setReactionQueryTemplates(java.lang.String[][])
location: class com.actelion.research.gui.editor.GenericEditorArea
git blame says this was introduced ~9 days ago - perhaps the openchemlib.jar file has been updated locally for you, but not checked into git? 1d55833
Also getting 3 errors related to the following:
Github\datawarrior\src\com\actelion\research\datawarrior\task\chem\DETaskAdd3DCoordinates.java:759:36
java: non-static method neutralizeChargedMolecule(com.actelion.research.chem.StereoMolecule) cannot be referenced from a static context
Is there a specific git commit I should be trying to build from?
The following problems arise when I try to build:
/home/guest/work/src/com/actelion/research/datawarrior/DEMainPane.java:679:29
java: no suitable constructor found for Dockable(com.actelion.research.datawarrior.DEMainPane,com.actelion.research.datawarrior.DETableView,java.lang.String,javax.swing.JToolBar)
constructor com.actelion.research.gui.dock.Dockable.Dockable(com.actelion.research.gui.dock.JDockingPanel,javax.swing.JComponent,java.lang.String,java.awt.event.ActionListener,boolean) is not applicable
(actual and formal argument lists differ in length)
constructor com.actelion.research.gui.dock.Dockable.Dockable(com.actelion.research.gui.dock.JDockingPanel,javax.swing.JComponent,java.lang.String,java.awt.event.ActionListener,boolean,boolean) is not applicable
(actual and formal argument lists differ in length)
OS: MacOS 10.15.7
JDK: 1.8
I cannot build the latest version of the source due to many missing dependencies, e.g. the com.acetelion.research.calc and com.acetelion.research.chem.descriptor Java packages. The previous version I was able to build successfully is v4.7.2 which I downloaded from a different site.
Hi Dr. Sander:
I re-cloned the datawarrior master yesterday for some tests after you made some changes 2-3 days ago and noticed that my Eclipse IDE reported ~5 compilation issues, all related to "CoreBasedSARAnalyzer".
It is wonderful that you and your colleagues continue to enhance datawarrior. Any chance that you could provide a stable version for download in addition the master codebase?
best,
Zhengwei
The following problems arise when I try to build:
/home/guest/work/src/com/actelion/research/datawarrior/DEMainPane.java:679:29
java: no suitable constructor found for Dockable(com.actelion.research.datawarrior.DEMainPane,com.actelion.research.datawarrior.DETableView,java.lang.String,javax.swing.JToolBar)
constructor com.actelion.research.gui.dock.Dockable.Dockable(com.actelion.research.gui.dock.JDockingPanel,javax.swing.JComponent,java.lang.String,java.awt.event.ActionListener,boolean) is not applicable
(actual and formal argument lists differ in length)
constructor com.actelion.research.gui.dock.Dockable.Dockable(com.actelion.research.gui.dock.JDockingPanel,javax.swing.JComponent,java.lang.String,java.awt.event.ActionListener,boolean,boolean) is not applicable
(actual and formal argument lists differ in length)
OS: MacOS 10.15.7
JDK: 1.8
Thank you for your open source work, the speed and accuracy are pretty good. Could there any script to run sar or R-Group decompostion automatically?
Dear Thomas:
I am using the following function "writeTable" in our "PLPConnectorTask.java" plugin code, leveraging the DW's "CompoundTableSaver" class, to export the molecules inside the active DW DEFrame into a SDF file:
private void writeTable(String fileName) {
SwingUtilities.invokeLater(() -> {
try {
DEFrame currentDEFrame = sDataExplorer.getActiveFrame();
DECompoundTableModel currentTableModel = currentDEFrame.getTableModel();
JTable currentTable = currentDEFrame.getMainFrame().getMainPane().getTable();
CompoundTableSaver dataSaver = new CompoundTableSaver(currentDEFrame, currentTableModel, currentTable);
dataSaver.saveSDFile(new File(fileName), FileHelper.cFileTypeSDV2, 0, 2, 1, null);
// assuming the 0st column contains the idcode encoded structure
// assuming the 1st column contain the 2D coordinate
// assuming the 2st column is the idColumn column
// coordsColumn if -1, then 2D-coords are generated on the fly
} catch (Exception e) {
e.printStackTrace();
}
});
}
It works well when I test the plugin inside a Java IDE (Eclipse) along with DW source code and its dependencies.
However when we packaged this "PLPConnectorTask.java" plugin as a JAR and placed it within the "plugin" folder of the standalone DataWarrior, this function call leads to the following error message seen in the dialog:
Since the error message displayed in the dialog is too short, and I could not reproduce this error inside the Eclipse IDE to see the full stack trace of this exception, I wonder if you could provide some tips and suggestions.
best,
Zhengwei
Hi,
thanks a lot for this excellent software.
I just tried to upgrade to the latest version, but I am not able to extract the installer from the tarball downloaded from the web site.
Also the calculated md5sum does not seem to match the one given on the web site.
$ tar xvzf ~/downloads/datawarrior550_linux.tar.gz
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
$ md5sum ~/downloads/datawarrior550_linux.tar.gz
f7b83ebd846796622970a038bb1763bc /home/xxx/downloads/datawarrior550_linux.tar.gz
1feb7bff2ad7129ac677973186436ee8 # <-- This is the md5sum given on the web page
System: Kubuntu 20.04
Many thanks for your help.
Kind regards,
Axel
Hi Thomas,
I'm writing regarding the forum post on Reaction enumeration with aromaticity.
As mentioned in one of the last comments, I run into a bug using the development version. I get an error when switching from the "Generic Reaction" to "Reactants" tab in the Enumerate Combinatorial Library dialog window, after drawing some general reactant structures.
I tried to do some troubleshooting and ended compiling Datawarrior on my machine. I installed Bellsoft Liberica OpenJDK 8 with JavaFX and tried compiling the code, but I get the following error:
./src/com/actelion/research/datawarrior/task/chem/clib/UIDelegateCLib.java:191: error: constructor SubstructureFilter in class SubstructureFilter cannot be applied to given types;
mReactantPaneList.get(i).setCompoundFilter(new SubstructureFilter(reaction.getReactant(i),
SSearcher.cMatchDBondToDelocalized));required: StereoMolecule
found: StereoMolecule,int
reason: actual and formal argument lists differ in length
I think this is one of the modifications that were made to the code to account for delocalized/aromatic bonds in generic reactant structure. Trying to run the executable resulted in an uncaught exception when opening the Enumerate Combinatorial Library panel.
I tried removing the second argument "SSearcher.cMatchDBondToDelocalized" from the call to the setCompoundFilter function and the program compiles and runs without any error (I guess the setCompoundFilter signature has not been updated to account for a second argument).
I tried the Combinatorial functionality with the so compiled version of the program and it seems to work fine with the delocalized version of the generic reactant, but it does not work with the "double bond + is aromatic bond" strategy.
Do you think it is something that can be fixed?
I apologize for writing a third post about this! I just wanted to share what I have found in the hope it might be helpful. Please let me know if you need any further information.
Thank you so much for your help!
Mattia
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.