User 7a4bd58ff0
19-12-2011 16:33:04
I get output when I specify one ratio and ArrayOutofBound exceptions when I specify another. See below; the ratios I'm testing are 1:10:10, 10:1:10, and 10:10:1.
$ ./src/test/run_reactor.sh "C(OCC1=CC=CC=C1)C1C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1" -r "[#6:1][OH:2].[#6:3]-[F,Cl,Br,I:4].[Na+]>>[#6:1][O:2][#6:3]" --reverse -f cxsmarts --ratio 10:10:1
SEVERE: 2 [main|chemaxon.reaction.ConcurrentReactorProcessor.main|12/19/2011 11:26:19]
chemaxon.reaction.ReactionException: chemaxon.util.concurrent.processors.WorkUnitException: java.lang.ArrayIndexOutOfBoundsException: 2
Caused by:
java.lang.ArrayIndexOutOfBoundsException: 2
Caused by:
2
at chemaxon.reaction.ConcurrentReactorProcessor.react(ConcurrentReactorProcessor.java:556)
at chemaxon.reaction.ConcurrentReactorProcessor.run(ConcurrentReactorProcessor.java:696)
at chemaxon.reaction.ConcurrentReactorProcessor.main(ConcurrentReactorProcessor.java:1223)
at chemaxon.reaction.Reactor.main(Reactor.java:1372)
Caused by: chemaxon.util.concurrent.processors.WorkUnitException: java.lang.ArrayIndexOutOfBoundsException: 2
at chemaxon.util.concurrent.processors.InputOrderedWorkUnitProcessor.process(InputOrderedWorkUnitProcessor.java:70)
at chemaxon.util.concurrent.processors.InputOrderedWorkUnitProcessor.processInput(InputOrderedWorkUnitProcessor.java:51)
at chemaxon.util.concurrent.processors.WorkUnitWorker.work0(WorkUnitWorker.java:51)
at chemaxon.util.concurrent.processors.WorkUnitWorker.work(WorkUnitWorker.java:36)
at chemaxon.util.concurrent.worker.Worker$1.call(Worker.java:45)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at chemaxon.util.concurrent.worker.Worker.run(Worker.java:57)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
at chemaxon.reaction.ReactantRatioHandlerEnumerator.createNextReactantSet(ReactantRatioHandlerEnumerator.java:213)
at chemaxon.reaction.ReactantRatioHandlerEnumerator.reactAll(ReactantRatioHandlerEnumerator.java:192)
at chemaxon.reaction.ReactantRatioHandlerEnumerator.reactRatio(ReactantRatioHandlerEnumerator.java:167)
at chemaxon.reaction.ReactantRatioHandlerEnumerator.react(ReactantRatioHandlerEnumerator.java:87)
at chemaxon.reaction.Reactor.react(Reactor.java:1289)
at chemaxon.reaction.ConcurrentReactorProcessor$ReactorWorkUnit.call(ConcurrentReactorProcessor.java:366)
at chemaxon.util.concurrent.processors.InputOrderedWorkUnitProcessor.process(InputOrderedWorkUnitProcessor.java:59)
... 13 more
ERROR: An error occured, check the log for details. Use --ignore-error option to ignore errors during reaction processing.
$ ./src/test/run_reactor.sh "C(OCC1=CC=CC=C1)C1C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1" -r "[#6:1][OH:2].[#6:3]-[F,Cl,Br,I:4].[Na+]>>[#6:1][O:2][#6:3]" --reverse -f cxsmarts --ratio 1:10:10
OCC1=CC=CC=C1 |c:4,6,t:2|
[F,Cl,Br,I]CC1C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1 |c:9,11,20,22,31,33,43,45,t:7,18,29,41|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(C[F,Cl,Br,I])C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1 |c:12,14,23,25,35,37,t:10,21,33|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(COCC2=CC=CC=C2)C(C[F,Cl,Br,I])C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1 |c:9,11,23,25,35,37,t:7,21,33|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(CO)C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C1C[F,Cl,Br,I] |c:12,14,23,25,t:10,21|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(CO)C(COCC2=CC=CC=C2)C(C[F,Cl,Br,I])C1COCC1=CC=CC=C1 |c:12,14,27,29,t:10,25|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(C[F,Cl,Br,I])C(CO)C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1 |c:15,17,27,29,t:13,25|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(C[F,Cl,Br,I])C(COCC2=CC=CC=C2)C(CO)C1COCC1=CC=CC=C1 |c:12,14,27,29,t:10,25|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(CO)C(C[F,Cl,Br,I])C(COCC2=CC=CC=C2)C1CO |c:15,17,t:13|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(CO)C(COCC2=CC=CC=C2)C(CO)C1C[F,Cl,Br,I] |c:12,14,t:10|
[Na+]
OCC1C(CO)C(CO)C(CO)C1CO
[F,Cl,Br,I]CC1=CC=CC=C1 |c:4,6,t:2|
[Na+]
OCC1=CC=CC=C1 |c:4,6,t:2|
OCC1C(CO)C(CO)C(C[F,Cl,Br,I])C1CO
[Na+]
$ ./src/test/run_reactor.sh "C(OCC1=CC=CC=C1)C1C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C(COCC2=CC=CC=C2)C1COCC1=CC=CC=C1" -r "[#6:1][OH:2].[#6:3]-[F,Cl,Br,I:4].[Na+]>>[#6:1][O:2][#6:3]" --reverse -f cxsmarts --ratio 10:1:10
SEVERE: 1 [main|chemaxon.reaction.ConcurrentReactorProcessor.main|12/19/2011 11:27:11]
chemaxon.reaction.ReactionException: chemaxon.util.concurrent.processors.WorkUnitException: java.lang.ArrayIndexOutOfBoundsException: 1
Caused by:
java.lang.ArrayIndexOutOfBoundsException: 1
Caused by:
1
at chemaxon.reaction.ConcurrentReactorProcessor.react(ConcurrentReactorProcessor.java:556)
at chemaxon.reaction.ConcurrentReactorProcessor.run(ConcurrentReactorProcessor.java:696)
at chemaxon.reaction.ConcurrentReactorProcessor.main(ConcurrentReactorProcessor.java:1223)
at chemaxon.reaction.Reactor.main(Reactor.java:1372)
Caused by: chemaxon.util.concurrent.processors.WorkUnitException: java.lang.ArrayIndexOutOfBoundsException: 1
at chemaxon.util.concurrent.processors.InputOrderedWorkUnitProcessor.process(InputOrderedWorkUnitProcessor.java:70)
at chemaxon.util.concurrent.processors.InputOrderedWorkUnitProcessor.processInput(InputOrderedWorkUnitProcessor.java:51)
at chemaxon.util.concurrent.processors.WorkUnitWorker.work0(WorkUnitWorker.java:51)
at chemaxon.util.concurrent.processors.WorkUnitWorker.work(WorkUnitWorker.java:36)
at chemaxon.util.concurrent.worker.Worker$1.call(Worker.java:45)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at chemaxon.util.concurrent.worker.Worker.run(Worker.java:57)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at chemaxon.reaction.ReactantRatioHandlerEnumerator.createNextReactantSet(ReactantRatioHandlerEnumerator.java:213)
at chemaxon.reaction.ReactantRatioHandlerEnumerator.reactAll(ReactantRatioHandlerEnumerator.java:192)
at chemaxon.reaction.ReactantRatioHandlerEnumerator.reactRatio(ReactantRatioHandlerEnumerator.java:167)
at chemaxon.reaction.ReactantRatioHandlerEnumerator.react(ReactantRatioHandlerEnumerator.java:87)
at chemaxon.reaction.Reactor.react(Reactor.java:1289)
at chemaxon.reaction.ConcurrentReactorProcessor$ReactorWorkUnit.call(ConcurrentReactorProcessor.java:366)
at chemaxon.util.concurrent.processors.InputOrderedWorkUnitProcessor.process(InputOrderedWorkUnitProcessor.java:59)
... 13 more
ERROR: An error occured, check the log for details. Use --ignore-error option to ignore errors during reaction processing.
$