On Thu, Sep 8, 2016 at 10:47 PM, Dimitri Maziuk <dmaz...@bmrb.wisc.edu> wrote:
> On 09/08/2016 02:37 PM, Rocco Moretti wrote: > > > (2) There's special complications here that there are certain structures, > > such as imidazole, which needs physical or explicit hydrogens on one of > the > > nitrogens in order to Kekulize properly. If you're implicit only, the > RDKit > > sanitizer will choke. Thus, there's special casing in various > Add/RemoveHs > > function to avoid implicit-izing these critical hydrogens. > > So if I feed a mol file describing protonated histidine to rdkit, the > rdmol I actually get by default is the one with NH2 and COOH? Ohkay... > That would indeed be strange behavior. It's easy to do the experiment to answer your question though: In [2]: 0.5678 1.9393 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 ...: 0.5678 1.1143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 ...: 1.2352 0.6294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 ...: 0.9803 -0.1553 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0 ...: 0.1553 -0.1553 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 ...: -0.0997 0.6294 0.0000 N 0 3 0 0 0 0 0 0 0 0 0 0 ...: -0.8612 1.9393 0.0000 N 0 3 0 0 0 0 0 0 0 0 0 0 ...: 0.5678 3.5893 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0 ...: -0.1467 1.5268 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: 1.0049 2.6389 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: 1.3923 1.9681 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: 2.0198 0.8843 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: 1.4652 -0.8227 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: -0.3297 -0.8227 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: -0.8843 0.8843 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: -1.2737 2.6538 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: -1.5757 1.5268 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: -0.4487 1.2248 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0 ...: 1 2 2 0 0 0 0 ...: 2 3 1 0 0 0 0 ...: 3 4 1 0 0 0 0 ...: 4 5 1 0 0 0 0 ...: 5 6 2 0 0 0 0 ...: 6 7 1 0 0 0 0 ...: 7 8 1 0 0 0 0 ...: 8 9 2 0 0 0 0 ...: 5 9 1 0 0 0 0 ...: 3 10 1 6 0 0 0 ...: 2 11 1 0 0 0 0 ...: 3 12 1 1 0 0 0 ...: 4 13 1 0 0 0 0 ...: 4 14 1 0 0 0 0 ...: 6 15 1 0 0 0 0 ...: 7 16 1 0 0 0 0 ...: 8 17 1 0 0 0 0 ...: 9 18 1 0 0 0 0 ...: 10 19 1 0 0 0 0 ...: 10 20 1 0 0 0 0 ...: 10 21 1 0 0 0 0 ...: M CHG 3 9 1 10 1 11 -1 ...: M END ...: ''' In [3]: m = Chem.MolFromMolBlock(mb) In [4]: m.Debug() Atoms: 0 8 O chg: 0 deg: 1 exp: 2 imp: 0 hyb: 3 arom?: 0 chi: 0 1 6 C chg: 0 deg: 3 exp: 4 imp: 0 hyb: 3 arom?: 0 chi: 0 2 6 C chg: 0 deg: 3 exp: 4 imp: 0 hyb: 4 arom?: 0 chi: 2 3 6 C chg: 0 deg: 2 exp: 2 imp: 2 hyb: 4 arom?: 0 chi: 0 4 6 C chg: 0 deg: 3 exp: 4 imp: 0 hyb: 3 arom?: 1 chi: 0 5 6 C chg: 0 deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0 6 7 N chg: 0 deg: 2 exp: 3 imp: 0 hyb: 3 arom?: 1 chi: 0 7 6 C chg: 0 deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0 8 7 N chg: 1 deg: 2 exp: 3 imp: 1 hyb: 3 arom?: 1 chi: 0 9 7 N chg: 1 deg: 1 exp: 1 imp: 3 hyb: 4 arom?: 0 chi: 0 10 8 O chg: -1 deg: 1 exp: 1 imp: 0 hyb: 3 arom?: 0 chi: 0 Bonds: 0 0->1 order: 2 conj?: 1 aromatic?: 0 1 1->2 order: 1 conj?: 0 aromatic?: 0 2 2->3 order: 1 conj?: 0 aromatic?: 0 3 3->4 order: 1 conj?: 0 aromatic?: 0 4 4->5 order: 12 conj?: 1 aromatic?: 1 5 5->6 order: 12 conj?: 1 aromatic?: 1 6 6->7 order: 12 conj?: 1 aromatic?: 1 7 7->8 order: 12 conj?: 1 aromatic?: 1 8 4->8 order: 12 conj?: 1 aromatic?: 1 9 2->9 order: 1 conj?: 0 aromatic?: 0 10 1->10 order: 1 conj?: 1 aromatic?: 0 The charges are where they started and implicit H counts (that's the "imp" field) are set appropriately. -greg
------------------------------------------------------------------------------
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss