Development of NMR ORACLE Spectral Database (NOS)
Presently, the Montellione lab is working to automate the process of NMR analysis. Automated NMR analysis techniques will play an essential role in the field of structural genomics. As a member of the Northeast Structural Genomics Consortium the Montellione lab will be working to solve protein structures for a representative of every protein family in the human genome. As one can image a project of this magnitude will generate an enormous amount of spectral data. My project was to design and implement a database to store the labs spectral data.
The NMR Oracle Spectral database (NOS) was developed using ORACLE 8i on a Linux platform. The primary job of the database is to track NMR spectral files as well as related experimental data. One of the main concerns was whether the database was capable of holding the large amount of information it was anticipated to hold. Due to this concern it was decided to store spectral files within the file system. In order to organize the directory structure a dynamic directory creation and file migration system was implemented. NOS is unique in that it creates directories on the fly within the file system which correspond to the correct NMR file. The program then physically moves the file from directory it was uploaded to the corresponding directory which was just created. This allows users to access data either by querying the database or by simply searching through a logically created directory structure. The dynamic directory creation and file migration is coded in java programs which are called from ORACLE after being "wrapped" in PL/SQL.
NOS features a fully web based user interface which can be accessed at http://broccoli.cabm.Rutgers.edu/WebDB/menu_nmr.show. The interface allows one to enter new spectral data or query the database for existing datasets. The complexity of data entry is removed by the implementation of "wizards" which guide the user through the proper sequence of forms. NOS features two wizards, the Raw FID data insertion wizard and the Associated FID file insertion wizard. Every table in the database is able to be queried and makes use of relational operators. For example, users can search for particular experiments conducted at specific temperatures.
Lastly, users can search the procpar variable values for their
corresponding FIDs. The procpar file is parsed by a PERL program
which makes use of the DBI module to connect to the database and insert
procpar variables as well as their values. In order to call the PERL
program from within ORACLE it is instantiated from a java program "wrapped"
in PL/SQL which makes a LINUX system call.
Future directions of NOS include removing the need for user interaction by fully automating data insertion. Eventually a user will be able to give a directory where their spectral data resides and the database will be "smart" enough to deduce what type of files are in the directory and place them in the appropriate place.