understanding the addition of implicit hydrogens

User a18e201107

14-01-2010 18:11:47

Hello


I was hoping you may provide some more insight into how standardizer decides when hydrogens should be added.  We have experienced some behavior while attempting to standardize a nitroso group (that may not necessarily be wrong) but does not seem to be consistent.  I have attached a file which explains the test cases and results. 



Thank you for any insight you can provide here,



Dennis

ChemAxon d76e6e95eb

15-01-2010 13:31:04

We have reproduced this bug and will correct it quickly. Thank you for the report.

User a18e201107

15-01-2010 16:03:33

Gyuri


Thank you so much for your response,   could you let me know what the proposed fix would be (will you be removing the implicit hydrogens during the conversion of N=O to [N+][O-]?  Also we have seen another possible issue when trying to strip the charge on metals to produce a bare metal.  I will try to get the details together on this story as well, would it be best to start a new thread?


 


Thank you again



Dennis

ChemAxon d76e6e95eb

15-01-2010 16:13:14

Implicit hydrogens are autocalculated, so cannot be removed directly. However, the transform will place the valence flag on the resulting nitroso nitrogen atoms. The result will be the same: no implicit hydrogens.
In general, if the product in the transform scheme contains a non-default valence value, that will be placed on the corresponding output atoms. I think, that it will solve the metal issue as well.

User a18e201107

15-01-2010 16:49:08

That sounds like what we are looking for. 



With respect to the metals I can provide this info.  If we apply something like the following


Na+ ---> Na


and we get NaH out the other sid.  I am not applying the neutralize transform



If we apply nothing we get out what we put in


Na --> Na


Na+ --> Na+


Furthermore if we break a covalent bond to a metal we get the following


O=C(O[Na])C1=CC=CC=C1  ---> [Na+].OC(=O)c1ccccc1 (if we apply the Na+-->Na transform we get  NaH.OC(=O)c1ccccc1)


so even if you generate a charged meta via bond break the charge persists.  I think this issue may go away with the fix you are proposing but I would like to confirm that this is the case?  Thank you again for you help with this.


 


Dennis

ChemAxon d76e6e95eb

15-01-2010 16:56:13

Thank you for the nice examples, we will use them as test cases to make sure, that the fix works as expected.

User a18e201107

15-01-2010 17:12:16

Gyuri



Thanks alot for the quick responses.  If you need anything else let me know and we are happy to test any patches if you need an addtional pair of eyes.


 


Dennis

User a18e201107

22-01-2010 18:16:10

Hi Gyuri


I noticed you put out version 5.3 of JChem.  It did not appear as though this issue was fixed in that release (I am not surprised as the release seemed to be a couple days after this thread was started), will you be putting out a patched release with a fix for this issue?  If so is there a proposed date? 


Thank you



Dennis

ChemAxon e08c317633

22-01-2010 18:43:20

Hi Dennis,


The 5.3.0.1 version (already available for download) should fix the valence issues you reported in first post. Did you use this version, or JChem 5.3?


Zsolt

User a18e201107

22-01-2010 19:29:32

Zsolt



Thank you for the post, I did not see that it had been released. I did use 5.3.  My apologies, I will download the newest version.


 


Dennis

User a18e201107

28-01-2010 16:12:49

So it appears as though the fix in 5.3.0.1 worked great for preventing the unwanted addition of hydrogens to the nitroso group mentioned in my original post in this thread.  I am still having some issues with stripping the charge from metals to create bare metals (we would like to use bare metals in our salt list rather than collecting individual charges separately).  Perhaps I am not using standardizer properly to do this, I was hoping you might be able to provide me with a little insight.


If we apply the following smirks we should see the following reactions:


[*+,+2,+3,+4;$([$([#3,#4,#11,#12,#19,#20,#37,#38,#55,#56,#87,#88,#13,#31,#32,#33,#49,#50,#51,#81,#82,#83,#84])]):1]>>[*+0:1]


[Na+] --> [Na]


[Ba++] --> [Ba]  and so on/


In standardizer I have created a transform to to this using the left and right side of the smirks equation (here I opened the periodic system, went to the advanced tab and used the custom property "SMARTS" to create each atom represntation in the transform). 


If I run some test cases through the transform picks up on the charged metals but does nothing with them


[Na+] --> [Na+]



[Ba+2] --> [Ba++] and so on/


If I simply change the transform in standardizer to handle sodium exclusively such as


Transform : Charged Sodium to Bare Metal   Na+ ------> Na


I do get the correct transformation


[Na+] --> [Na]


I am wondering if I am going about this incorrectly with respect to how standardizer may handle this transform?  Any assistance would be appreciated.  And again my thanks for fixing the valence issue.


 


Dennis


 


 



ChemAxon e08c317633

01-02-2010 18:23:14

Hi Dennis,


Please use the attached metal_charge_removal.xml configuration file for stripping the charge from metals. It contains four transformations:


[M+] -> [M]
[M+2] -> [M]
[M+3] -> [M]
[M+4] -> [M]


where M denotes "any metal" -- SMARTS: [!#1!#2!#5!#6!#7!#8!#9!#10!#14!#15!#16!#17!#18!#33!#34!#35!#36!#52!#53!#54!#85!#86]


Example:


$ standardize -c metal_charge_removal.xml [Na+] [Ba++] [Al+3] [Mn+4]
[Na]
[Ba]
[Al]
[Mn]


It works as expected.


We need some time to figure out what's the problem with your smirks transform.


Zsolt

User a18e201107

01-02-2010 19:40:00

Zsolt


Thank you for your latest post.  I slighty modified what you sent in order to get the desired result.


I created 4 transforms as well using the "SMARTS" feature in Marvin



[*+1$([$([#3,#4,#11,#12,#19,#20,#37,#38,#55,#56,#87,#88,#13,#31,#32,#33,#49,#50,#51,#81,#82,#83,#84])]):1]
[*+2$([$([#3,#4,#11,#12,#19,#20,#37,#38,#55,#56,#87,#88,#13,#31,#32,#33,#49,#50,#51,#81,#82,#83,#84])]):1]
[*+3$([$([#3,#4,#11,#12,#19,#20,#37,#38,#55,#56,#87,#88,#13,#31,#32,#33,#49,#50,#51,#81,#82,#83,#84])]):1]
[*+4$([$([#3,#4,#11,#12,#19,#20,#37,#38,#55,#56,#87,#88,#13,#31,#32,#33,#49,#50,#51,#81,#82,#83,#84])]):1]


each of these with the result
[*+0:1]



This gets the desired result without effecting transition metals.  Thank you for all your help here. 



Dennis