occurrences of these short motifs in sequences is as chal- lenging as that of discovering novel linear motifs and has also attracted as much attention in recent years (3,6,23–25). Though motifs are detected quickly in silico, validating these novel motifs and associating them with biological functions through experimental methods is expensive both ﬁnancially and in terms of person-hours. The CompariMotif method was recently proposed to identify and score similarities between linear motifs and provide a search facility to compare the newly discovered motifs with that in databases (5). Along with analysis of sequence motifs in a systematic way, exploring sequence motifs in known 3D structures greatly helps to understand how they mediate protein– protein or protein–ligand interactions (26–28). As the number of entries in structure databases increases at an astounding rate, it is greatly desirable to have an easy-to-use exploration tool in which researchers can quickly see the location and conformation of newly dis- covered motifs among a number of related structures. Several tools have been developed to tackle this issue, including Motif3D (29), 3MATRIX and 3MOTIF (30) and MSDmotif (28), though most of them do not allow the users specify their own sequence motifs or select appropriate structures for visualization conveniently. In this article, we present the service seeMotif, aimed at providing an easy-to-use web interface for visualizing and exploring sequence motifs in protein tertiary structures. Here a motif is deﬁned as a pattern or a set of patterns in regular expression form. Entry IDs of PROSITE and ELM databases are also allowed. One of the most distinct features of seeMotif is it accepts multiple motifs in diﬀer- ent styles simultaneously, providing an eﬃcient and eﬀec- tive way to compare motifs. Moreover, viewing motifs in tertiary structures reveals the spatial relations of individ- ual motifs, which provides more information about motif synergy than just considering overlapping relationships within sequences. By incorporating the structural data, seeMotif is capable of listing valuable information about sequence motifs, such as the proportion of surface residues and the distance to any ligands. As more and more struc- tures belonging to previously uncharacterized protein families become available, combining sequence and struc- ture information together gives good opportunities to facilitate understanding of protein functions in large- scale genome and proteome projects. METHODS seeMotif aims to provide a user-friendly environment for visualizing sequence motifs on 3D structures from the Protein Data Bank (PDB) (31). The visualizing procedures should be carefully handled in order to correctly present sequence motifs in protein structures. For long motifs, it is usually the case that none of the sequences from which the motifs are derived have had complete 3D structures experimentally determined. On the other hand, instances of short motifs are abundant in structure databases but many of them might simply happen by coincidence. In this Nucleic Acids Research, 2009, Vol. 37, Web Server issue W553 regard, looking for a potential set of PDB structures on which the sequence motifs can be correctly plotted would be the ﬁrst and the most important step in seeMotif. Conventional pattern matching techniques are not appro- priate in handling this issue, because long motifs often miss potential true positives while short motifs usually induce many false positives. Furthermore, some patterns cannot be perfectly matched on PDB chains, due to nat- ural or artiﬁcial position mutations or because of missing residues resulting from crystallography limitations. Therefore, seeMotif introduces two better ways for the structure selection procedure. In both ways, users are asked to specify a reference sequence that must match at least one of the motifs in the query. The ﬁrst method is a three-step ﬁltering procedure to identify potential occur- rences of motifs in the homologous structure chains of the reference sequence. The second method looks for potential structures through a pre-constructed interaction network built from protein complexes in PDB. The second approach is based on the assumption that proteins having the same binding partner might contain the same motifs. In the following, we ﬁrst describe how motifs are expressed and what motif blocks are. After that, the ﬁlter- ing constraints on block level are described, and ﬁnally the alternative procedures for structure selection are introduced. Motif expression Although there is no universal format for expressing sequence motifs, most motif databases and mining algo- rithms employ regular expression when describing pat- terns. Examples of POSIX (Portable Operating System Interface) regular expression are ‘P..P’, ‘L.C.E’ and ‘[RKY]..P..P’, where the symbol ‘.’ represents an arbitrary position. An uppercase letter matches the one-letter code of an amino acid deﬁned by the standard IUPAC (The International Union of Pure and Applied Chemistry), and a paired square bracket ‘[]’ matches a position where any letter in the bracket is accepted. For example: [STAIV] matches a position of Ser, Thr, Ala, Ile or Val. In seeMotif, the symbol ‘x’, which is widely used to rep- resent wildcard in biological convention, is treated the same as ‘.’. Another adopted form to present motifs is in PROSITE style. An example (PROSITE ID: PS00136, aspartic acid active site of serine proteases) is ‘[STAIV]- {ERDL}-[LIVMF]-[LIVM]-D-[DSTA]-G-[LIVMFC]- x(2,3)-[DNH]’. Here, a paired curly brackets ‘{}’ matches a position of any amino acid except for those letters denoted inside. For example: {ERDL} stands for any amino acid except Glu, Arg, Asp and Leu. The symbol ‘-’ is used to separate any two elements described above. A symbol followed by a brackets ‘()’ with one or two num- bers inside provide a succinct notation of repeated ele- ments. For example, x(3) equals to x-x-x; x(2,4) can be x-x, x-x-x or x-x-x-x; A(3) corresponds to A-A-A. Motif blocks A block is a sub-motif which contains no ﬂexible wildcard regions, such as x(2,3), and no wildcard regions longer than four, such as x(5). In other words, we aim to partition