
\subsection*{Shape Representation}

A molecular shape in FOMS is a discretized solvent-excluded volume that is calculated from the heavy atoms of a molecular conformation using a water probe with radius 1.4{\AA}.  The volume is discretized into 0.5{\AA$^3$} voxels (three dimensional pixels) and stored as an oct-tree, an efficient data structure for representing volumetric data \cite{Zhang2009}.  Most oct-tree operations take time proportional to the surface area of a shape ($\approx n^2$) instead of the volume ($\approx n^3$). An example of a voxelized shape is shown in Figure~\ref{voxelshape}.
The grid coordinates of a molecular shape are all computed relative to the identified anchor fragment which is aligned to the axes at the origin.  If a molecule contains multiple instances of an anchor fragment or if there are inherent symmetries in the fragment, then a distinct voxelized shape is generated for every valid alignment of the fragment(s).
For example, a fragment consisting of ring with a single exit vector will map to four distinct alignments on a ligand that contains a ring with two exit vectors.
We grow/shrink molecular shapes by adding/removing the appropriate number of surface voxels.




