Hi Puck,

here's a gist that shows how to do an unconstrained minimization (first
example, all atoms move) and one where all heavy atoms are fixed to their
initial position (second example, only hydrogens move).

https://gist.github.com/ptosco/eeaf8ce92f19b10702f58e45e393366a

Cheers,
p.

On Fri, Aug 21, 2020 at 3:11 PM Puck van Gerwen <puck.vanger...@gmail.com>
wrote:

> Hi Paolo,
>
> That works, thank you. I have a related question - after reading in
> molecules with their coordinates, I remove hydrogens to make them implicit.
> I later want to add the hydrogens back on and only optimise these, leaving
> the heavy atoms alone. I tried to do this with an ethyne molecule where I
> read the coordinates from an sdf file, removed the hydrogens, and added
> them back on again. They are all added to the origin. I am trying and
> failing to optimise the hydrogen positions without modifying the heavy
> atoms. This is what I have so far:
>
> # C atoms in positions 0 and 1
> a = mol.GetConformer().GetAtomPosition(0)
> b = mol.GetConformer().GetAtomPosition(1)
> cmap = {0 : a, 1 : b}
> AllChem.EmbedMolecule(mol, core=mol, coordMap=cmap)
>
> AllChem.MMFFOptimizeMolecule(mol)
>
> When I print out the coordinates I can see the heavy atoms have also been
> modified. Would you be able to help me out here?
>
> Best regards,
> Puck
>
> On Thu, 20 Aug 2020 at 13:26, Paolo Tosco <paolo.tosco.m...@gmail.com>
> wrote:
>
>> Hi Puck,
>>
>> When you read a SDF file using a SDMolSupplier RDKit will retain 3D
>> coordinates. You can access them from the mol Conformer (a molecule can
>> have multiple Conforrmers; one is generated for you when you read a set of
>> coordinates):
>>
>> mol.GetConformer().GetAtomPosition(atom_idx)
>>
>> If you wish to retain hydrogen atoms, make sure to set removeHs=False
>> when creating the supplier.
>>
>> Cheers,
>> p.
>>
>> On 20 Aug 2020, at 12:54, Puck van Gerwen <puck.vanger...@gmail.com>
>> wrote:
>>
>> Dear rdkit,
>>
>> I am wondering whether after reading a molecule from an sdf file, it is
>> possible to keep the original 3d coordinates that were in that sdf file? I
>> will modify the molecules (fragment bonds and saturate with hydrogen) but
>> as much as possible I want to keep the original coordinates. For example,
>> if I had H3C-CH=CH2 and I break the first bond to remove H3C (to saturate
>> to CH4) leaving CH=CH2 (to saturate to H2C=CH2), would it be possible to
>> keep the original C coordinates rather than generate conformations and so
>> on?
>>
>> I appreciate the assistance.
>> Best regards,
>> --
>> *Puck van Gerwen*
>> Doktorandin / PhD candidate
>> Departement Chemie
>> Klingelbergstrasse 80
>> CH-4056 Basel
>> https://www.chemspacelab.org/
>>
>> _______________________________________________
>> Rdkit-discuss mailing list
>> Rdkit-discuss@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>
>>
>
> --
> *Puck van Gerwen*
> Doktorandin / PhD candidate
> Departement Chemie
> Klingelbergstrasse 80
> CH-4056 Basel
> https://www.chemspacelab.org/
>
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to