## An Efficient Algorithm For The Determination Of Topological RS ChiralityP. LabuteChemical Computing Group Inc.1010 Sherbrooke Street W, Suite 910; Montreal, Quebec; Canada H3A 2R7.
## INTRODUCTIONDetermination of chiral centers and labeling by the RS system as proposed by Cohen, Ingold and Prelog is important in computational chemistry for a number of reasons. Aside the usual uses of nomenclature, specification of chiral constraints during energy minimization and detection of symmetries, proper labeling of chirality is extremely useful for 2D renderings of conformations. A number of algorithms have been proposed. Many are incorrect or do not correspond to the CIP system. Others are computationally expensive. We present an efficient algorithm for the assignment of CIP
priorities to every atom in a molecule. This information can then
be used to assign R, S, ## METHODThe objective of the algorithm is to assign a priority,
The algorithm proceeds as follows: - For each atom
*i*, set*p*(*i*) equal to the atomic number of atom*i*. Set the initial partition to be an ordered list of classes (*C*_{1},…,*C*) such that for each atom_{k}*i*in class*C*and each atom_{r}*j*in class*C*we have (i)_{s}*p*(*i*)<*p*(*j*) iff*r*<*s*; and (ii)*p*(*i*)=*p*(*j*) iff*r*=*s*. - For each atom
*i*set*s*(*i*)=*abc…z*to be an ordered list of neighboring*p*(*j*) numbers in decreasing order accounting for bond multiplicities with repeated values (i.e., if atom*i*is double bonded to an atom with priority*p*, then put*p*in the list twice). - For each class
*C*, partition the atoms in the class into ordered subclasses (_{r}*S*_{1},…,*S*) such that for each atom_{k}*i*in subclass*S*and each atom_{r}*j*in subclass*S*we have (i)_{s}*s*(*i*)<*s*(*j*) iff*r*<*s*; and (ii)*s*(*i*)=*s*(*j*) iff*r*=*s*. (Note, the*s*(*i*) strings are compared lexicographically.) - If every class was partitioned into only one subclass then
terminate with
*p*(*i*) as the priority of atom*i*. - Form a new partition of all the atoms by concatenating all of the computed subclasses of all of the classes (in the same sequence as the original classes).
- For each class
*C*and for each atom_{r}*i*in*C*set_{r}*p*(*i*) to*r*and go to Step 3.
The partitioning steps can be effected with sorting and since
all other steps require linear time, we have that each iteration of
the algorithm requires Once CIP priorities have been assigned to every atom in a
molecule it is a simple matter to order the neighbors of each atom
and compute the appropriate signed volume tests on the atomic
coordinates to make topological R, S, Once the basic chiral assignments have been made, the classes can be further partitioned taking the initial assignment into account. This process will create new chiral centers based on the chirality of the branches. ## DISCUSSIONThe RS system uses bond orders which, from a computational standpoint, is unfortunate since (i) a particular resonance structure must be chosen; (ii) the "phantom" atoms, although easy to deal with, are an unnecessary complication. As an alternative we propose the following system. The algorithm to compute assignments is the same as the one presented except for the initial assignment of priorities. With CIP priorities, the initial string is made up of the neighboring atomic numbers taking multiplicities into account. The new system need only replace the initial priority assignment of atomic number with a code taking into account further properties. Initially each atom is assigned a code of the following form: a128+s)8+bwhere d=3, ^{2}sp^{3}dsp=2,
^{3}sp=1, and the ground state being coded as 0.^{3}This system has the advantage that the hybridization state is invariant under resonance, is easy to detect, assignable in the absence of hydrogens, and will still be close to the original CIP priorities. |