Two structure-based potentials are used for both filtering (i.e., selecting a subset of conformations generated by rigid-body docking), and rescoring and ranking the selected conformations. ACP (atomic contact potential) is an atom-level extension of the Miyazawa–Jernigan potential parameterized on protein structures, whereas RPScore (residue pair potential score) is a residue-level potential, based on interactions in protein–protein complexes. These potentials are combined with other energy terms and applied to 13 sets of protein decoys, as well as to the results of docking 10 pairs of unbound proteins. For both potentials, the ability to discriminate between near-native and non-native docked structures is substantially improved by refining the structures and by adding a van der Waals energy term. It is observed that ACP and RPScore complement each other in a number of ways (e.g., although RPScore yields more hits than ACP, mainly as a result of its better performance for charged complexes, ACP usually ranks the near-native complexes better). As a general solution to the protein-docking problem, we have found that the best discrimination strategies combine either an RPScore filter with an ACP-based scoring function, or an ACP-based filter with an RPScore-based scoring function. Thus, ACP and RPScore capture complementary structural information, and combining them in a multistage postprocessing protocol provides substantially better discrimination than the use of the same potential for both filtering and ranking the docked conformations. Proteins 2003. © 2003 Wiley-Liss, Inc.