Title: Pharmacophore Searching with OEChem
1Pharmacophore Searchingwith OEChem
- Greg Bakken
- Pfizer Global Research and Development
- Groton, CT
- February 22, 2005
2In-house Algorithm Why Bother?
- Pharmacophore searching is routinely done (in
Groton) - Commercial algorithms not perfect
- Speed, quality of hits, reproducibility
- Consistency between pharmacophore searching and
docking
3Why OEChem?
- Easy to use with OMEGA databases (and pretty much
any other file format) - Well-documented API
- Available on multiple platforms
- Perpetual license
4Project History
PVM
General use
Ability to launch from Sybyl GUI
Switch to c gt speed
Rule-of-5 type filtering
Design of initial implementation in python
Development of second searching algorithm
Small-scale testing of initial c implementation
5Pharmacophore Searching Help
6Major Features
- Filter by rule-of-5 type properties
- Rigid pharmacophore searching using
- RMS-based constraints for each feature
- Single RMS-base constraint for query
- Supports five general feature types
- Donor, acceptor, hydrophobe, basic N, negative
center - And, anything user defines with smarts
7Required Input Parameters
- Query format
- Text file defining query
- .mol2 file containing pharmacophore
- Database(s) to search
- Output type
- List of IDs of compounds that hit
- Single conformer structure file
- Multi-conformer structure file
8Optional Input Parameters
- Feature definition file (smarts)
- Rule-of-5 type parameters
- PVM configuration
- List of IDs for searching
9Two Searching Algorithms
Feature-based constraints
Query-based constraints
Query RMS 1.0
10Parallel Implementation
- Master
- Initialize slaves with query and other parameters
- Pass molecules to slaves as strings
- Receive output from slaves and write to file
- Slaves
- Receive molecules from master
- Perform pharmacophore search
- Rule-of-5 filter
- Count feature types
- Three-dimensional search
- Send output (id, conformer(s)) to master
11Parallel Performance
Passing molecules as strings
12Parallel Performance
- FRED, OMEGA, ROCS and PVM
- Send and receive molecules as strings
- Each conformer processed
- Multi-processor advantage
- Pharmacophore searching and PVM
- Send and receive molecules as strings
- Molecule may fail before conformers processed
- Multi-processor disadvantage
13Parallel Implementation
- Master
- Initialize slaves with query and other parameters
- Pass molecules to slaves as strings
- Receive output from slaves and write to file
- Slaves
- Receive molecules from master
- Perform pharmacophore search
- Rule-of-5 filter
- Count feature types
- Three-dimensional search
- Send output (id, conformer(s)) to master
14Parallel Implementation
- Master
- Initialize slaves with query and other parameters
- Pass molecule counter to slaves (integer)
- Receive output from slaves and write to file
- Slaves
- Receive molecule counter from master
- Iterate to appropriate place in database
- Perform pharmacophore search
- Rule-of-5 filter
- Count feature types
- Three-dimensional search
- Send output (id, conformer(s)) to master
15Passing Molecule Counter
Passing molecule counter
Disadvantage Each processor has to iterate over
the database
16UTII Literature Pharmacophore
17Search Performance Using PVM
Analysis of Parallel Performance 5000 compounds
18Search Performance Using PVM
Analysis of Parallel Performance 25000 compounds
19Search Performance Using PVM
Analysis of Parallel Performance 1.95 million
compounds
20UTII P3DS Results
- 1,953,384 compounds searched
- 96,341 hits (4.9 hit rate)
- Search on 32 processors
- Time to read file 11906
- Time to perform search 5155
- Total time 21101
21UTII UNITY Results
- 1,059,455 compounds searched
- 175,055 (16.5 hit rate)
- Search on 32 processors
- 30s per structure
- Max. of 20 rotatable bonds
- 3 starting conformations
- Total time 7 hours
22Comparison of Results
- P3DS time 21101
- UNITY time 7 hours
- Number of compounds hit
- Common 59,552
- P3DS
- 96,341 total
- 36,789 unique
- UNITY
- 175,055 total
- 115,503 unique
23Future Directions
- More efficient molecule passing
- Index databases
- Read database without creating molecules
- Addition of more feature types/partial match
- Incorporation of shape match as scoring function
- Development of UI
Prototype available
24Acknowledgements