Pmapper recognition of water

User ed9697d993

20-09-2011 13:10:30

Hello there,


I'm using Marvin and JChem 5.4.0.1 version and I'm trying to recognize water molecules in a mol2 file with Pmapper.


Default:


To make it simple, i'm using a mol2 file with only water in it (water.mol2). (I've obtain it converting a PDB file, that's why you see fragments in it).


I've already edited an pmapper xml configuration file in the past, and so far, succefully so (just adding the "undefined" type,when pmapper doesn't recognize any type, it puts a "u" at the place of the usual blank). (pharma-frag_0.xml)


One command pmapper -Xmx1024m -S -c pharma-frag_0.xml water.mol2 -o water_0.sdf later, I obtain water_0.sdf.


So far, so good.


 


Now i'm trying to recognize water.


So i'm adding the line : <Mol ID="wtr" Structure="[H:2][O]"/> in <Mols> and the following lines in <Pharmacophores>:


<AtomSet ID="Water" Symbol="u">
    <![CDATA[ wtr ]]>
</AtomSet>


I guess the same tag "u" for water and undefined can be a little
confusing, but this is because that is what i'm trying to do (put the
same tag for undefined things and water).


Also, i'm sligthly adapting my undefined type, adding the water to the list:


<![CDATA[ !cx && !{Aromatic} && !{Cationic} && !{Anionic} && !{HydrogenBondDonor} && !{HydrogenBondAcceptor} && !wtr]]>


And not forgetting the atom donor and acceptor definition (I'm wanting the water to just be recognize as water).


<AtomSet ID="HydrogenBondDonor" Symbol="d">
   <![CDATA[ qh:1 && !wtr || tertamine:1 && !{Anionic} && !wtr ]]>
</AtomSet>
<AtomSet ID="HydrogenBondAcceptor" Symbol="a">
   <![CDATA[ nos && !tertamine:1 && !pyr && !amide:1,2 && !aniline:1 && !sulfonyl:1 && !sulfonate:1 && !{Cationic} && !nitro:1 && !wtr]]>
</AtomSet>


You can see this configuration file in pharma-frag_1.xml.


One command pmapper -Xmx1024m -S -c pharma-frag_1.xml water.mol2 -o water_1.sdf later, I obtain water_1.sdf... which doesn't have any type (which is strange, since it would at least recognize it as undefined). That is my first problem.


 


Just for testing, I'm removing the undefined part.


That is, I suppress the following lines:


<AtomSet ID="Undefined" Symbol="u">
     <![CDATA[ !cx && !{Aromatic} && !{Cationic} && !{Anionic} && !{HydrogenBondDonor} && !{HydrogenBondAcceptor} && !wtr]]>
</AtomSet>


(pharma-frag_2.xml)


And, with a logic that I don't get, it works, see water_2.sdf. How removing a type definition can make another one works? That is my second problem.


 


I'm tinkering a little bit more: I swap the position of undefined and water.


That is, instead of :


<AtomSet ID="Water" Symbol="u">
   <![CDATA[ wtr ]]>
</AtomSet>
<AtomSet ID="Undefined" Symbol="u">
   <![CDATA[ !cx && !{Aromatic} && !{Cationic} && !{Anionic} && !{HydrogenBondDonor} && !{HydrogenBondAcceptor} && !wtr]]>
</AtomSet>


I have:


<AtomSet ID="Undefined" Symbol="u">
     <![CDATA[ !cx && !{Aromatic} && !{Cationic} && !{Anionic} && !{HydrogenBondDonor} && !{HydrogenBondAcceptor} && !wtr]]>
 </AtomSet>
 <AtomSet ID="Water" Symbol="u">
     <![CDATA[ wtr ]]>
 </AtomSet>


(pharma-frag_3.xml)


I thought position in Pharmacophores isn't important. After all, it's rules that applies everywhere right? In fact, it is important, since I'm obtaining the double type as water and as undefined (u/u) for all atoms. (water_3.sdf). So, not only the swap of position of the rules changed something, but it recognize the type as water and undefined, which is impossible (at least it should, since i'm asking nicely "&& !wtr" in the undefined definition). That is my last problem.


Is any of this normal?
What am I doing wrong?


Do you have additional documention on the xml configuration file of Pmapper somewhere? (That is, elsewhere than http://www.chemaxon.com/jchem/doc/user/PMapper.html which I already read?)


Any help on this will be greatly appreciated.


Florent


P.S: No, just removing the water for the file won't do the trick, since I'm needing the presence of water in this very file...

User ed9697d993

22-09-2011 08:49:02

Okay, problem solved.
It seems that Pmapper doesn't like using the same symbol for another rule.
Using


<AtomSet ID="Water" Symbol="w">
     <![CDATA[ wtr ]]>
</AtomSet>
<AtomSet ID="Undefined" Symbol="u">
    <![CDATA[ !cx && !{Aromatic} && !{Cationic} && !{Anionic} && !{HydrogenBondDonor} && !{HydrogenBondAcceptor} && !wtr]]>
</AtomSet>


works just fine.

ChemAxon efa1591b5a

22-09-2011 11:01:21

Dear Florent,


That's great news indeed! :) 


You were faster than us, apologies for not being able to respond in time.


regards,


Miklos