Hi,

I found a pretty annoying behavior with the protonation, which uncovers an 
underlying issue with the chemical perception.

The easiest way to reproduce this is to add hydrogens to the ammonium molecule 
in XYZ format:

   obabel ammonium.xyz -ph 7 -O ammonium_xyz.mol2

In the generated file, the nitrogen will have 4 hydrogens, 5 total bonds, and atom type 
"N.3" (wrong).
If the molecule is converted to Mol2 first, then protons added:

   obabel ammonium.xyz  -O ammonium_xyz_step1.mol2
   obabel ammonium_xyz_step1.mol2 -ph 7  -O ammonium_xyz_step2.mol2

the nitrogen will have 3 hydrogens, 4 bonds, and atom type "N.4" in both Mol2 
files (correct). Also, in the second file the charge is correctly set to +1. Identical 
behavior is found when doing the same through Python.

This totally unexpected because the valence is properly perceived every single 
function I've tried (GetExplicitValence(), ExplicitDegree(), GetTotalDegree(), 
GetTotalValence()), which return the correct value (4).

The expected behavior would be either to remove the extra proton, or to update 
the atom and molecule formal charge, but definitely not to generate a nitrogen 
with 5 connections.

Interestingly, when parsing the OB atom type of the nitrogen is set to "N3+", 
so at some point in the chemical perception, this is detected correctly. Yet, if there's 
an easy way to fix this I couldn't find it.

This seems like a bug to me.
Any advice?

Thanks,

S

--

 Stefano Forli, PhD

 Associate Professor
 Dept. of Integrative Structural
 and Computational Biology, MB-112A
 Scripps Research
 10550  North Torrey Pines Road
 La Jolla,  CA 92037-1000,  USA.

    tel: +1 (858)784-2055
    email: fo...@scripps.edu
    https://forlilab.org

Attachment: ammonium.xyz
Description: Xmol XYZ data

_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to