Hi Katrina,
you may add multiple constraints, of the same (e.g., positional) or
different kinds. Each of them will result in an additional force field
contribution being added to your system. So you may, for example,
identify a group that you wish to constrain by a SMARTS pattern,
identify the relevant atom indices with GetSubstructMatch(), and add a
position constraint for each of them calling
ff.MMFFAddPositionConstraint() in a for loop.
Hope that helps,
p.
On 07/26/17 17:32, Katrina Lexa wrote:
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 (greg.land...@gmail.com
<mailto:greg.land...@gmail.com>) wrote:
Hi Katrina,
welcome to the RDKit community!
On Mon, Jul 24, 2017 at 10:45 PM, Katrina Lexa <kl...@umich.edu
<mailto:kl...@umich.edu>> 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.
-greg
------------------------------------------------------------------------------
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