generating all tautomers for given SMILES

ChemAxon 60ee1f1328

12-10-2005 12:50:08

Hello again,





And my next question is:





Given an instantiated molecule, I would like to be able to access/generate all the tautomeric forms and potentially store these variants in SMILES form. Is this possible? I susect so!? Are there any methods in the Molecule class that will help to achieve this? Having looked I'm not sure there are. Which JChem class can I use to help me to do this? Presumably any standardiser methods are incorporated in chemaxon.struc package? Please advise.





Many thanks as always,


Daniel.

ChemAxon fb166edcbd

12-10-2005 15:02:48

You need the


chemaxon.marvin.calculations.TautomerizationPlugin to generate the tautomeric forms of a molecule. There is some example code in the API class header:


http://www.chemaxon.com/marvin/doc/api/chemaxon/marvin/calculations/TautomerizationPlugin.html





Note, that the call to


Code:



plugin.validate(<license key>);





will not be necessary from the next Marvin release (4.0.2).

ChemAxon 60ee1f1328

13-10-2005 10:35:20

Thank you for this information which will be considered in due course...


Daniel.

ChemAxon 60ee1f1328

27-03-2006 12:31:37

Hello,





I have two SMILES strings which I believe are equivalent via tautomerism.


a) Cc1nc2nc[nH]c2cc1Br


b) Cc1nc2[nH]cnc2cc1Br





I need to build a query that highlights this equality.


So far, none of the normal query options available appear to be relevant


or combinable to use as tautomer check?


(Please confirm)





Also I have tried to use jcf_standardize, so as to generate an equality string, but maybe I have not supplied correct options to this function?


Maybe there is a particular combination of options to use to check that two SMILES are tautomers?





I guess I need to know if the only way I can determine if two structures are tautomers is with the tautomer plug in mentioned previously?





Cheers,


Daniel.

ChemAxon a3d59b832c

27-03-2006 20:34:04

Hi Daniel,





Yes, these structures are tautomers of each other. In the next major release (JChem 3.2), there will be a tautomer search option. Until then you have the two options you mentioned: generating the tautomers with the tautomer generation plug-in (you can use jc(f)_evaluate for this) or use custom standardization rules which converts specific tautomerizable functional groups to preferred (canonical) tautomeric forms.





Maybe if you paste the standardization configuration file you used, we can fix that.





Best regards,


Szabolcs

ChemAxon 60ee1f1328

28-03-2006 08:41:31

It is good to hear that the tautomeric search option is being brought in in the next release - essentially I can wait for this.


However as usual I have further questions:





Presumably I can define the custom standardization rules as options in jcf_standardize? When using JChem base or jc_insert I always allow the default standardisation which I presume is exactly the same for both (this is a question I have asked before). Where is the standardizer.xml file likely to live? If I change it will it effect JChem base, jc_insert and jc_standardize? For now it would be useful to be able to understand which options I can/should set in order to get these two SMILES into the same tautomeric form. In this particular case it is the difference between which N atom the H atom is placed and the relevant double bond. Which options can I set in jc_standardize in order to make both these SMILES uniform?

ChemAxon aa7c50abf8

28-03-2006 09:15:52

For tautomer generation in JChem Cartridge, please, see the jc_evaluate_x examples in the documentation (http://www.chemaxon.com/jchem/doc/guide/cartridge/cartapi.html#jc_evaluate_x)





Depending on the type of the structure table, there are two ways to speficify how structures should be standardized during insertion:


- for JChem Tables, use JChemManager (http://www.chemaxon.com/jchem/doc/admin/#standardization);


- for regular (non-JChem) tables use the std_config index parameter (http://www.chemaxon.com/jchem/doc/guide/cartridge/index.html#index).





For examples of jc_standardize, please, see the documentation: http://www.chemaxon.com/jchem/doc/guide/cartridge/cartapi.html#jc_standardize

ChemAxon aa7c50abf8

28-03-2006 09:27:06

Concerning tautomer generation: jc_evaluate(b)_x "concatenates" the results into one single VARCHAR2 or BLOB. In some future JChem version (probably in the next version) there will be a table function variant of jc_evaluate returning the tautomers in individual records. It is included in JChem 3.1.6 as an "undocumented feature":


Code:
select c from table(jctf_evaluate('NC1=C(CC=O)C=CCC1', 'chemTerms:tautomers() outFormat:smiles'));

ChemAxon 60ee1f1328

28-03-2006 09:38:48

Thanks Peter, I will attempt to use this undocumented feature until the next release.

ChemAxon d76e6e95eb

28-03-2006 11:10:38

You can probably solve the current case with a custom transformation with standardizer:





Code:
standardize 'Cc1nc2nc[nH]c2cc1Br' -c '[H:2][n:1]1c[n:3]c2ncccc12>>[H:2][n:3]1c[n:1]c2cccnc12'


Cc1nc2[nH]cnc2cc1Br

ChemAxon 60ee1f1328

13-04-2006 10:57:52

So if the tautomer search option is in the next JChem release does this mean that the JChem base license will cover it's usage or is the plugin license above still required?


;)

ChemAxon a3d59b832c

13-04-2006 13:46:46

Hi Daniel,





Yes, tautomer searching will need tautomer plugin license.





All the best,





Szabolcs

ChemAxon a3d59b832c

26-10-2006 09:32:21

JChem 3.2 is released, and it contains the tautomer search option.


See: http://www.chemaxon.com/jchem/doc/user/Query.html#tautomer





As mentioned above, for tautomer searching you need to have the Tautomer plugin license.

ChemAxon 60ee1f1328

01-10-2007 15:37:57

Hello,





We just wanted to apply two rules whilst generating our tautomers.





1. We would like pH set at 7.4 - do we need the pKa plugin order to do this?


2. Second we would like to exclude any anti-aromatic tautomers.





Presumably these can be set using chemical terms somewhere?


Currently we are using:





Code:
'chemTerms:tautomers() outFormat:smiles'






How might we implement the above two rules?





Many thanks for your help,





Daniel.

ChemAxon aa7c50abf8

02-10-2007 14:11:32

Hi Daniel,





1.)


You can specify the pH like this:


Code:
chemTerms:tautomers("7.4") outFormat:smiles



pKa license is not required.





2.)


Currently you cannot exclude anti-aromatic tautomers, but we plan to implement this feature as well. We will let you know as soon as a schedule has been decided on.





Cheers,


Peter

ChemAxon 60ee1f1328

19-12-2007 08:42:45

Hello,





I understand that within the tautomers plugin, the ability to specify only tautomers that do not break aromaticity rules is now available?





Can you please point out the additional parameter X I need to add in order to do this or point me to the documentation that explains all this...





X= dominant at PH or Not break aromatic rules





chemTerms:tautomers("7.4",X) outFormat:smiles





Cheers,


Daniel.

User 851ac690a0

24-12-2007 22:30:31

Hi Daniel,





Quote:
I understand that within the tautomers plugin, the ability to specify only tautomers that do not break aromaticity rules is now available?






Yes, these rules were implemented in the tautomer plugin.





The protection of the aromatic rings and excluding of the anti-aromatic tautomer generations to be the default setting of the 5.0 beta version.





Simple example1


If the submitted structure is this : "OC1=CC(CC2=CC(=O)C2)=CC=N1"





One of the anti-aromatic tautomeric form of the submitted one is this "OC1=CC(CC2=CC=NC(O)=C2)=C1"


This anti-aromatic form is not generated because of the default setting.





Simple example2


If the submitted structure is this :"C\N=C\C1=CC=CN=C1O"


One of the non-aromatic tautomeric form of the submitted one is this CN\C=C1/C=CC=NC1=O. This structure not generated because the aromacity rule would be breaked.





The default setting of the tautomer generation guarantees both the aromatic ring protection and the exclusion of the anti-aromatic stucture generation.


You don't need to set any parameter for this purpose.





Quote:
> chemTerms:tautomers("7.4",X) outFormat:smiles
The pH dependent tautomer generation works properly in the 'cxcalc' and in the 'GUI.'


e.g.: "cxcalc dominanttautomerdistribution -H 7.4 test.mol"





In the 'chemicalTerms' the pH dependent tautomer generation unfortunately does not work properly. We fixed this bug and the proper version will be available soon.








Cheers,


Jozsi