Hi Lukas,
according to the source 
code:https://github.com/rdkit/rdkit/blob/master/External/CoordGen/CoordGen.h
double coordgenScaling = 50.0; 

the default scaling factor, actually more like a "shrinking factor" seems to be 
50, producing bond lengths of 1A.

For 1.5A bond lengths, you would need to enter a scaling factor of 50.0/1.5, 
maybe this should be changed internally to make it more intuitive ?

The code snippet below may save you the trouble going into pymol for 
measurements. When getting the 50A bond lengths, depiction showed all single 
bonds and did not take bond orders into account, wonder whether that is 
intended.
Best wishes,Maria

from rdkit import Chemfrom rdkit.Chem import rdCoordGenfrom rdkit.Chem import 
rdmolopsmol = Chem.MolFromSmiles('Cc1ccccc1', sanitize=True)mol1 = 
Chem.MolFromSmiles('Cc1ccccc1', sanitize=True)
p = rdCoordGen.CoordGenParams()p.coordgenScaling = 
50.0/1.5rdCoordGen.AddCoords(mol1,p)
print(Chem.MolToMolBlock(mol))print(Chem.MolToMolBlock(mol1))print(rdmolops.Get3DDistanceMatrix(mol1))
Chem.MolToMolFile(mol, 'default.sdf') # bond length 1Chem.MolToMolFile(mol1, 
'scale.mol') # bond length 33.3from rdkit.Chem import rdDepictorfrom 
rdkit.Chem.Draw import IPythonConsole




    On Tuesday, 9 October 2018, 14:08:05 BST, Lukas Pravda <lpra...@ebi.ac.uk> 
wrote:  
 
 
Hi all,

 

I’m playing with the Coordgen library inside rdkit and I have a couple of 
questions I could not figure out by myself. Hopefully someone more experienced 
will know.

 
   
   - [comment] The way one can pass a scaling factor to the bond size is very 
unintuitive. If I don’t provide any parameter a single bond length is 1.0. If I 
pass 1.5 as a scaling factor, I’d expect to get single bond of a length 1.5. 
But instead I get 33.3. (measured in pymol) 

 

Snippet:

from rdkit import Chem

from rdkit.Chem import rdCoordGen

 

mol = Chem.MolFromSmiles('Cc1ccccc1', sanitize=True)

mol1 = Chem.MolFromSmiles('Cc1ccccc1', sanitize=True)

 

p = rdCoordGen.CoordGenParams()

p.coordgenScaling = 1.5

 

rdCoordGen.AddCoords(mol)

rdCoordGen.AddCoords(mol1, p)

 

Chem.MolToMolFile(mol, 'default.sdf') # bond length 1

Chem.MolToMolFile(mol1, '1.5_scale.sdf') # bond length 33.3

 

 

                Is that intended?

 
   
   - Is there any way to modify templates, which can be passed as the 
‘templateFileDir’ parameter to match general groups and bonds as described 
here: http://rdkit.blogspot.com/2016/07/tuning-substructure-queries-ii.html? 
   - By default, rdCoordGen module writes to stderr by putting ‘TEMPLATES: 
/path/to/templates’ line for each depiction generated. Is there any simple way 
of muting that piece of information without manually hijacking the stderr 
(rdkit.rdBase.DisableLog('rdApp.*') does not work)?

 

Thanks for possible suggestions.

  

  

Cheers, 

Lukas

  
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
  

|  | Virus-free. www.avast.com  |

_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to