Thanks Greg!

Thanks Francois for your response.

Where I’m struggling is with generating locally restrained conformations.
Essentially, my question is about this line of code:

ff.MMFFAddPositionConstraint(1, 0.3, 1.0e5)

My reading of the code page is that the first variable, 1, describes which
atom the position constraint is being added to. So in this case, it’s being
added to atom 1. What if I want to add the constraint to all (or some) of
the atoms in my input compound?

On July 25, 2017 at 8:47:49 PM, Greg Landrum ( wrote:

Hi Katrina,

welcome to the RDKit community!

On Mon, Jul 24, 2017 at 10:45 PM, Katrina Lexa <> wrote:

> I'm relatively new to RDKit, so I apologize for what may be a silly
> question. I'd like to generate a set of local minimum conformations around
> my input conformation, using a set of defined flat bottom potentials (0.2,
> 0.6, 1.0, and 1.4), in order to better compare my bound conformation with
> its unrestrained minimum.

> Ultimately, I'd like to write a script that reads in one input 3D
> conformation and prints out the energy and rmsd (and structure) of those
> local minimums as well as the lowest energy unrestrained conformation.
> There are plenty of examples of conformer generation scripts for RDKit,
> but I'm struggling with the constraints piece. I see the MMFFFixedAtoms &
> MMFFPositionConstraints code, but based on the code it's not obvious to me
> whether it's possible to implement either as a constraint on all atoms in
> my input molecule. Is there a way or is there another route I should be
> taking?

Apologies for asking what may be an obvious clarification question, but
what are you planning on constraining? It sounds like you want to attach
"springs" (well, flat bottom potentials) between the atoms in your
generated conformations and the corresponding atoms in a reference
conformation and calculate the energy of that system. Is that right?

If so, you can do this by generating a force field for the molecule with
your generated conformations, adding fixed points corresponding to your
reference conformation, and then adding distance contraints with the
appropriate min (I guess 0) and max values and reasonable force constants.
Subtracting the energy of the generated conformation from the energy of
this full system gives you the energy contributed by the constraints.

I can provide a bit of sample code showing how to do this, but I want to be
sure that this is actually what you're asking for.

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
Rdkit-discuss mailing list

Reply via email to