majorTautomer() and dominantTautomer() functions problem

User 1240421033

05-08-2016 15:29:48

Dear ChemAxon team,

I was working around with chemical terms functions, i.e. dominantTautomer and majorTautomer, and stack with several problems. Any help with fixing these issues would be much appreciated!

I'm using Evaluator on Ubuntu 16.04.

1) For example, there are two molecules:

mol1: COC(=O)[C@H](CCCSC)NP(=O)(OC[C@H]1O[C@@H](N2C=NC3=C2N=C(N)NC3=O)[C@](C)(O)[C@@H]1O)OC1=CC=CC2=CC=CC=C12


When I tried to get the first dominant tautomers: $evaluator -e 'dominantTautomer(0)' ca_s.smiles 

I got these tautomers for each of the molecules respectively:



In the second tautomer guanine seems to be not in the dominant tautomer form.

So, does 0-index in dominantTautomer(0) corresponds simply to the first item in an dominantTautomers array, but not necessary to the major tautomer structure in the distribution?

However, $evaluator -e 'dominantTautomer(0, "7.4")' ca_s.smiles gives the major tautomers for both molecules.

majorTautomer() function worked perfectly, given the tautomers needed.


Thus, I decided to use majorTautomer() function to generate tautomers for my compound databse in sdf. Unfortunately, I faced with another problem.

2) Evaluation of majorTautomer() on my database crashed with the error (see Pic.1). I was able to find the structure causing crash:

er1: OC[C@H]1O[C@H]([C@H](O)[C@@H](O)[C@@H]1O)c1c(O)c(-c2c(O)c([C@@H]3O[C@H](CO)[C@@H](O)[C@H](O)[C@H]3O)c(=O)c3c(O)c4cc(O)c(O)cc4oc23)c2oc3cc(O)c(O)cc3c(=O)c2c1O.

I removed it from my database and evaluated again. And got the similar error again, but with another molecule:

er2: COc1cc2OC(C)(C)[C@H](OC(=O)C34CCC(C)(C(=O)O3)C4(C)C)[C@H](OC(=O)C34CCC(C)(C(=O)O3)C4(C)C)c2c2oc3cccc(=O)c3c(O)c12

Not suprisingly, tautomer calculation plugin in InstantJChem crashed on these molecules with the same errors. My database is big, and I'm not able to find manually all the molecules, causing crashes. But, very similar structures worked perfectly, e.g.:


I tried to evaluate dominantTautomers(0) on them, and it worked without errors!..

So, I'm completely lost with these problems. I would be grateful for any help!

Best regards,



ChemAxon d51151248d

08-08-2016 12:48:59


Thank you for this report. We are now investigating the issues and get back to you with a solution ASAP.


ChemAxon d51151248d

29-08-2016 11:43:51

Dear Alex,

Let me answer your questions in the order you asked them.

1. From the two molecules you sent us mol1 was indeed tautomerized incorrectly with the evaluate version you used. We have fixed this issue, so from JChem version 16.8.29 this will not be an issue. Here are the outputs with the fix evaluate tool:

evaluate -e "dominanttautomer(0)" "COC(=O)[C@H](CCCSC)NP(=O)(OC[C@H]1O[C@@H](N2C=NC3=C2N=C(N)NC3=O)[C@](C)(O)[C@@H]1O)OC1=CC=CC2=CC=CC=C12"

evaluate -e "dominanttautomer(0)" "NC1=NC(=O)C2=C(N1)N(C=N2)[C@@H]1O[C@H](CNCC2=CC=C(F)C(=C2)N2CCOCC2)[C@@H](O)[C@H]1O"

The dominanttautomer(0) function therefore should give back the most dominant tautomer form, that is the major form.The majortautomer() function gives back the same results.

2. I tested those major tautomer calculations, but there were no crash for those two molecules with evaluate version 16.8.29. Most probably the crashed were fixed in the recent past.

So the bottom line is that you should update your JChem version to at least 16.8.29, so that all these fixes could be available for you.

Please send us feedback if the fixes solved your problems.


User 1240421033

08-09-2016 12:53:35

Dear Daniel,

Thank you very much for solving these issues! Everything is working fine with these molecules now.

Unfortunately, I'm faced with other problems using JChem

1) evaluate -e 'dominanttautomer(0)' 'OC[C@H]1OC([C@H](O)[C@@H]1O)N1N=CC2=C([SeH])N=CN=C12'

give the error (see Pic.1).  There are several molecules of such kind in my database and all of them cause this error. Surprisingly, InstantJChem  tautomer plugin works well with these molecules. I've also noticed that there are no problems with other selenium containing compounds from my database.

2)evaluate -e 'dominanttautomer(0)' 'NC1=NC(=O)C2=C(N1)N(COC(CO)C[N-][N+]#N)C=N2'  gives the expected tautomer (NC1=NC2=C(N=CN2COC(CO)CN=[N+]=[N-])C(=O)N1).

However, the same structure in sdf file format (see ex_1.sdf) gives: 'NC1=NC(=O)C2=C(N1)N(COC(CO)C[N-][N+]#N)C=N2'  while evaluating: evaluate -e 'dominanttautomer(0)' ex_1.sdf

I saved the structure in sdf and smiles formats using InstantJChem

InstantJChem  tautomer plugin gives something unclear with this structure (see Pic.2). There are several molecules containing azide group in my database sharing this 'strange' behavior.

Best regards,


User 1240421033

08-09-2016 12:56:02

Sorry, something went wrong with the attachments in the previous message. Here they are.

Best regards,


ChemAxon d51151248d

22-09-2016 11:28:43

Hi Alex, 

Sorry for the bit late answer. I have managed to reproduce the bugs you reported, and we will investigate and work on fixing them. 


User 1240421033

30-09-2016 08:22:19

Hi, Daniel!

Thank you for your help!

Best regards,


ChemAxon d51151248d

05-10-2016 11:55:25

Dear Alex, 

We have fixed the issues that you reported above. I have tested them with JChem version 16.10.3, and the tautomer generation goes as you expected. So I suggest that you update your JChem version to 16.10.3 or later.


User 1240421033

20-10-2016 14:49:30

Dear Daniel,

Thank you very much!

Everything is working fine for me now.

Best Regards,