Hi again,

i found where the problem was (it seems):

as i was reading in molecules from sdf file through "SDMolSupplier" by
doing:

suppl = Chem.SDMolSupplier(filename)

the hydrogen atoms were removed (what was not obvious since e.g.
GetNumAtoms with "heavy" flag was returning the total number of atoms -
including hydrogens, but none of the functions like "GetAtomIdx" etc. was
seeing hydrogens - i looked in the code, maybe it is because in the
"Code/GraphMol/ROMol.cpp" in all such functions the "GetNumAtoms" and not
"GetNumHeavyAtoms" is called?)

then i guess that it must have messed up something somewhere, so that
instead of seeing "x+h2o" the code did as if there was only "x" on a file

but if i read in the molecules as:
suppl = Chem.SDMolSupplier(filename, removeHs=False)

then all seems to be ok (rmsd values seem to include h2o; also h2o are
drawn with py3Dmol);

best regards,
gosia



2017-06-21 16:37 GMT+02:00 gosia olejniczak <gosia.olejnic...@gmail.com>:

> Hi Paolo,
>
> Thank you for the prompt answer!
>
> i'll try it out, but:
> - the whole complex "X+h2o" is read from one sdf file
> - Chem.Mol.GetNumAtoms gives the correct number of atoms (= it includes
> h2o) [*]
>
> so i'm wondering what is the best way to specify two fragments "x" and
> "h2o", so that i could use them as arguments to CombineMols()?
> does it make sense to:
> 1. search for h2o pattern in "x+h2o" (GetSubstructMatch)
> 2. remove h2o from the "x+h2o" complex (DeleteSubstruct) and get only "x"
> -> save it
> 3. remove x from the "x+h2o" complex (DeleteSubstruct) and get only "h2o"
> -> save it
> 4. then finally use CombineMols() with separate fragments from 2. and 3.?
> that seems a bit silly, maybe there is a simpler way?
>
> thank you!
> all the best,
> gosia
>
> [*] still, the plot of its 3D structure drawn with py3Dmol only shows "x"
> and not "x+h2o"...
>
> 2017-06-21 16:01 GMT+02:00 Paolo Tosco <paolo.to...@unito.it>:
>
>> Hi Gosia,
>>
>> you may want to look at the CombineMols() function in the rdmolops
>> module. If you make a single molecule out of the two fragments, then you
>> should manage to get what you are looking for.
>>
>> Cheers,
>> p.
>>
>>
>> On 06/21/17 14:47, gosia olejniczak wrote:
>>
>> dear RDKit experts,
>>
>> is it possible to calculate RMSD value between two non-covalent molecular
>> complexes?
>>
>> For instance:
>> complex1: X(conformer1) + H2O
>> complex2: X(conformer2) + H2O
>>
>> i tried GetBestRMS and GetO3A.Align but the program clearly neglects H2O
>> and calculates the RMSD only between X(conformer1) and X(conformer2)
>>
>> thank you!
>> best regards,
>> gosia
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>
>>
>>
>> _______________________________________________
>> Rdkit-discuss mailing 
>> listRdkit-discuss@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Rdkit-discuss mailing list
>> Rdkit-discuss@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>
>>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to