All the test shown above used all atoms in the target coonformation as feature atom. Although we do not show it here we also tested successfuly the cases where only some atoms were considered features. Unfortunately real molecules often have cycles which can be either rigid or contain some conformational flexibility. Our implementation can be easily extended to handle rigid cycles by approximating them with special atoms that show up in our tree implementation as normal atoms, but keep internal information of all the atoms that constitute the cycle. However, handling cases of flexible rings is a much harder problem and is beyond the scope of this project.
Conformational energy is calculated using an approximate function .
Determining the energies of molecular conformations can be carried out either by performing computationally expensive quantum mechanical ab initio calculations or using experimental force field expressions. Since the first method is not computationally feasible, we decided to use the second method. We opted for the third option and implemented an expression that only takes into account collisions between atoms. Our implementation can be extended to include a more accurate energy function by including the remaining energy terms. Handling restricted rotational freedom was not tested.