Despite the importance of motif-based searches, this task is not widely addressed (11,12). Another web server, TOPS, aims to ﬁnd topology matches directly based on the user deﬁned structure pattern (13). However, TOPS does not take into account other important spatial proper- ties of motifs, such as interactions and chirality. The only other similar web servers are SSM (14) and TableauSearch (15). Although SSM is based on the secondary structure matching, it is a structure similarity search rather than a pattern search program. We compared the performance of ProSMoS, TOPS and SSM previously (9), and the results indicate that our method ﬁnds more matches than other two programs. The detection of potentially similar, but at the same time quite distant structures is important in a structure classiﬁcation project, which should not miss meaningful hits. TableauSearch devel- oped by the Lesk group is a web server that ﬁnds proteins with similar folding patterns. TableauSearch represents the interaction and topology information between SSEs by tableau representation. Several methods were attempted to compare a query structure against tableaux databases, such as Tableau hashing for searching identical and closely-related folding patterns and the quadratic inte- ger programming and integer linear programming for extracting maximally-similar subtableaux. The practical rapid method they developed is TableauSearch, which implements dynamic programming to compare SSE strings of two proteins based on a derived scoring function (15,16). Presently (February 2009), TableauSearch is still under maintenance, and is not available. The authors of TableauSearch described its comparison with ProSMoS using the example of beta-grasp motif (15). TableauSearch did not recognize some very distant beta-grasp containing proteins found by ProSMoS. Moreover, the query of TableauSearch is a protein structure not a user-deﬁned pattern as in ProSMoS. Therefore, ProSMoS server is dif- ferent from all other servers: it ﬁnds exact structure pat- terns in proteins while not being very sensitive to the details of packing and orientation of SSEs, thus detecting very distant possible connections between protein struc- tures. We hope that ProSMoS server will be helpful for structural and computational biologists who are interested in 3D motif searches and would like to analyze very gen- eral and distant structural similarities. PROCESSING METHOD Secondary structure element delineation We pre-process each structure in PDB and SCOP data- bases to generate SSEs. We use PALSSE (17) to deﬁne SSEs. PALSSE is robust to coordinate errors and struc- tural deviations, thus giving longer SSEs and better resi- due coverage for inclusion in SSEs. The assignment of SSE by PALSSE covers an average of 85% of the protein chain and is in agreement with the expert judgment (17). We consider only three secondary structures: helix (H), which includes all types of helices (a, 310, p), b-strand (E) and Linker (L) deﬁned as a stretch of a polypeptide chain between two consecutive parallel b-strands if there are no H and E elements between them. Nucleic Acids Research, 2009, Vol. 37, Web Server issue W527 Meta-matrix construction For each protein in PDB or SCOP, we convert the 3D structure into a 2D matrix. The interactions between SSEs are deﬁned in the upper triangle of a (symmetric) matrix (Figure 1). Each SSE is represented by a vector (9,18), and interaction types between SSEs are computed. We deﬁne six interaction types: c, t, u, v, N and –. Symbols c and t denote hydrogen-bonded parallel and antiparallel b-strands, respectively. In contrast, the interaction type between non-hydrogen-bonded b-strands in the same b-sheet is recorded as symbol–(no interaction), even if some side-chains in non-H-bonded b-strands in the same sheet may come close to each other. This is an idealization having its goal to treat b-sheets as 2D rather than 3D objects. For all other SSE pairs, we use distance and over- lap between the two elements to determine existence of an interaction. Here, the distance is deﬁned as the shortest distance between Ca on the two elements (default <11 A˚) and the overlap is deﬁned as the intersection of projections of the two vectors representing SSEs on the line passing through the midpoint of vectors’ starts and the midpoints of vectors’ ends (default >2.5 A˚ ) (9). If the distance and overlap criteria are met (distance <11 A˚ , overlap >2.5 A˚ ), the angle ’ between SSE vectors is calculated leading to three interaction types: symbols u, v and N stand for the presence of interaction with 0 ’ < 858, 958 ’ < 1808, and 858 ’ < 958, respectively. Otherwise, the absence of interaction is recorded as –. These matrices are stored as a database for the ProSMoS server. In order to have a more ﬂexible representation for a query pattern, we introduce four more interaction types: X, which matches all six symbols of the database meta- matrix, and x, which matches ﬁve symbols with no inter- action (–) being a mismatch. T and C match {v,t} and {u,c}, respectively. Other than interactions, handedness is a major structure constraint in proteins. Handedness for each triplet of SSEs can be deﬁned with the following symbols: R, right; L, left and N, no handedness (planar arrangement). Users can additionally specify which strands should or should not be in the same b-sheet, and deﬁne the length ranges for each SSE. Handedness, sheet information and length restrictions together with the inter- action matrix constitute a query meta-matrix. Database search and ranking of hits ProSMoS searches all proteins of the target database for user-deﬁned structure pattern, i.e. query meta-matrix, which has m SSEs. ProSMoS searches for query within a protein structure represented as a meta-matrix. SSEs (1, . . ., m) of the query are matched to the SSEs of the structure that form a strictly increasing subsequence, and consecutive SSEs in a motif hit need not have consec- utive index numbers in the structure but are in increasing order. The extraction of subsequence, i.e. path ﬁnding, is implemented by our forward sequence enumeration with pruning algorithm. We deﬁne a forward sequence as a strictly increasing sequence of SSEs in a given protein structure and its length is deﬁned as the number of SSEs in the sequence. In our algorithm, for all SSEs in a given chain that match the ﬁrst SSE (in type and length) of