How do I figure out how many monomer configurations I need for my simulation?

I am running a quantum mechanical simulation on Psi4 for a certain number of monomers to generate data for a database. Some of these monomers are short, while some are long.

At the moment, I am generating .pdb files for these monomers using their SMILES string, and using OpenBabel's genetic algorithm to generate possible optimal conformers to use for my simulation.

Now obviously, if I could, I would generate as many conformers as possible for my monomers and throw them in Psi4 to generate all-encompassing data for them. However, since these computations are expensive, I can't do that and I have to budget my computational resources.

My idea is that the smaller monomers would require a smaller number of conformers to accurately depict their properties (50-100), while the larger monomers, having more degrees of freedom , would need more conformers to depict their properties.

I want to figure out a way to ballpark how many conformers do I need to evaluate for each monomer. How would you go about finding an estimate?

For example, say you had something small, like isoprene, and something larger, like benzyl methacrylate. How many conformers would you make for each of them? Is there a combinatorial argument you can make regarding torsional strains (or something) that you can use to get an estimate?

Any advice you have would be appreciated.

• I see that you also posted this exact question on chemistry where I answered. IMHO, I don't think you should post duplicate questions... Jan 6 at 15:12
• Oh okay, I will make sure not to do this. Thank you for the notice @GeoffHutchison Jan 6 at 15:51
• No worries - I understand since there’s overlap in the sites, but it saves time if it’s only in one spot. Thanks for a good question Jan 6 at 16:11

tldr; it depends on flexibility / number of rotatable bonds

A while ago, I answered a related question - in general, molecules with fewer "rotatable bonds" need fewer conformers geometries generated to sample properly.

Based on that, I would normally have said "50 is more than enough for up to 3-4 rotatable bonds" and beyond that, I'd guess somewhere around 250-500 depending on molecule size. (It's hard to do an exhaustive search for 20 rotatable bonds.. in principal, the rough rule-of-thumb has been $$3^n$$ or ~3.5 billion possible conformers.)

More recently, we published a preprint after studying over 120,000 small molecules and ~12 million conformers.

While the number of possible conformers goes up exponentially with the number of rotatable bonds, we find (using the approximate density functional GFN2 method) that the number of low-energy conformers goes up much more slowly -- roughly quadratically with the number of rotatable bonds. So you'd probably be okay with ~500-1000 conformers for 20 rotatable bonds. (Much better!)

My suggestion - and what we're doing in the group now, is to generate a 3D geometry of your molecule. (Open Babel works fine. RDKit works fine. Avogadro works fine. No bias here.)

Then you should likely do a conformer search using some type of quantum method. Our recent paper shows that GFN2 (or ANI-2x) have fairly good correlations with quantum methods.

The Grimme group has made CREST and XTB open source and they're quite easy to use. We're working on more efficient methods, but with CREST, you'll get a file with all conformer geometries within 6 kcal/mol of the minimum.

You can then use those conformers for further calculations.

As other people have mentioned, it may depend on how much your properties vary with conformer geometry. But this approach ensures a fairly robust, arguably exhaustive search with GFN2 (better than a force field).

• We're working on faster Bayesian methods to sample conformers, but nothing as polished as CREST yet. Jan 6 at 18:36
• @megamence - good luck. Email me if you have questions - obviously there's some overlap in research interests and we're always happy to collaborate. Jan 7 at 16:32

At a rough guess you can assume that the number of conformers you need to generate (N_conf) is directly proportional to the number of rotatable bonds (N_rot) in a given compound. I seem to recall that this number (of rotatable bonds) is something you can easily calculate, e.g., with openbabel. So the number of conformers you request for a given compound would be

N_conf = c * N_rot

What you use for the constant c depends on your application, i.e., how dense a sampling of configurational space you want/need to perform, but for most applications I'd guess a value of n somewhere between 10 and 20 should be enough.

Also, I seem to recall that, with default options, the algorithms used by openbabel automatically restrict the total number of generated conformers to something reasonable. If, for example you ask it to generate 1000 conformers for a small/rigid compound like benzene it will only give you a much smaller number than that.

hope that helps!

• Well, if you ask Open Babel to generate 1000 conformers for benzene, you'll only get one thing back.. but it'll take a while for it to generate 1000 identical conformers. Jan 6 at 15:15