Cottrell Consulting, Inc. is a contract consultant to the Leads Discovery Group at Wilmington, Delaware-based DuPont Pharmaceuticals, a wholly owned independent subsidiary of DuPont. DuPont Pharmaceuticals is a worldwide business that focuses on research, development and delivery of pharmaceuticals to treat unmet medical needs in the fights against HIV, cardiovascular disease, central nervous system disorders, cancer and inflammatory diseases.

As a member of the Leads Discovery Group, Cottrell's responsibilities include technical support for a large-volume Oracle database that houses biological results from high-throughput screenings. In addition to managing the Leads Discovery research database, Cottrell Consulting assists DuPont Pharmaceutical scientists by developing statistical applications for analyzing research data.


In pharmaceutical drug development, high-throughput screening quickly identifies compounds that serve as potential drug candidates. This activity requires rapid processing of large volumes of data. To facilitate correct business decisions, it is critical for effective analysis tools to be in place to quickly and accurately summarize the research data.

One method for performing the required statistical analyses is to have an analyst work offline, generating the statistical reports in batch mode. Batch mode involves modifying a script to retrieve the appropriate data from the Oracle database and then executing the relevant analysis package on the desktop. With Oracle8, however, an external procedure option was made available that makes it possible to execute C language programs by Oracle on the Oracle server. Immediately, it was recognized that by calling a third-party mathematical and statistical library directly into Oracle, it would be possible to perform advanced data analysis in real time and in place on the Oracle server.

The team assembled to attack this problem included a person from the Oracle database administration group, a UNIX administrator and the statistical programmer from the research group. It was determined that the external statistical library would have to be available for a UNIX-based Sun Microsystems server, which is where the Oracle database resided. In addition, the library needed to be written in C, because this is the only language with which the Oracle external procedure option currently functions. After a thorough search of commercially available libraries, we selected the IMSL C Numerical Library from Visual Numerics, Inc. because it met all of our requirements. Once identified and purchased, the IMSL Library was installed by the UNIX administrator. The Oracle DBA and the statistical programmer then collaborated to extend the functionality of the Oracle external procedure option to call the external IMSL library.

The risks associated with the strategy were minimal since new tools were being added, not replaced. The biggest challenge was that no Oracle documentation was found that addressed the possibility of calling the IMSL Library from Oracle. Simply put, we were not certain that the task could be accomplished because the attempt was being made to extend Oracle's functionality beyond what was formally documented. We concluded, however, that the rewards, if successful, would far outweigh the risks (i.e., cost of manpower and technology purchases).

Practical Advice

It's imperative that internal politics do not become a roadblock to implementing the right solution. Good working relationships between different groups in an IT organization and a common goal are mandatory if a new BI solution is to be developed, implemented and maintained. This is best accomplished by soliciting everyone's opinion and getting everyone's buy-in before the project begins. In addition, you need to work with a strong vendor/partner such as Visual Numerics ­ one that provides high levels of technical support, one that understands the complexities of integrating different technologies and one that shares your vision for the BI solution being developed.


Once communication between Oracle and the IMSL C Numerical Library was established, the benefits were immediate. Analytical results previously unachievable now became available in real time, greatly enhancing the decision-making process. Now that it is possible to perform statistical tests on virtually any portion of the Oracle database, we are able to more quickly identify sources of excessive variability. The early identification and remediation of sources of high variability result in significant cost savings to a large research effort. In the bigger picture, the discovery of the Oracle external procedure option and the successful integration of the IMSL Library into Oracle opens up an unlimited set of opportunities for developing leading-edge analysis tools. Although executing analysis programming in Oracle is efficient and the Oracle statistical toolset provides solid functionality, it covers only basic statistical techniques. The IMSL C Numerical Library offers additional, more complex functionality. By using the IMSL Library to extend Oracle's capabilities, more robust statistical analyses are possible. Because of our successful implementation, we now get the best of both worlds ­ the leading database and the premier numerical analysis library.

IMSL C Numerical Library from Visual Numerics, Inc. is a collection of more than 300 mathematical and statistical analysis functions written in C that programmers can embed directly into their numerical analysis applications. The Library's platform-optimized functions are the most accurate and reliable on the market. The primary benefit of using the Library is an acceleration of application development and the corresponding savings in time and money.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access