The Katchalski-Katzir algorithm is an algorithm for docking of rigid molecules, developed by Ephraim Katchalski/Katzir.
It is a purely geometric algorithm, but some extensions of it also implement electrostatics.
The algorithm's first step is mapping the molecules onto grids, with each point of a grid being marked as either:outside the molecule
on the molecule's surface
inside the molecule
The algorithm increases the surface contact and minimizes volume overlap. It is straightforward to compute such a score for a single alignment, but there are too many possible ways to align the molecules to simply iterate over them all.
To compute the scores for many alignments efficiently, fast Fourier transform (FFT) is applied to both grids. Having the grids in FFT form lets the scoring to be computed for many different alignments very quickly.
The Katchalski-Katzir algorithm is a fast but rather limited algorithm. It is usually used to quickly filter out the obviously wrong candidate structures. A structure may have good Katchalski-Katzir score (that is, fits well geometrically), but be a very bad fit overall, for example due to unfavourable electrostatic interactions or hydrophobic and hydrophilic groups facing each other. This is not a serious problem, as such structures can be filtered out later. A bigger issue is when a favourable structure is rejected by the algorithm. Some cases where this may happen include bad geometric fit being overcome by very strong attractive forces, or where the shape of the target changes because of the interactions (induced fit).
A program that implements the Katchalski-Katzir algorithm is FTDock.