Advanced Excel Technologies in Early Development Applications Brian Bissett Molecular Properties Group Pfizer Global Resea...
Presentation Overview <ul><li>Advantages/Disadvantages of Excel </li></ul><ul><ul><li>The Good, the Inadequate, the Aborte...
The Good <ul><li>Excel is Ubiquitous. </li></ul><ul><li>Excel can read a wide variety of File Formats. </li></ul><ul><li>E...
The Inadequate <ul><li>The “Object” model has “holes” in it. Especially with regard to the autocomplete feature. </li></ul...
The Aborted <ul><li>Memory Leaks in Excel necessitate numerous reboots of the Windows Operating System when doing intensiv...
What Tasks should be Automated with Excel? <ul><li>Data  </li></ul><ul><ul><li>Analysis </li></ul></ul><ul><ul><li>Extract...
Specifications – The Basics <ul><li>Inputs  </li></ul><ul><ul><li>Files </li></ul></ul><ul><ul><ul><li>Data Files from Mac...
ELogD Automated Analysis Macro - Requirements <ul><li>Load a comma delimited data file from an Agilent HPLC. </li></ul><ul...
ELogD Automated Analysis Macro GUI
A Sample ELogD Report – Columns Shown
A Sample ELogD Report – Columns Hidden
Kinetic Solubility Macro - Requirements <ul><li>Load in several comma delimited data files from a Labsystems Platereader. ...
Kinetic Solubility Assay Data Analysis GUI
Kinetic Solubility Data Report Worksheet
Stability Assay Macro - Requirements <ul><li>Load in several comma delimited data files from an ESA coul array instrument....
Stability Assay Graphical User Interface
Stability Assay Data Report
Developing Specifications <ul><li>Every Assay begins with an Idea. </li></ul><ul><li>The Idea is tested to check its valid...
Common Pitfall <ul><li>The macro meets the designed specification but it does not extract the parameters the user wanted. ...
The Basic Problem <ul><li>“ People by their nature tend to be flexible in interpreting data while algorithms tend to be ve...
Example <ul><li>Agreed upon specification: </li></ul><ul><li>Extract an Area Corresponding within  ± 1.0% of the given ret...
Rigid Window Limits <ul><li>If the “given” retention time is above 2.2275 and below 2.2725, then the area of 768 will be e...
The Problem with Rigid Window Limits <ul><li>But what happens when the given RT = 2.2265 or = 2.2735 ? </li></ul><ul><li>S...
The Classic Complaints <ul><li>“Your Macro doesn’t work.  I  would have extracted the area corresponding to Retention Time...
The Solution: Window Widening <ul><li>Rather than have a fixed window for a parameter to fall into, a field of ranges can ...
The Solution: Window Widening <ul><li>If the parameter cannot be found within the “Ideal” range then it would begin search...
The Solution: Window Widening i h h m m 1 2 3 Window Range
3   ’s and You’re Out. <ul><li>Outlier Removal </li></ul><ul><li>When analyzing multiple data series it is best to remove...
For the tasks Excel doesn’t Excel At. <ul><li>Excel like Lotus evolved as a “bean counting” application, not an applicatio...
Using DDE and OLE <ul><li>In addition to third party applications it is also possible to control another application remot...
DDE Example <ul><li>Here is an example in which Excel utilizes the Program Origin to Curve Fit some sample Data. </li></ul...
DDE Curve Fit in Origin Initiated from Excel <ul><li>http://www.originlab.com/ </li></ul>
More Information Available in My Textbook <ul><li>http://www.crcpress.com/ </li></ul><ul><li>http://www.pharmalabauto.com/...
Upcoming SlideShare
Loading in …5
×

Advanced Excel Technologies In Early Development Applications

904 views

Published on

Advanced Excel Technologies in Early Development Applications presented at ISLAR 2003. Introduction to Automated Data Analysis Using Excel.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
904
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Advanced Excel Technologies In Early Development Applications

  1. 1. Advanced Excel Technologies in Early Development Applications Brian Bissett Molecular Properties Group Pfizer Global Research & Development Groton CT
  2. 2. Presentation Overview <ul><li>Advantages/Disadvantages of Excel </li></ul><ul><ul><li>The Good, the Inadequate, the Aborted. </li></ul></ul><ul><li>Example Applications </li></ul><ul><ul><li>ELogD Assay </li></ul></ul><ul><ul><li>Solubility Assay </li></ul></ul><ul><ul><li>Stability Assay </li></ul></ul><ul><li>Proven Techniques </li></ul><ul><ul><li>Developing Specifications </li></ul></ul><ul><ul><li>Windowing </li></ul></ul><ul><ul><li>3  ’s and you’re out. </li></ul></ul><ul><ul><li>DDE, SendKeys, OLE </li></ul></ul><ul><li>Demos & Wrap Up </li></ul>
  3. 3. The Good <ul><li>Excel is Ubiquitous. </li></ul><ul><li>Excel can read a wide variety of File Formats. </li></ul><ul><li>Excel can write a wide variety of File Types (*.xls, *.csv, *.txt, etc.) </li></ul><ul><li>Excel can communicate with other applications through both DDE (although no longer “officially” supported.) and the more up to date OLE protocol. </li></ul><ul><li>Excel has the VBA macro language built in and has the most comprehensive “toolkit” of properties and methods available in the commercial spreadsheet market. </li></ul>
  4. 4. The Inadequate <ul><li>The “Object” model has “holes” in it. Especially with regard to the autocomplete feature. </li></ul><ul><li>Higher Math is a problem. </li></ul><ul><li>It Crashes (a lot). </li></ul><ul><li>Misbehavior. (Worse than Crashing) Properties and Methods which should be available suddenly no longer function. The Cure: Reboot Windows. </li></ul>
  5. 5. The Aborted <ul><li>Memory Leaks in Excel necessitate numerous reboots of the Windows Operating System when doing intensive development work. </li></ul>An example of one of the many instances when Excel self aborted its operation due to memory issues present in the application.
  6. 6. What Tasks should be Automated with Excel? <ul><li>Data </li></ul><ul><ul><li>Analysis </li></ul></ul><ul><ul><li>Extraction </li></ul></ul><ul><ul><li>Parsing </li></ul></ul><ul><ul><li>Reporting </li></ul></ul><ul><ul><li>Uploading </li></ul></ul><ul><li>Reports </li></ul><ul><li>Laboratory Notebook Entries </li></ul>
  7. 7. Specifications – The Basics <ul><li>Inputs </li></ul><ul><ul><li>Files </li></ul></ul><ul><ul><ul><li>Data Files from Machines </li></ul></ul></ul><ul><ul><ul><li>Files with Information from In-house. </li></ul></ul></ul><ul><ul><li>GUI </li></ul></ul><ul><li>Parameters to be Calculated </li></ul><ul><ul><li>What needs to be calculated. </li></ul></ul><ul><ul><li>Where do I get the information required to calculate it? </li></ul></ul><ul><li>Outputs </li></ul><ul><ul><li>Reports </li></ul></ul><ul><ul><li>Files </li></ul></ul><ul><ul><ul><li>Database Upload </li></ul></ul></ul><ul><ul><ul><li>Laboratory Notebooks </li></ul></ul></ul><ul><ul><ul><li>Reports </li></ul></ul></ul>
  8. 8. ELogD Automated Analysis Macro - Requirements <ul><li>Load a comma delimited data file from an Agilent HPLC. </li></ul><ul><li>Sort the data in the file. </li></ul><ul><li>Determine the largest peak in a data series. </li></ul><ul><li>Extract the retention time corresponding to the largest peak. </li></ul><ul><li>Perform some calculations (regression, formulas). </li></ul><ul><li>Prepare a Report. </li></ul><ul><li>Prepare an Uploadable file for the corporate database. </li></ul>
  9. 9. ELogD Automated Analysis Macro GUI
  10. 10. A Sample ELogD Report – Columns Shown
  11. 11. A Sample ELogD Report – Columns Hidden
  12. 12. Kinetic Solubility Macro - Requirements <ul><li>Load in several comma delimited data files from a Labsystems Platereader. </li></ul><ul><li>Load an Excel Spreadsheet which contains information from the Candidate Enhancement Group about the Compounds to be Assayed. </li></ul><ul><li>Average successive well readings and remove “outlier” values. </li></ul><ul><li>Determine wells where light scattering indicates compound has come out of solution </li></ul><ul><li>Determine Corresponding Solubility. </li></ul><ul><li>Prepare a Report. </li></ul><ul><li>Prepare an Uploadable file for the corporate database. </li></ul>
  13. 13. Kinetic Solubility Assay Data Analysis GUI
  14. 14. Kinetic Solubility Data Report Worksheet
  15. 15. Stability Assay Macro - Requirements <ul><li>Load in several comma delimited data files from an ESA coul array instrument. </li></ul><ul><li>Load an Excel Spreadsheet which contains information from the Candidate Enhancement Group about the Compounds to be Assayed. </li></ul><ul><li>Check for the presence of a UV signal for each sample. </li></ul><ul><li>Find Dominant Potentials (DP’s) and Potential Dominant Potentials (PDP’s). </li></ul><ul><li>Assign a Rank in terms of stability. </li></ul><ul><li>Prepare a Report. </li></ul><ul><li>Prepare an Uploadable file for the corporate database. </li></ul>
  16. 16. Stability Assay Graphical User Interface
  17. 17. Stability Assay Data Report
  18. 18. Developing Specifications <ul><li>Every Assay begins with an Idea. </li></ul><ul><li>The Idea is tested to check its validity. </li></ul><ul><li>If the Idea is feasible, it will go through a period of refinement until a process has been developed. </li></ul>
  19. 19. Common Pitfall <ul><li>The macro meets the designed specification but it does not extract the parameters the user wanted. </li></ul>
  20. 20. The Basic Problem <ul><li>“ People by their nature tend to be flexible in interpreting data while algorithms tend to be very rigid (by design) in analyzing data.” </li></ul>
  21. 21. Example <ul><li>Agreed upon specification: </li></ul><ul><li>Extract an Area Corresponding within ± 1.0% of the given retention time. </li></ul>Further suppose the 2 nd peak is the peak of interest. In this case with an ideal retention time of 2.25 and an area of 768.
  22. 22. Rigid Window Limits <ul><li>If the “given” retention time is above 2.2275 and below 2.2725, then the area of 768 will be extracted by the program. </li></ul><ul><li>Hence, a rigid window has been formed based on a value ± 1.0% of the ideal retention time. </li></ul>
  23. 23. The Problem with Rigid Window Limits <ul><li>But what happens when the given RT = 2.2265 or = 2.2735 ? </li></ul><ul><li>Since the RT falls outside the Rigid Window Limits, no Area will be extracted. </li></ul><ul><li>While this meets the specification, invariably a scientist will say what follows on the next slide to you. </li></ul>
  24. 24. The Classic Complaints <ul><li>“Your Macro doesn’t work. I would have extracted the area corresponding to Retention Time X.” </li></ul><ul><li>To the scientist it doesn’t matter that Retention Time X falls outside of the specified window, if that’s what he/she would have chosen, that’s what they expect to see. </li></ul><ul><li>Algorithms however don’t care what you want to see, they merely report that which falls within the given specifications or parameters. </li></ul>
  25. 25. The Solution: Window Widening <ul><li>Rather than have a fixed window for a parameter to fall into, a field of ranges can be set up for a parameter to fall within. If the parameter falls within any of the ranges it will be picked up. </li></ul><ul><li>An example of such ranges could be: </li></ul><ul><ul><li>Ideal </li></ul></ul><ul><ul><li>High </li></ul></ul><ul><ul><li>Max </li></ul></ul><ul><li>The program would first scan for the parameter to be extracted within the “Ideal” range. </li></ul>
  26. 26. The Solution: Window Widening <ul><li>If the parameter cannot be found within the “Ideal” range then it would begin searching for an appropriate parameter by Widening the Window. </li></ul><ul><li>A maximum window size must be set as well as a delta (or increment) for the window to be widened on each successive pass of the search. </li></ul><ul><li>Recursive calls are made to the searching subroutine widening the window on each successive pass by the corresponding delta. </li></ul><ul><li>The search is complete when a parameter is found to extract or the maximum window size is reached. </li></ul><ul><li>The extracted parameter can be color coded in the report to reflect the Range from which it was extracted. </li></ul>
  27. 27. The Solution: Window Widening i h h m m 1 2 3 Window Range
  28. 28. 3  ’s and You’re Out. <ul><li>Outlier Removal </li></ul><ul><li>When analyzing multiple data series it is best to remove outlier values, those greater than 3  ’s from the mean. This is an especially useful tool when analyzing solubility data (scattering). </li></ul>
  29. 29. For the tasks Excel doesn’t Excel At. <ul><li>Excel like Lotus evolved as a “bean counting” application, not an application for scientific development. </li></ul><ul><li>As Excel began to be utilized for scientific development, more and more add-in (or third party) applications became available to enhance Excel’s limited capabilities. </li></ul><ul><li>Some of the better third party products can be found at these links: </li></ul><ul><li>http://www.octavian.com/excel.html </li></ul><ul><li>http://www.add-ins.com/assistnt.htm </li></ul><ul><li>http://j-walk.com/ss/ </li></ul>
  30. 30. Using DDE and OLE <ul><li>In addition to third party applications it is also possible to control another application remotely by Excel if it supports DDE or OLE automation. </li></ul><ul><li>Utilizing a third party application is a must for tasks such as: </li></ul><ul><ul><li>Curve Fitting </li></ul></ul><ul><ul><li>Generating “Nice” Plots and Graphs </li></ul></ul><ul><ul><li>“Higher” Math, FFT’s, Matrices, Complex Numbers </li></ul></ul><ul><ul><li>Statistical Functions such as ANOVA </li></ul></ul><ul><ul><li>Linear Programming </li></ul></ul>
  31. 31. DDE Example <ul><li>Here is an example in which Excel utilizes the Program Origin to Curve Fit some sample Data. </li></ul>http://www.originlab.com/
  32. 32. DDE Curve Fit in Origin Initiated from Excel <ul><li>http://www.originlab.com/ </li></ul>
  33. 33. More Information Available in My Textbook <ul><li>http://www.crcpress.com/ </li></ul><ul><li>http://www.pharmalabauto.com/ </li></ul>

×