_Algorithms_**2009**, 2, 498-517; doi:10.3390/a2010498  
_Article_  
**A Novel Algorithm for Macromolecular Epitope Matching**  
**[PERSON] and [PERSON] \({}^{\star}\)**  
Department of Bioinformatics, Centre for Medical Biotechnology, University of Duisburg-Essen, Universitatsstrasse, 45117 Essen, Germany  
E-mails: [PERSON]ERSON]  
\({}^{\star}\) Author to whom correspondence should be addressed. _Received: 27 October 2008; in revised form: 11 January 2009 / Accepted: 25 February 2009 / Published: 11 March 2009_  
**Abstract:** Many macromolecules, namely proteins, show functional substructures or epitopes defined by characteristic spatial arrangements of groups of specific atoms or residues. The identification of such substructures in a set of macromolecular 3D-structures solves an important problem in molecular biology as it allows the assignment of functions to molecular moieties and thus opens the possibility of a mechanistic understanding of molecular function. We have devised an algorithm that models a functional epitope formed by a group of atoms or residues as set of points in cartesian space with associated functional properties. The algorithm searches for similar epitopes in a database of structures by an efficient multi-stage comparison of distance sets in the epitope and in the structures from the database. The search results in a list of optimal matches and corresponding optimal superpositions of query epitope and matching epitopes from the database. The algorithm is discussed against the background of related approaches, and it is successfully tested in three application scenarios: global match of two homologous proteins, search for an epitope on a homologous protein, and finding matching epitopes in a protein database. **Keywords:** molecular similarity; matching algorithms; epitopes; molecular sub-structures; maximum common subgraph. Introduction  
Biological macromolecules usually have specific three-dimensional sub-structures that allow them to exert their special functions (henceforth we will call these three-dimensional sub-structures \"epitopes\", a term that originally had been used for sub-structures recognized by antibodies). For instance, enzymes have binding pockets that fit the three-dimensional structures of their substrates or co-factors, proteins in signal transduction have characteristic surface patches fitting those of binding partners along the respective signal cascade, strands of DNA hybridize with structurally complementary strands, etc. Evolution has re-used many of these functions, and, consequently, we find the same or similar epitopes packed into different molecules. This fact can be exploited to address central problems in molecular biology; e.g. it is possible to use structurally characterized epitopes of known function on a certain molecular three-dimensional structure to search for similar epitopes on other molecules and in this way elucidate the function of the latter molecules. The quickly growing number of structures in the Protein Data Bank [1] and other molecular databases opens the possibility for this type of studies, but it also necessitates efficient search algorithms for finding similar epitopes. Another application that is of particular interest to us lies in protein engineering where the goal is to mutate proteins in such a way that they carry a particular functional epitope; in this case an algorithm for epitope matching and comparison can be used in a procedure for optimizing proteins by finding the best mutants [2]. These algorithms should solve a matching problem that can be described as finding sets of atoms in the database that, after optimal superposition, closely match the coordinates of atoms in the epitope, with each matching pair of atoms being of the same type. For instance, we may search for an epitope given by four atoms, namely three oxygen atoms in carboxylate groups with Cartesian coordinates \(\mathbf{o}_{1},\mathbf{o}_{2},\mathbf{o}_{3}\), respectively, and a calcium ion with Cartesian coordinates \(\mathbf{ca}\).