Molecule Fingerprint Errors

Hi,

I am getting a few errors trying to get Molecule Fingerprint to work:

If I keep the default setting I get an index out of range error. If I increase or decrease the Fingerprint size number I get an "invalid character in hex number".

 

ERROR Molecule Fingerprint Execute failed: Invalid character in hex number ('')

ERROR Molecule Fingerprint Execute failed: Invalid character in hex number ('ö')

ERROR Molecule Fingerprint Execute failed: Invalid character in hex number ('ö')

ERROR Molecule Fingerprint Execute failed: String index out of range: -3

Simon,

Thank you for the bug report. It is very interesting, but we were not able to reproduce the issue: after I change the fingerprint size in my workflows, it works just as expected. Could you please share your workflow with us (or a small part of it that reproduces the issue)? Also, it would be interesting to know your KNIME version, operating system, and Java version.

Regards,

Dmitry Pavlov
GGA Software Services LLC

Unfortunately I cannot share theworkflow due to the sensitive nature of the structures. What I can say is that if I first do a row filter to only include rows 1 to 500, it works. If I do a row filter for 500 to 1000, it also works. But if I do a row filter for 1 to 1000 it fails with the errors mentioned above, so it seems to be an issue related to the number of molecules in the table.

Hope that helps

Simon.

The KNIME version is 2.3.4.

Operating system is Home Premium.

Java is java.version=1.6.0_22

Hope those are helpful

Simon, there should also be a more detailed stacktrace of the error in the knime.log. Maybe you can send it to Dmitry so that he can narrow his search.

I'm  unsure where the knime.log file is saved to. There is nothing written to the error log view window, its only in the console window.

Simon.

The location of the knime.log is written in to console upon startup, its <workspace>/.metadata/knime.log.

Simon,

Thank you for the additional info. Unfortunately, we still can not reproduce the issue. We shall go broader in our questions now:

  1. Could you please download the today's build of Indigo nodes and check again? If the issue is gone, then the other questions are irrelevant.
  2. The log file indeed would be very useful
  3. Do you have Windows 7 Home Premium 32-bit or 64-bit?
  4. Does the issue really depend on he fingerprint size? What happens when you just try to calculate the fingerprints multiple times for different data, without changing the fingerprint size?
  5. In case the error shows up after changing the fingerprint size (to what exact value?), does it disappear after you restore the size to 8?
  6. What system locale do you have on your PC? Is there anything special about language, charset, encoding, etc?

Thank you very much for your help.

Regards,

Dmitry

Hi,

I can tell you that I am using the brand new Indigo nodes from last nights build, and the error is still present.

It is Windows Vista 32bit Home Premium, 2Gb RAM memory.

And yes, it really does seem to depend of fingerprint size, it seems when its around 1000 molecules to process, thats when the error occurs, doing it in 2 lots of 500 seems to work.  There was two occassions when it worked on the batch of 1000 molecules, if I kept clicking on it to rerun the node, eventually instead of an error, it will work in the off-chance, but not often.

For the error, it always reports "String index out of range" when its on the default size of 8, changing it to 9 or 7 results in the error "Invalid character in Hex number", changing back to 8 again returns back to the "String index out of range".

The PC Locale is all standard for UK English.

I will also try and get the log file to you also.

Okay, here is the relevant part of the knime.log file.

 

2011-05-06 18:44:01,505 DEBUG main ExecuteAction : Creating execution job for 1 node(s)...
2011-05-06 18:44:01,506 DEBUG main NodeContainer : Molecule Fingerprint 0:0:589 has new state: MARKEDFOREXEC
2011-05-06 18:44:01,506 DEBUG main NodeContainer : Molecule Fingerprint 0:0:589 has new state: QUEUED
2011-05-06 18:44:01,507 DEBUG main KnimeResourceNavigator : state changed to EXECUTING
2011-05-06 18:44:01,507 DEBUG main NodeContainer : Workflow Manager 0:0 has new state: EXECUTING
2011-05-06 18:44:01,507 DEBUG KNIME-Worker-2 WorkflowManager : Molecule Fingerprint 0:0:589 doBeforePreExecution
2011-05-06 18:44:01,508 DEBUG KNIME-Worker-2 NodeContainer : Molecule Fingerprint 0:0:589 has new state: PREEXECUTE
2011-05-06 18:44:01,508 DEBUG KNIME-WFM-Parent-Notifier NodeContainer : Workflow Manager 0 has new state: EXECUTING
2011-05-06 18:44:01,508 DEBUG KNIME-Worker-2 NodeContainer : Workflow Manager 0:0 has new state: EXECUTING
2011-05-06 18:44:01,508 DEBUG KNIME-Worker-2 WorkflowManager : Molecule Fingerprint 0:0:589 doBeforeExecution
2011-05-06 18:44:01,509 DEBUG KNIME-Worker-2 NodeContainer : Molecule Fingerprint 0:0:589 has new state: EXECUTING
2011-05-06 18:44:01,509 DEBUG KNIME-Worker-2 NodeContainer : Workflow Manager 0:0 has new state: EXECUTING
2011-05-06 18:44:01,509 DEBUG KNIME-Worker-2 LocalNodeExecutionJob : Molecule Fingerprint 0:0:589 Start execute
2011-05-06 18:44:01,515 DEBUG KNIME-Worker-2 Buffer : Opening input stream on file "C:\Users\Simon\AppData\Local\Temp\knime_container_20110506_2887119788968252747.bin.gz", 2 open streams
2011-05-06 18:44:04,586 DEBUG KNIME-Worker-2 Molecule Fingerprint : reset
2011-05-06 18:44:04,586 DEBUG KNIME-Worker-2 Molecule Fingerprint : clean output ports.
2011-05-06 18:44:04,586 ERROR KNIME-Worker-2 Molecule Fingerprint : Execute failed: Invalid character in hex number ('
')
2011-05-06 18:44:04,587 DEBUG KNIME-Worker-2 Molecule Fingerprint : Execute failed: Invalid character in hex number ('
')
java.lang.IllegalArgumentException: Invalid character in hex number ('
')
 at org.knime.core.data.vector.bitvector.SparseBitVector.<init>(SparseBitVector.java:215)
 at org.knime.core.data.vector.bitvector.SparseBitVectorCellFactory.<init>(SparseBitVectorCellFactory.java:145)
 at com.ggasoftware.indigo.knime.molfp.IndigoMoleculeFingerprinterNodeModel.execute(IndigoMoleculeFingerprinterNodeModel.java:93)
 at org.knime.core.node.NodeModel.execute(NodeModel.java:605)
 at org.knime.core.node.NodeModel.executeModel(NodeModel.java:461)
 at org.knime.core.node.Node.execute(Node.java:845)
 at org.knime.core.node.workflow.SingleNodeContainer.performExecuteNode(SingleNodeContainer.java:831)
 at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:100)
 at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:166)
 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
 at java.util.concurrent.FutureTask.run(Unknown Source)
 at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:124)
 at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:239)
2011-05-06 18:44:04,587 DEBUG KNIME-Worker-2 WorkflowManager : Molecule Fingerprint 0:0:589 doBeforePostExecution
2011-05-06 18:44:04,587 DEBUG KNIME-Worker-2 NodeContainer : Molecule Fingerprint 0:0:589 has new state: POSTEXECUTE
2011-05-06 18:44:04,588 DEBUG KNIME-Worker-2 NodeContainer : Workflow Manager 0:0 has new state: EXECUTING
2011-05-06 18:44:04,588 DEBUG KNIME-Worker-2 WorkflowManager : Molecule Fingerprint 0:0:589 doAfterExecute - failure
2011-05-06 18:44:04,588 DEBUG KNIME-Worker-2 Molecule Fingerprint : reset
2011-05-06 18:44:04,588 DEBUG KNIME-Worker-2 Molecule Fingerprint : clean output ports.
2011-05-06 18:44:04,588 DEBUG KNIME-Worker-2 NodeContainer : Molecule Fingerprint 0:0:589 has new state: IDLE
2011-05-06 18:44:04,589 DEBUG KNIME-Worker-2 Molecule Fingerprint : Configure succeeded. (Molecule Fingerprint)
2011-05-06 18:44:04,589 DEBUG KNIME-Worker-2 NodeContainer : Molecule Fingerprint 0:0:589 has new state: CONFIGURED
2011-05-06 18:44:04,590 DEBUG KNIME-Worker-2 Indigo to Molecule : Configure succeeded. (Indigo to Molecule)
2011-05-06 18:44:04,590 DEBUG KNIME-Worker-2 NodeContainer : Indigo to Molecule 0:0:594 has new state: CONFIGURED
2011-05-06 18:44:04,591 DEBUG KNIME-Worker-2 KnimeResourceNavigator : state changed to IDLE
2011-05-06 18:44:04,591 DEBUG KNIME-Worker-2 NodeContainer : Workflow Manager 0:0 has new state: IDLE
2011-05-06 18:44:04,591 DEBUG KNIME-Worker-2 NodeContainer : Workflow Manager 0:0 has new state: IDLE
2011-05-06 18:44:04,597 DEBUG KNIME-WFM-Parent-Notifier NodeContainer : Workflow Manager 0 has new state: IDLE
 

Simon,

Thank you very much again for your help. We have reproduced and fixed the bug (it was actually rather dangerous and could affect other nodes as well). Please download the today's build 923 where it is fixed.

 

Best regards,

Dmitry

Many thanks, the bug has now disappeared.

Much appreciated.

Simon.