## Introduction

It has been recently demonstrated that combinatorial/computational methods are quite robust to answer fundamental chemical questions. For example, a method has been developed to find the most stable tautomers,1, 2 and the TauTGen code constructs a library of tautomers of a molecular frame built of heavy atoms and hydrogens. Likewise, the ConGENER code3 constructs a library of substitution isomers (or the so-called congeners) of a molecule.

The conformational space of a molecule is spanned by all its internal rotational bonds.4 Each combination of internal rotational bonds gives birth to an individual conformation, whereas every conformation has its own, in general different, electronic energy, which corresponds to a point on the potential energy surface. According to the theory of statistical thermodynamics,5 conformations with lower electronic energies have more favorable Boltzmann factors, and they dominate the distribution of conformers. At the same time, only significantly populated conformers contribute to molecular properties measured in experiments. Therefore, to obtain relevant information about a molecule from a theoretical study, one needs to find the low-energy conformations, as they determine its physicochemical properties.

The potential energy surface of a molecule is characterized by many local minima and one global minimum, and the goal of the conformational search would be to find the global minimum structure as well as the most stable local minimum structures. There are stochastic search methods, such as the simulated annealing,6 Monte-Carlo, and basin-hopping methods,7, 8 which could explore the potential energy surface in an efficient way. However, one never knows for sure that the global minimum has been found by a stochastic search method.8 The systematic search method, in which one systematically explores the whole conformational space, is the most reliable approach, the accuracy of which is only restricted by the accuracy of the theoretical method used and the accuracy of sampling of rotational degrees of freedom. To perform a systematic search, one would need to generate a library of all reasonable conformers, which are obtained through systematic rotations of molecular fragments by discrete increments. This conceptually straightforward task quickly becomes very time consuming, if one does it manually. It would be much more advantageous to develop a tool, which could generate conformers automatically. Indeed, there are tools which are capable of doing this.9, 10 However, the research community would benefit from a well-documented tool, with the source code available in the public domain, so one could modify it for special applications.

The systematic generation of conformations could be done in either the internal coordinates, which are usually written in the *Z*-matrix format,4 or the Cartesian coordinates. A few algorithms have been suggested for generation of conformers of a molecule, such as OMEGA,9 and CAESAR,10 both of which generate conformers in such a way that a molecule is divided into smaller fragments, and then all these fragments, which might have different conformations, are reassembled to form new conformers of a molecule. Such approaches are efficient because of adoption of conformations of the fragments. However, these are not full systematic searches, and these methods might miss some conformers, which could not be assembled from the most stable conformations of each fragment. In practice, these methods use force fields for screening at intermediate stages, which limits accuracy of the procedure.

To generate a new conformation, one would need to change dihedral angles. Different schemes have been developed for the purpose of updating dihedral angles, including simple rotations, which is based on a global reference-frame,11 the Denavit–Hartenberg local frames,12 and the atom-group local frames.13 Zhang and Kavraki13 compared these three methods, and they concluded that their atom-group local frames are superior to the first two, because their method eliminates book-keeping and error accumulation and provides complete inheritance of rotation matrices. Later on, Choi11 improved the efficiency of the simple rotations method by using a series of consecutive operations, including translations and rotations, to update dihedral angles, and she concluded that the improved simple rotations are as efficient as the atom-group local frames.

Because of the inherent nature of *Z*-matrix coordinates, in which the definition of coordinates of one atom depends on coordinates of another atom that has already been defined, a systematic generation of conformations based on *Z*-Matrix coordinates encounters problems. An example, which clearly shows the problem when using *Z*-Matrix coordinates to update a dihedral angle and create new conformers, is given below. In this example, an intuitively obvious *Z*-matrix is given for a conformer of the canonical tautomer of glycine (See Figure 1 for the *Z*-matrix and for the atomic labels).

If one wants to generate a new conformer of glycine by updating dihedral angles defined by a rotational bond between atoms 1 and 2, one has three choices, because there are three dihedral angles defined by this rotational bond: “dih5”, “dih7”, and “dih8”. Supposing the initial geometry has a *C*_{s} symmetry, the dihedral angles “dih7” and “dih8” are equivalent. For this reason, only “dih5” and “dih7” are considered here. If one changes these two dihedral angles by a certain amount (e.g. −60° or +60°), one produces several new conformers, and two of them are shown in Figure 1. One can see that both trial structures are chemically meaningless. For example, in the first case, we updated “dih5” by −60°, in which only the positions of atoms 5, 6, and 9 were changed, and it creates a short contact between atoms 5 and 7 and an improper hybridization of atom 1. This is exactly what happens when one manipulates the glycine molecules using this *Z*-matrix and the commonly used and publically accessible pre- and post-processing program Molden.14 The problem could be alleviated if atoms 7 and 8 were rotated together with atoms 5, 6, and 9, but it requires special attention from a computational chemist. Alternately, one can reorder atoms in the coordinate file to avoid this clash, but the approach would require different ordering of atoms for rotations along different dihedral angles. For glycine, this problem is straightforward to resolve, but it becomes serious and difficult to handle in systems, which have many large side chains. A decisive solution of this problem would be to perform a concerted rotation of all fragments that are connected to the chemical bond under consideration. This approach will be outlined in the next section.