Hi Axel,

It's probably most straightforward to use the function
AllChem.TransformMol() to scale the coordinates.
Here's an example of applying the function to scale all the coordinates by
a factor of 2:

In [1]: from rdkit import Chem

In [2]: from rdkit.Chem import rdMolTransforms

In [5]: from rdkit.Chem import AllChem

In [6]: import numpy

In [7]: tm = numpy.zeros((4,4),numpy.double)

In [8]: for i in range(3): tm[i,i] = 2.

In [9]: tm[3,3] = 1.

In [10]: m = Chem.MolFromSmiles('C1CCC1')

In [11]: AllChem.Compute2DCoords(m)
Out[11]: 0

In [12]: print(Chem.MolToMolBlock(m))

     RDKit          2D

  4  4  0  0  0  0  0  0  0  0999 V2000
    1.0607   -0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -0.0000   -1.0607    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.0607    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    1.0607    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  2  3  1  0
  3  4  1  0
  4  1  1  0
M  END


In [13]: AllChem.TransformMol(m,tm)

In [14]: print(Chem.MolToMolBlock(m))

     RDKit          2D

  4  4  0  0  0  0  0  0  0  0999 V2000
    2.1213   -0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -0.0000   -2.1213    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.1213    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    2.1213    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  2  3  1  0
  3  4  1  0
  4  1  1  0
M  END


In your case, assuming that the bond length in the drawings is 1.0A, you
would use a scale factor of 1.5 (that's on line [8] above).

Best,
-greg


On Mon, Sep 19, 2016 at 8:41 AM, Axel Pahl <axelp...@gmx.de> wrote:

> Dear fellow RDKitters,
>
> I have an SD file with 2D molecules generated by another Cheminformatics
> toolkit (yes, there are others! ;-) ).
> When I depict them with RDKit (with Draw.MolToImage()) they look very
> condensed with too short bonds and just appear not right.
> When I re-generate the coordinates by using Compute2DCoord(), the
> structure drawings do look great, but RDkit re-calculates all
> coordinates and the orientation of the whole molecule is completely
> changed.
> Can I avoid this, keep the original orientation of the molecules and
> just do something like "apply drawing settings" or "use standard bond
> lengths" to a molecule?
>
> Many thanks in advance.
>
> Kind regards,
> Axel
>
>
> ------------------------------------------------------------
> ------------------
> _______________________________________________
> Rdkit-discuss mailing list
> Rdkit-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
------------------------------------------------------------------------------
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to