Class ConformerGenerator


  • public class ConformerGenerator
    extends java.lang.Object
    This class generates 3D-conformers of a given molecule using the following strategy:
  • All rotatable, non-ring bonds are determined.
  • Fragments separated by rotatable bonds are considered rigid, but there may be more than one possible fragment conformer, e.g. chair- and boat conformers of a saturated 6-membered ring.
  • These atom coordinate sets of rigid fragments are handed out by a dedicated RigidFragmentProvider instance, which either generates them using a self organization algorithm, or which takes it from a cache.
  • For every rotatable bond a list of preferred torsion angles is determined based on from a COD statistics of similar bond environments.
  • For individual torsion values likelihoods are estimated based on frequency and atom collisions of vicinal fragments.
  • A dedicated (systematic, biased or random) torsion set strategy delivers collision-free torsion sets, i.e. conformers.

    For generating conformers in multiple threads, every thread needs its own ConformerGenerator instance. If they use a RigidFragmentCache, then the cache is shared among all ConformerGenerators.