Aromatization and dearomatization

User d68ef9d5a9

07-12-2004 16:56:58

Hi,





I have a compound (see attached file), and the aromatization of the compound goes well. However, when I want to dearomatize the compound again, the MSketch and MarvinView would allow doing so.





I guess the reason for this is that there are more than one possible form of dearomatization for this structure. The double bond on N can be either way. So software can not arbitrarily assign one. But, my argument here is although there is no dearomatized form for this structure, and any double bond on any of those N is not scientifically right, it is sometime necessary to generate dearomatized structure for special purpose (e.g. ISIS). Therefore, an arbitrary assignment of a dearomatized form might be not a bad idea. For this particular compound, a double bond on either N contains some level of inaccuracy, but it would not make much difference for which way the software goes to, or maybe software can give a choice to allow programmer decide which way he or she wants. The bottom line is that I need some mechanism to generate a form of dearomatized structure regardless the scientific accuracy.





This problem comes with our software to aromatize compounds in database, but not able to dearomatize certain compounds containing structure like the one in the file.





I appreciate any comments and suggestions.





Ben Li

ChemAxon 43e6884a7a

07-12-2004 19:00:00

Ben,





None of the structures are correct. N with a double bond and 2 single bonds has a positive charge. Dearomatization needs to know which N is the one that donates an electron pair into the aromatic ring (the one that doesn't have the + charge).





If you add the charge before aromatization, then the dearomatization will also work. Our software corrects the charge if you run it on the dearomatized form.


For example:


$ molconvert smiles -s "CN1=CNC=C1"


C[N+]1=CNC=C1





Ferenc

User 75785d5d15

31-03-2005 01:03:19

I have been unable to get the JChemBase to dearomatize a compound I have with a pyrazole. C1c2ccccc2-c3nnc(-c4ccncc4)c13





The two six membered rings are dearomatized correctly, but the five membered ring stays aromatic. My understanding is that the resonance structures would contain a hydrogen on one of the nitrogens of the five membered ring. Is there anyway around this so that I could get a molecule in non-aromatic notation?





Thanks,


Joe

ChemAxon 43e6884a7a

31-03-2005 05:48:51

Joe,


The SMILES code you provided is not correct. Indeed, only one of the nitrogens has a hydrogen and it has to be shown in square brackets. For example this SMILES is correct and can be dearomatized:


C1c2ccccc2-c3[nH]nc(-c4ccncc4)c13


Ferenc

User 75785d5d15

31-03-2005 17:04:58

All right. However, I got this ligand from the PDB where not hydrogens are specified, and when I added hydrogens with jchem, no hydrogens were added to that position. Are there any parameters I can specify that would get it to add a hydrogen to that position?





Thanks,


Joe

ChemAxon 43e6884a7a

31-03-2005 17:28:56

The problem is that I don't know how to find out which of the two nitrogens is the one that has only single bonds (and a H). Is random selection good enough for you? If not, what rule do you suggest?

User 75785d5d15

31-03-2005 18:41:52

Yes, random is fine.

ChemAxon 43e6884a7a

31-03-2005 20:32:58

That looks easy! You need Standardizer in the JChem package.





Use this transformation rule:


c1c[n;X2][n;X2]c1>>c1c[nH][n]c1





For example


$ standardize -c "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1" "C1c2ccccc2-c3nnc(-c4ccncc4)c13"


It returns C1c2ccccc2-c3[nH]nc(-c4ccncc4)c13





You can add more rules, like these ones:


c1[n;X2]c[n;X2]c1>>c1[nH]c[n]c1


dearomatize





$ standardize -c "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1..c1[n;X2]c[n;X2]c1>>c1[nH]c[n]c1..dearomatize" input_file >output_file





(Transformations are separated by "..")

User d537c7cc09

31-03-2005 23:37:56

Thanks

User 8960bbfad7

15-04-2005 16:46:24

I have a similar problem where I have to standardize indole,so I first tried out the given examples.


I don't get the same output as descripted for the first example, but simply





C1c2ccccc2-c3nnc(-c4ccncc4)c13





with JChem version 3.0.10.


Have I overlooked something?





Thanks,





Mireille
Ferenc wrote:
That looks easy! You need Standardizer in the JChem package.





Use this transformation rule:


c1c[n;X2][n;X2]c1>>c1c[nH][n]c1





For example


$ standardize -c "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1" "C1c2ccccc2-c3nnc(-c4ccncc4)c13"


It returns C1c2ccccc2-c3[nH]nc(-c4ccncc4)c13





You can add more rules, like these ones:


c1[n;X2]c[n;X2]c1>>c1[nH]c[n]c1


dearomatize





$ standardize -c "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1..c1[n;X2]c[n;X2]c1>>c1[nH]c[n]c1..dearomatize" input_file >output_file





(Transformations are separated by "..")

ChemAxon fb166edcbd

16-04-2005 20:04:29

In the latest JChem release (3.0.10) Standardizer did not yet support this feature (it will support this in the upcoming major release). However, you can use Reactor to do something similar:





Code:



react -r "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1" "C1c2ccccc2-c3nnc(-c4ccncc4)c13"


C1c2ccccc2-c3[nH]nc(-c4ccncc4)c13


C1c2ccccc2-c3n[nH]c(-c4ccncc4)c13








Reactor returns all possible products; in this case it finds separate products by adding the implicit H to different N atoms. You can get only the first product by adding the -p option:





Code:



react -r "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1" "C1c2ccccc2-c3nnc(-c4ccncc4)c13" -p 1


C1c2ccccc2-c3[nH]nc(-c4ccncc4)c13








However, Reactor only deals with one functional group at a time.


For example, you will get





Code:



react -r "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1" "C1c2cc3CC4Cc5cnnc5C4c3cc2-c6nnc(-c7ccncc7)c16"


C1C2Cc3cc4Cc5c(nnc5-c4cc3C2c6n[nH]cc16)-c7ccncc7


C1C2Cc3cn[nH]c3C2c4cc-5c(Cc6c(nnc-56)-c7ccncc7)cc14


C1C2Cc3cc4Cc5c(n[nH]c5-c4cc3C2c6nncc16)-c7ccncc7


C1C2Cc3cc4Cc5c(n[nH]c5-c6ccncc6)-c4cc3C2c7nncc17








while you would expect





Code:



C1C2Cc3cc4Cc5c(n[nH]c5-c4cc3C2c6n[nH]cc16)-c7ccncc7








instead. You can repeat the transformation as long as there are untransformed functional groups:





Code:



react -r "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1" "C1c2cc3CC4Cc5cnnc5C4c3cc2-c6nnc(-c7ccncc7)c16" -p 1


C1C2Cc3cc4Cc5c(nnc5-c4cc3C2c6n[nH]cc16)-c7ccncc7





react -r "c1c[n;X2][n;X2]c1>>c1c[nH][n]c1"  "C1C2Cc3cc4Cc5c(nnc5-c4cc3C2c6n[nH]cc16)-c7ccncc7" -p 1


C1C2Cc3cc4Cc5c(n[nH]c5-c6ccncc6)-c4cc3C2c7n[nH]cc17








but this is a bit complicated.





For a list of similarities and differences between Reactor and Standardizer refer to:


http://www.chemaxon.hu/forum/viewtopic.php?t=540





In the upcoming JChem release Standardizer will also support this H manipulation and you will get the desired results for multiple functional groups as well. In the meantime, you can use Standardizer in our test release which can be downloaded from:





http://www.chemaxon.hu/download.php?d=/data/download/jchem/test





however, this is only a pre-release which may not be stable yet.