Giter VIP home page Giter VIP logo

datawarrior's People

Contributors

lithom avatar sylvainguilbaud avatar thsa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

datawarrior's Issues

Not proper SMILES export for radical compounds

Thank you for this great software! I noticed when export smiles that radicals are not properly exported. E.g., for TEMPO the exported SMILES is "CC(C)(CCCC1(C)C)N1O", but it should be "CC(C)(CCCC1(C)C)N1[O]". I use version 5.5.0

img

How to convert a Reaction / Trasformation column into Smile/Smart

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.

Wikipedia Molecules' URL needs updating

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:

private static final String RAW_DATA_URL = "http://www.cheminfo.org/wikipedia/idcode.txt";

needs changing to

 private static final String RAW_DATA_URL = "https://wikipedia.cheminfo.org/idcode.txt";

How to load a SDF file into a new and independent instance of DW from an existing instance of DW?

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:

  1. The new instance of DW is not independent from the existing instance of DW. Close one of them and the other will be closed as well. This is not a desired behavior.
  2. There are many errors showing up in the Eclipse IDE's Console window, all seem to be related to the same issue: "org.pushingpixels.substance.api.UiThreadingViolationException: State tracking must be done on Event Dispatch Thread".

I appreciate any tips and suggestions from you to get this done in a right way. Thanks.

Best,
Zhengwei

Molecules with zero-order bonds fail to save as InChI

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:

  1. Load the provided InChI-example.txt DWAR file.
  2. Right-click the structure image, choose "Copy structure as" and then choose "Standard Inchi".
  3. Try to paste the copied InChI.

Result:

  • The "Unrecognized bond type: 0" string is pasted instead of a proper InChI.

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

A Pipeline Pilot connector as a Data Warrior plugin

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:

  1. Has anyone created something like this already? If so, could you please get me connect with its developer(s)?

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

mmtf.jar missing in classpath under Windows

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.

Plugin Not Found

Hi guys,

I was trying to use the plugin function of datawarrior,

  1. I followed the guide and put examplePlugin.jar in datawarriorPluginSDK2.1(1.0 still has the same problem), and I can not see any menu items from the database menu;
  2. Also, I can not find any link to download the "developer" version of datawarrior on the page https://openmolecules.org/datawarrior/download.html, which said on the page https://openmolecules.org/datawarrior/sdk.html (Since December 2022 the DataWarrior developer version (also downloadable from the download page) supports the updated SDK 2.1.)

微信截图_20231020181029

Any suggestions?

Best,
Zhaojun

Need some help to build Data Warrior and the plug-in examples on a Windows laptop.

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])

Type conversion

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?

Security review results

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!

Copy-paste for structures throwing error in the master branch

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)

Adjusting UI Minimum Size for Plugin

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

Feature request

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!

Mavenisation of the code base

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:

  1. Migration to https://github.com/kirill-grouchnikov/radiance
  2. Deployment of https://github.com/thsa/fxmolviewer to Maven central (also see thsa/fxmolviewer#8 )
  3. A fix for InchiStereo usage
  4. A few other minor fixes

Trouble installing v 6.01

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

DataWarrior v06.00.00 does not support csv files

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!

I have attached my csv file.
image

ehg.csv

Cannot find symbol `GenericEditorArea.TEMPLATE_TYPE_KEY`

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?

no suitable constructor found for Dockable

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

Cannot build the latest version

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.

It would be nice to have a stable version of codes for download

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

no suitable constructor found for Dockable

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

uncaught Exception related to CompoundTableSaver

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:
DW_UncaughtExceptio

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

Broken tarball for Linux?

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

Compiling returns an error - commit a8159f1 "fixed issue with free valence check causing trouble in Reactor [...]"

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.