The Human Genome Project and similar efforts have resulted in the identification of an abundance of novel proteins. There is a need to expedite the process of assigning function to novel proteins. Nuclear magnetic resonance (NMR) spectroscopy can be used to infer a general biological function for a protein of unknown function by identifying compounds that preferentially bind the protein and comparing these results against proteins with defined structure and function. The Functional NMR screen generates hundreds of data sets and a manual analysis of these data sets is laborious and time-consuming. It is hypothesized that several sub-tasks of the Functional NMR can be automated successfully using an integrated database and data analysis system. Our database system integrates NMR data collection, processing, analysis, and data archiving into a unified user interface. An NMR spectra comparison algorithm is designed and implemented to compare NMR data in the presence and absence of a protein to ascertain if any compound-protein binding occurred.