automap function timeout

23 views
Skip to first unread message

Daniel Lowe

unread,
Jan 30, 2012, 11:14:49 AM1/30/12
to indigo-dev
When given certain input the automap function can take an extremely
long time to complete (e.g. hours-days). Would it be possible to add a
user configurable timeout to this function after which the function
could, for example, throw an exception.
I am using the function through Java and so have experimented with
wrapping the method in a Java thread and killing or interrupting it
but this appeared to just result in the the Java program's execution
proceeding as normal but with the indigo automap function continuing
to run in the background which is not an acceptable solution as these
effectively "stuck" threads would accumulate over time. The only other
solution besides changes at your end would be to create a new process
with its own instance of indigo expressively for doing atom
mappingwhich could then be destroyed safely, but that is also not an
elegant solution.

Mikhail Rybalkin

unread,
Feb 1, 2012, 8:03:03 AM2/1/12
to indig...@googlegroups.com
Hello Daniel,

I'm sorry for delay with approving your message in our Google Groups. Actually, I'm fighting with them now, because they stopped sending me e-mail notifications about new messages for moderation.

Best regards,
Mikhail

Mikhail Rybalkin

unread,
Feb 1, 2012, 8:06:57 AM2/1/12
to indigo-dev
Hello Daniel,

I agree that this feature is very important, and we will implement it.
Also simliar timeout should be added to the other algorthms like
canonical smiles generation, substructure matching and etc. Thank you
for the suggestion!

Best regards,
Mikhail

Daniel Lowe

unread,
Feb 1, 2012, 10:41:03 AM2/1/12
to indigo-dev
Thanks for considering adding this feature. Do you have any time-frame
for when you are likely to be implement this functionality ?
(especially for reaction mapping)
I have found empirically that the automap function can take an
extremely long time even with reactions only involving 4 reactants if
the product is sufficiently large e.g. a steroid, hence making it
difficult to detect in advance that a reaction will take an
unacceptably long time to map.
Depending on the time-frame I may want to manually skip cases where
the automap function effectively get stuck which obviously would be
wasted effort if your next betapre release includes this
functionality.

Mikhail Rybalkin

unread,
Feb 1, 2012, 11:28:03 AM2/1/12
to indigo-dev
I think that on the next week we can add such functionallity.

Could you also send us some representative examples?

Daniel Lowe

unread,
Feb 2, 2012, 10:40:18 AM2/2/12
to indigo-dev
c1(P(N=[N+]=[N-])(c2ccccc2)=O)ccccc1.C(OC(=O)N([C@@H](C)[C@H](c1cc(C(F)
(F)F)cc(C(F)(F)F)c1)O)Cc1cc(C(F)(F)F)ccc1-c1cc(C(C)C)ccc1OC)(C)
(C)C.c1(P(c2ccccc2)c2ccccc2)ccccc1.O=C(OCC)/N=N/
C(OCC)=O>C1OCCC1.CCOC(C)=O>C(OC(=O)N([C@@H](C)[C@H](N=[N
+]=[N-])c1cc(C(F)(F)F)cc(C(F)(F)F)c1)Cc1cc(C(F)(F)F)ccc1-
c1cc(C(C)C)ccc1OC)(C)(C)C

COC(c1[s]c(C#CC(C)
(C)C)cc1N(C1CCC(O)CC1)C(C1CCC(C)CC1)=O)=O.OC1C=CC(=O)N(C)N=1.c1(P(c2ccccc2)c2ccccc2)ccccc1.O=C(OC(C)C)/
N=N/C(OC(C)C)=O.[Cl-].[NH4+]>C1OCCC1>CC(C)
(C)C#Cc1[s]c(C([O-])=O)c(N(C2CCC(OC3C=CC(=O)N(C)N=3)CC2)C(C2CCC(C)CC2)=O)c1.
[Na+] |f:4.5,7.8|

Both of these appear to be Mitsunobu reactions. Each take at least 20
minutes to map. The first is probably a better example as it should be
fully mappable

Daniel Lowe

unread,
Feb 28, 2012, 9:14:11 AM2/28/12
to indigo-dev
Do you have an ETA on the next version?

Savelyev Alexander

unread,
Feb 29, 2012, 5:07:23 AM2/29/12
to indigo-dev
Dear all,

The automap timeout functionality was added to the indigo. The new
version (indigo 1.1 beta9) is available to download from our site:
http://ggasoftware.com/download/indigo_next

A new option was added named "aam-timeout". The integer parameter
(time in milliseconds) corresponds for the AAM algorithm working time.
The automap method returns a current state solution for a reaction
when time is over. The example script:
...
# set 10 seconds timeout
indigo.setOption("aam-timeout", 10000)
reaction.automap("discard")
...
The API documentation will be updated soon.
With best regards,
Alexander
Reply all
Reply to author
Forward
0 new messages