Limitation on number of structures for Standardised ?

User 58ed31274d

13-12-2013 15:46:23

Hi


 


I've found the Standardiser function very useful but have never managed to standardise an sd file with more than 700-800K compounds, sometimes it is around 600K.


Is there a limit on this ?  This sounds like a file size limit of 2GB maybe and/or maybe a 32 bit process somewhere, even though I have the 64 bit version of IJC installed.


Is this a known feature / limitation and is it possible to increase the file size ?


Thanks


Steve

ChemAxon 2bdd02d1e5

17-12-2013 12:25:44

Hi Steve,


Is it there any error shown or written in the log? You can see it in IJC, go to View->IJC Log File.
There should be no explicit limitations itself. However, it may be limited by the heap memory assigned to IJC.

Heap memory can be increased in Tools->Options->Miscellaneous->Other settings.


Hope it helps!


Filip

User 58ed31274d

26-03-2014 17:02:46

Thanks for the reply and apologies for the very slow return.


I have done as you suggest and increased the heap memory to 17GB.  This has allowed me to remove salts and solvates on a 900K sd file although I have been left with an extra column called 'mrv_H_3D_coordinates'.


Trying to then use the 'tautomerise' standardiser on this file fails immediately and I get the same result even if I remove the seemingly spurious extra column.


This is the error message without removal of the extra column:


java.lang.IllegalArgumentException: number of workunits cannot be negative
    at org.netbeans.modules.progress.spi.InternalHandle.start(InternalHandle.java:216)
    at org.netbeans.api.progress.ProgressHandle.start(ProgressHandle.java:99)
    at org.netbeans.api.progress.ProgressHandle.start(ProgressHandle.java:86)
    at com.im.ijc.standardizer.exec.StandardizerExecutor$StandardizerRunner.run(StandardizerExecutor.java:123)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
    at org.openide.util.RequestProcessor.post(RequestProcessor.java:457)
    at com.im.ijc.standardizer.exec.StandardizerExecutor.execute(StandardizerExecutor.java:77)
    at com.im.ijc.standardizer.exec.StandardizeAction.performAction(StandardizeAction.java:40)
    at org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:586)
    at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:95)
    at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:116)
    at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:99)
    at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:583)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$400(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:162)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[catch] at java.awt.EventDispatchThread.run(Unknown Source)

  And this is the error message with the column removed:


java.lang.IllegalArgumentException: number of workunits cannot be negative
    at org.netbeans.modules.progress.spi.InternalHandle.start(InternalHandle.java:216)
    at org.netbeans.api.progress.ProgressHandle.start(ProgressHandle.java:99)
    at org.netbeans.api.progress.ProgressHandle.start(ProgressHandle.java:86)
    at com.im.ijc.standardizer.exec.StandardizerExecutor$StandardizerRunner.run(StandardizerExecutor.java:123)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
    at org.openide.util.RequestProcessor.post(RequestProcessor.java:457)
    at com.im.ijc.standardizer.exec.StandardizerExecutor.execute(StandardizerExecutor.java:77)
    at com.im.ijc.standardizer.exec.StandardizeAction.performAction(StandardizeAction.java:40)
    at org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:586)
    at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:95)
    at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:116)
    at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:99)
    at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:583)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$400(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:162)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[catch] at java.awt.EventDispatchThread.run(Unknown Source)


Can you help ?  I could send the file as it is not confidential.


Thanks

ChemAxon 2bdd02d1e5

27-03-2014 09:01:37

Yes, you are right. There is current limitation of 2GB file because a 32-bit number of file size is being used in the code and then overflows. 


We are sorry for this obstacle and tracking it as a new issue.


Maybe you could use standalone Standardizer product where this limitation may not exist. This is part of JChem suite - https://www.chemaxon.com/products/standardizer/


Does it help?


Thanks

User 58ed31274d

27-03-2014 15:49:10

Thanks for the confirmation.  I'll think about the stand alone standardiser.  Hopefully in a few versions time, it will be 64 bit in IJC ?

ChemAxon 2bdd02d1e5

12-05-2014 08:46:41

It is going to be fixed in 6.4 version.


Thanks a lot for informing us about this issue!