Upload
kiri
View
23
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Building a Chemical Informatics Grid. Marlon Pierce Community Grids Laboratory Indiana University. Acknowledgments. CICC researchers and developers who contributed to this presentation: - PowerPoint PPT Presentation
Citation preview
Building a Chemical Informatics Grid
Marlon Pierce
Community Grids Laboratory
Indiana University
Acknowledgments
CICC researchers and developers who contributed to this presentation: Prof. Geoffrey Fox, Prof. David Wild, Prof. Mookie Baik,
Prof. Gary Wiggins, Dr. Jungkee Kim, Dr. Rajarshi Guha, Sima Patel, Smitha Ajay, Xiao Dong
Thanks also to Prof. Peter Murray Rust and the WWMM group at Cambridge University
More info: www.chembiogrid.org and www.chembiogrid.org/wiki.
Chemical Informatics and the Grid
An overview of the basic problem and solution
Chemical Informatics as a Grid Application Chemical Informatics is the application of information technology
to problems in chemistry. Example problems: managing data in large scale drug discovery
and molecular modeling Building Blocks: Chemical Informatics Resources:
Chemical databases maintained by various groups NIH PubChem, NIH DTP
Application codes (both commercial and open source) Data mining, clustering Quantum chemistry and molecular modeling
Visualization tools Web resources: journal articles, etc.
A Chemical Informatics Grid will need to integrate these into a common, loosely coupled, distributed computing environment.
Problem: Connecting It Together The problem is defining an architecture for tying all of
these pieces into a distributed computing system. A “Grid”
How can I combine application codes, web resources, and databases to solve a particular problem that interests me? Specifically, how do I build a runtime environment that can
connect the distributed services I need to solve an interesting problem?
For academic and government researchers, how can I do all of this in an open fashion? Data and services can come from anywhere That is, I must avoid proprietary infrastructure.
NIH Roadmap for Medical Researchhttp://nihroadmap.nih.gov/ The NIH recognizes chemical and biological
information management as critical to medical research.
Federally funded high throughput screening centers. 100-200 HTS assays per year on small molecules. 100,000’s of small molecules analyzed Data published, publicly available through NIH PubChem
online database. What do you do with all of this data?
High-Throughput Screening
Testing perhaps millions of compounds in a corporate collection to see if any show activity against a certain disease protein
High-Throughput Screening
Traditionally, small numbers of compounds were tested for a particular project or therapeutic area
About 10 years ago, technology developed that enabled large numbers of compounds to be assayed quickly
High-throughput screening can now test 100,000 compounds a day for activity against a protein target
Maybe tens of thousands of these compounds will show some activity for the protein
The chemist needs to intelligently select the 2 - 3 classes of compounds that show the most promise for being drugs to follow-up
Informatics Implications
Need to be able to store chemical structure and biological data for millions of data points Computational representation of 2D structure
Need to be able to organize thousands of active compounds into meaningful groups Group similar structures together and relate to activity
Need to learn as much information as possible(data mining) Apply statistical methods to the structures and related
information Need to use molecular modeling to gain direct
chemical insight into reactions.
The Solution, Part I: Web Services Web Services provide the means for wrapping
databases, applications, web scavengers, etc, with programming interfaces. WSDL definitions define how to write clients to talk with
databases, applications, etc. Web Service messaging through SOAP Discovery services such as UDDI, MDS, and so on.
Many toolkits available Axis, .NET, gSOAP, SOAP::Lite, etc.
Web Services can be combined with each other into workflows Workflow==use case scenario More about this later.
Basic Architectures: Servlets/CGI and Web Services
Browser
WebServer
HTTP GET/POST
DB
JDBC
WebServer
DB
JDBC
Browser
WebServer
SOAP
GUIClient
SOAPWSDL
WSDL
WSD
LWSD
L
Solution Part II: Grid Resources Many Grid tools provide powerful backend services
Globus: uniform, secure access to computing resources (like TeraGrid) File management, resource allocation management, etc.
Condor: job scheduling on computer clusters and collections
SRB: data grid access OGSA-DAI: uniform Grid interface to databases.
These have Web Service as well as other interfaces (or equivalently, protocols).
Solution, Part III: Domain Specific Tools and Standards -->More Services For Chemical Informatics, we have a number of tools and
standards. Chemical string representations
SMILES, InChI Chemistry Markup Language
XML language for describing, exchanging data. JUMBO 5: a CML parser and library
Glue Tools and Applications Chemistry Development Kit (CDK) OpenBabel
These are the basis for building interoperable Chemical Informatics Web Services
Analogous situations exist for other domains Astronomy, Geosciences, Biology/Bioinformatics
Solution Part IV: Workflows
Workflow engines allow you to connect services together into interesting composite applications.
This allows you to directly encode your scientific use case scenario as a graph of interacting services.
There are many workflow tools We’ll briefly cover these later. General guidance is to build web services first and then
use workflow tools on top of these services. Don’t get married to a particular workflow technology yet,
unless someone pays you.
Solution Part V: User Interfaces Web Services allow you to cleanly separate user
interfaces from backend services. Model-view-controller pattern for web applications
Client environments include Grid and web service scripting environments Desktop tools like Taverna and Kepler Portlet-based Web portal systems
Typically, desktop tools like Taverna are used by power users to define interesting workflows.
Portals are for running canned workflows.
Next steps
Next we will review the online data base resources that are available to us.
Databases come in two varieties Journal databases Data databases
As we will discuss, it is useful to build services and workflows for automatically interacting with both types.
Online Chemical Journal and Data Resources
MEDLINE: Online Journal Database MEDLINE (Medical Literature Analysis and Retrieval
System Online) is an international literature database of life sciences and biomedical information.
It covers the fields of medicine, nursing, dentistry, veterinary medicine, and health care.
MEDLINE covers much of the literature in biology and biochemistry, and fields with no direct medical connection, such as molecular evolution.
It is accessed via PubMed.
http://en.wikipedia.org/wiki/Medline
PubMed: Journal Search Engine PubMed is a free search engine offered by the United States National Library of Medicine as part of the Entrez information retrieval system.
The PubMed service allows searching the MEDLINE database. MEDLINE covers over 4,800 journals published in the United States
and more than 70 other countries primarily from 1966 to the present.
In addition to MEDLINE, PubMed also offers access to: OLDMEDLINE for pre-1966 citations. Citations to articles that are out-of-scope (e.g., general science and
chemistry) from certain MEDLINE journals In-process citations which provide a record for an article before it is
indexed with MeSH and added to MEDLINE Citations that precede the date that a journal was selected for
MEDLINE indexing Some life science journals
http://www.ncbi.nlm.nih.gov/entrez/query/static/overview.html
PubChem: Chemical Database PubChem is a database of chemical molecules. The system is maintained by the
National Center for Biotechnology Information (NCBI) which belongs to the United States National Institutes of Health (NIH).
PubChem can be accessed for free through a web user interface. And Web Services for programmatic access
PubChem contains mostly small molecules with a molecular mass below 500.
Anyone can contribute The database is free to use, but it is not curated, so value of a
specific compound information could be questionable. NIH funded HTS results are (intended to be) available through
pubchem.
http://pubchem.ncbi.nlm.nih.gov/
NIH DTP Database
Part of NIH’s Developmental Therapeutics Program.
Screens up to 3,000 compounds per year for potential anticancer activity.
Utilizes 59 different human tumor cell lines, representing leukemia, melanoma and cancers of the lung, colon, brain, ovary, breast, prostate, and kidney.
DTP screening results are part of PubChem and also available as a separate database.
http://dtp.nci.nih.gov/
Example screening results. Positive results (red bar to right of vertical line) indicates greater than average toxicity of cell line to tested agent.
http://dtp.nci.nih.gov/docs/compare/compare.html
DTP and COMPARE
COMPARE is an algorithm for mining DTP result data to find and rank order compounds with similar DTP screening results.
Why COMPARE? Discovered compounds may be less toxic to
humans but just as effective against cancer cell lines.
May be much easier/safer to manufacture. May be a guide to deeper understanding of
experiments
http://dtp.nci.nih.gov/docs/compare/compare_methodology.html
Many Other Online Databases Complementary protein information
Indiana University: Varuna project Discussed in this presentation
University of Michigan: Binding MOAD “Mother of All Databases” Largest curated database of protein-ligand complexes Subset of protein databank Prof. Heather Carlson
University of Michigan: PDBBind Provides a collection of experimentally measured binding affinity
data (Kd, Ki, and IC50) exclusively for the protein-ligand complexes available in the Protein Data Bank (PDB)
Dr. Shaomeng Wang
The Point Is… All of these databases can be accessed on line with
human-usable interfaces. But that’s not so important for our purposes
More importantly, many of them are beginning to define Web Service interfaces that let other programs interact with them. Plenty of tools and libraries can simulate browsers, so you
can also build your own service. This allows us to remotely analyze databases with
clustering and other applications without modifying the databases themselves.
Can be combined with text mining tools and web robots to find out who else is working in the area.
Encoding chemistry
Chemical Machine Languages Interestingly, chemistry has defined three simple
languages for encoding chemical information. InChI, SMILES, CML Can generate these by hand or automatically
InChIs and SMILES can represent molecules as a single string/character array. Useful as keys for databases and for search queries in
Google. You can convert between SMILES and InChIs
OpenBabel, OELib, JOELib CML is an XML format, and more verbose, but
benefits from XML community tools
SMILES: Simplified Molecular Input Line Entry Specification Language for describing the structure of
chemical molecules using ASCII strings.
http://www.daylight.com/dayhtml/doc/theory/theory.smiles.html
InChI: International Chemical Identifier IUPAC and NIST Standard similar to SMILES Encodes structural information about compounds Based on open an standard and algorithms.
http://wwmm.ch.cam.ac.uk/inchifaq/
InChI in Public Chemistry Databases US National Institute of Standards and Technology (NIST) - 150,000
structures NIH/NCBI/PubChem project - >3.2 million structures Thomson ISI - 2+ million structures US National Cancer Institute(NCI) Database - 23+ million structures US Environmental Protection Agency(EPA)-DSSToX Database - 1450
structures Kyoto Encyclopaedia of Genes and Genomes (KEGG) database - 9584
structures University of California at San Francisco ZINC - >3.3 million structures BRENDA enzyme information system (University of Cologne) - 36,000
structures Chemical Entities of Biological Interest (ChEBI) database of the European
Bioinformatics Institute - 5000 structures University of California Carcinogenic Potency Project - 1447 structures Compendium of Pesticide Common Names - 1437 (2005-03-03) structures
Journals and Software Using InChI Journals
Nature Chemical Biology. Beilstein Journal of Organic Chemistry
Software ACD/Labs ACD/ChemSketch. ChemAxon Marvin. SciTegic Pipeline Pilot. CACTVS Chemoinformatics Toolkit by Xemistry, GmbH.
http://wwmm.ch.cam.ac.uk/inchifaq/
Chemistry Markup Language
CML is an XML markup language for encoding chemical information. Developed by Peter Murray Rust, Henry Rzepa and others. Actually dates from the SGML days before XML
More verbose than InChI and SMILES But inherits XML schema, namespaces, parsers, XPATH,
language binding tools like XML Beans, etc. Not limited to structural information Has OpenBabel support.
http://cml.sourceforge.net/, http://cml.sourceforge.net/wiki/index.php/Main_Page
InChI Compared to SMILES SMILES is proprietary and
different algorithms can give different results.
Seven different unique SMILES for caffeine on Web sites: [c]1([n+]([CH3])[c]([c]2([c]([n+]1[CH3])
[n][cH][n+]2[CH3]))[O-])[O-] CN1C(=O)N(C)C(=O)C(N(C)C=N2)=C1
2 Cn1cnc2n(C)c(=O)n(C)c(=O)c12 Cn1cnc2c1c(=O)n(C)c(=O)n2C N1(C)C(=O)N(C)C2=C(C1=O)N(C)C=N
2 O=C1C2=C(N=CN2C)N(C(=O)N1C)C CN1C=NC2=C1C(=O)N(C)C(=O)N2C
On the other hand, some claimSMILES are more intuitive for human readers.
http://wwmm.ch.cam.ac.uk/inchifaq/
A CML Example
http://www.medicalcomputing.net/xml_biosciences.html
Clustering Techniques, Computing Requirements, and Clustering Services
Computational techniques for organizing data
The Story So Far
We’ve discussed managing screening assay output as the key problem we face Must sift through mountains of data in PubChem
and DTP to find interesting compounds. NIH funded High Throughput Screening will make
this very important in the near future. Need now a way to organize and analyze the
data.
Clustering and Data Analysis Clustering is a technique that can be applied to large data sets to
find similarities Popular technique in chemical informatics
Data sets are segmented into groups (clusters) in which members of the same cluster are similar to each other.
Clustering is distinct from classification, There are no pre-determined characteristics used to define the
membership of a cluster, Although items in the same cluster are likely to have many
characteristics in common. Clustering can be applied to chemical structures, for example, in
the screening of combinatorial or Markush compound libraries in the quest for new active pharmaceuticals.
We also note that these techniques are fairly primitive More interesting clustering techniques exist but apparently are not
well known by the chemical informatics community.
Non-Hierarchical Clustering Clusters form around centroids. The number of which can be specified by the user. All clusters rank equally and there is no particular
relationship between them.
http://www.digitalchemistry.co.uk/prod_clustering.html
Hierarchical Clustering Clusters are arranged in hierarchies
Smaller clusters are contained within larger ones; the bottom of the hierarchy consists of individual objects in "singleton" clusters, while the top of it consists of one cluster containing all the objects in the dataset.
Such hierarchies can be built either from the bottom up (agglomerative) or the top downwards (divisive)
http://www.digitalchemistry.co.uk/prod_clustering.html
Fingerprinting and Dictionaries--What Is Your Parameter Space? Clustering algorithms require a parameter space
Clusters defined along coordinate axes. Coordinate axes defined by a dictionary of chemical
structures. Use binary on/off for fingerprinting a particular compound
against a dictionary.
http://www.digitalchemistry.co.uk/prod_fingerprint.html
Cluster Analysis and Chemical Informatics Used for organizing datasets into chemical series, to build
predictive models, or to select representative compounds Clustering Methods
Jarvis-Patrick and variants O(N2), single partition
Ward’s method Hierarchical, regarded as best, but at least O(N2)
K-means < O(N2), requires set no of clusters, a little “messy”
Sphere-exclusion (Butina) Fast, simple, similar to JP
Kohonen network Clusters arranged in 2D grid, ideal for visualization
Limitations of Ward’s method forlarge datasets (>1m) Best algorithms have O(N2) time requirement (RNN) Requires random access to fingerprints
hence substantial memory requirements (O(N)) Problem of selection of best partition
can select desired number of clusters Easily hit 4GB memory addressing limit on 32 bit
machines Approximately 2m compounds
Scaling up clustering methods Parallelization
Clustering algorithms can be adapted for multiple processors
Some algorithms more appropriate than others for particular architectures
Ward’s has been parallelized for shared memory machines, but overhead considerable
New methods and algorithms Divisive (“bisecting”) K-means method Hierarchical Divisive Approx. O(NlogN)
Divisive K-means Clustering
New hierarchical divisive method Hierarchy built from top down, instead of bottom up Divide complete dataset into two clusters Continue dividing until all items are singletons Each binary division done using K-means method Originally proposed for document clustering
“Bisecting K-means” Steinbach, Karypis and Kumar (Univ. Minnesota)
http://www-users.cs.umn.edu/~karypis/publications/Papers/PDF/doccluster.pdf
Found to be more effective than agglomerative methods Forms more uniformly-sized clusters at given level
BCI Divkmeans
Several options for detailed operation Selection of next cluster for division size, variance, diameter affects selection of partitions from hierarchy, not shape of hierarchy
Options within each K-means division step distance measure choice of seeds batch-mode or continuous update of centroids termination criterion
Have developed parallel version for Linux clusters / grids in conjunction with BCI
For more information, see Barnard and Engels talks at: http://cisrg.shef.ac.uk/shef2004/conference.htm
Comparative execution timesNCI subsets, 2.2 GHz Intel Celeron processor
7h 27m
3h 06m
2h 25m
44m0
5000
10000
15000
20000
25000
30000
0 20000 40000 60000 80000 100000 120000Number of Structures in Clustered Set
Execution Time (s)
Wards
K-means
Divisive K-means
Parallel Divisive Kmeans (4-node)
Divisive K-means: Conclusions Much faster than Ward’s, speed comparable to K-means,
suitable for very large datasets (millions) Time requirements approximately O(N log N) Current implementation can cluster 1m compounds in under
a week on a low-power desktop PC Cluster 1m compounds in a few hours with a 4-node parallel
Linux cluster Better balance of cluster sizes than Wards or Kmeans Visual inspection of clusters suggests better assembly of
compound series than other methods Better clustering of actives together than previously-
studied methods Memory requirements minimal Experiments using AVIDD cluster and Teragrid
forthcoming(50+ nodes)
Conclusions Effective exploitation of large volumes and diverse sources of
chemical information is a critical problem to solve, with a potential huge impact on the drug discovery process
Most information needs of chemists and drug discovery scientists are conceptually straightforward, but complex to implement
All of the technology is now in place to implement may of these information need “use-cases”: the four level model using service-oriented architectures together with smart clients look like a neat way of doing this
In conjunction with grid computing, rapid and effective organization and visualization of large chemical datasets is feasible in a web service environment
Some pieces are missing: Chemical structure search of journals (wait for InChI) Automated patent searching Effective dataset organization Effective interfaces, especially visualization of large numbers of 2D structures
Divisive K-Means as a Web Service The previous exercise was intended to show
that Divisive K-Means is a classic example of Grid application. Needs to be parallelized Should run on TeraGrid
How do you make this into a service? We’ll go on a small tour before getting back
to our problem.
Wrapping Science Applications as Services Science Grid services typically must wrap legacy
applications written in C or Fortran. You must handle such problems as
Specifying several input and output files These may need to be staged in
Launching executables and monitoring their progress. Specifying environment variables
Often these have also shell scripts to do some miscellaneous tasks.
How do you convert this to WSDL? Or (equivalently) how do you automatically generate the
XML job description for WS-GRAM?
Generic Service Toolkit (GFAC)(G. Kandaswamy, IU and RENCI) The Generic Service Toolkit can "wrap" any command-line
application as an application service. Given a set of input parameters, it runs the application, monitors
the application and returns the results. Requires no modification to program code. Also has web user interface generating tools.
When a user accesses an application service, the user is presented with a graphical user interface (GUI) to that service.
The GUI contains a list of operations that the user is allowed to invoke on that service.
After choosing an operation, the user is presented with a GUI for that operation, which allows the user to specify all the input parameters to that operation. The user can then invoke the operation on the service and get the output
results.
www.extreme.indiana.edu/gfac/
OPAL (S. Krishan, SDSC)
Features include scheduling (using Globus and Condor/SGE) and security (using GSI-based certificates), and persistent state management.
The WSDL defines operations to do the following: getAppMetadata: includes usage information, arbitrary application-specific
metadata specified as an array of other elements, e.g. description of the various options that are passed to the application
binary. launchJob: runs job with specified input and returns a Job ID. queryStatus: returns status code, message, and URL of the working
directory getOutputs: returns the outputs from a job that is identified by a Job ID.
URLs for the standard output and error Array of structures representing the output file names and URLs
getOutputAsBase64ByName: This operation returns the contents of an output file as Base64 binary.
destroy: This operation destroys a running job identified by a Job ID. launchJobBlocking: This operation requires the list of arguments as a string,
and an array of structures representing the input files.
http://grid-devel.sdsc.edu/gridsphere/gridsphere?cid=nbcrws
Our Solution: Apache Ant Services We’ve found using Apache Ant to be very useful for
wrapping services. Can call executables, set environment variables. Lots of useful built-in shell-like tasks. Extensible (write your own tasks). Develop build scripts to run your application
You can easily call Ant from other Java programs. So just write a wrapper service We use both blocking (hold connection until return) and
non-blocking version (suitable for long running codes). In non-blocking case, “Context” web service is used for
callbacks.
Flow Chart of SMILES to Cluster Partitioned of BCI Web ServiceSMILEString
Makebits
Dictionary(Default)
Fingerprint(*.scn)
DivKmeansCluster
Hierarchy(*.dkm)
Optclus RNNclusOne
ColumnProcess
MergeProcess
ExtractedCluster
Hierarchy(*.clu)
NewSMILEString
GeneratingFingerprints
ClusteringFingerprints
Generatingthe best levels
SMILES to DKM
Extracting individualcluster partitions
best
level
BCI Clustering Service Methods
Service Method Description Input Output
makebitsGenerate Generate fingerprints from a SMILES structure
SMIstring Fingerprint string
divkmGenerate Cluster fingerprints with Divkmeans
SCNstring Clustered Hierarchy
smile2dkm Makebits + divkm SMIstring Clustered Hierarchy
optclusGenerate Generate the best levels in a hierarchy
DKMstring Best partition cluster level
rnnclusGenerate Extract individual cluster partitions
DKMstring Indiv. cluster partitions
smile2ClusterPartitioned
Generate a new SMILES structure w/ extra col.
SMIstring New SMILES structure
A Library of Chemical Informatics Web Services
All Services Great and Small
Like most Grids, a Chemical Informatics Grid will have the classic styles: Data Grid Services: these provide access to data sources
like PubChem, etc. Execution Grid Services: used for running cluster analysis
programs, molecular modeling codes, etc, on TeraGrid and similar places.
But we also need many additional services Handling format conversions (InChI<->SMILES) Shipping and manipulating tabular data Determining toxicity of compounds Generating batch 2D images
So one of our core activities is “build lots of services”
VOTables: Handling Tabular Data Developed by the Virtual Observatory community for encoding
astronomy data. The VOTable format is an XML representation of the tabular
data (data coming from BCI, NIH DTP databases, and so on). VOTables-compatible tools have been built
We just inherit them. SAVOT and JAVOT JAVA Parser APIs for VOTable allow us
to easily build VOTable-based applications Web Services Spread sheet Plotting applications.
VOPlot and TopCat are two
Document Structure of VOTable
Compound
Name
Cluster
Number
Acemetacin 1
Candesartan 1
Acenocoumarol 2
Dicumarol 2
Phenprocoumon 2
Trioxsalen 2
Warfarin 2
<?xml version="1.0"?>
<VOTABLE version="1.1“ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocation="http://www.ivoa.net/xml/VOTable/VOTable/v1.1">
<RESOURCE >
<TABLE name="results">
<FIELD name=“CompoundName" ID="col1" datatype=“char" arraysize=“*”/>
<FIELD name=“ClustureNumber” ID="col2“ datatype=“int”/>
<DATA>
<TABLEDATA>
<TR><TD>Acemetacin</TD><TD>1</TD</TR>
<TR><TD>Candesartan</TD><TD>1</TD></TR>
<TR><TD>Acenocoumarol</TD><TD>2</TD></TR>
<TR><TD>Dicumarol</TD><TD>2</TD></TR>
<TR><TD>Phenprocoumon</TD><TD>2</TD></TR>
<TR><TD>Trioxsaken</TD><TD>2</TD></TR>
<TR><TD>warfarin</TD><TD>2</TD></TR>
</TABLEDATA>
</DATA>
</TABLE>
</RESOURCE>
</VOTABLE>
mrtd1.txt – smiles representation of chemical compounds along with its properties
Taverna Client
WSDL VOTableGeneratorService retrieveVOTableDocument
Tomcat Server
VOTableGeneratorService
mrtd1.txt
votable.xml VOPlot
Votable.xml : xml representation of mrtd1.txt file
VOPlot Application from generated votable.xml file : Graph plotted on Mass (X–axis) and PSA (Y-axis)
Other Uses for VOTables
VOTables is a useful intermediate format for exchanging data between data bases.
Simple example: exchange data between VARUNA databases. Each student in the Baik group maintains his/her on copy
(sandbox purposes). Often need to import/export individual data sets.
It is also good for storing intermediate results in workflows. Value is not the format, but the fact that the XML can be
manipulated programmatically. Unions, subset, intersection operations
More Services: WWMM ServicesServices Descriptions Input Output
InChIGoogle Search an InChI structure through Google
inchiBasic
type
Search result in HTML format
InChIServer Generate InChI version
format
An InChI structure
OpenBabelServer
Transform a chemical format to another using Open Babel
format
inputData
outputData
options
Converted chemical structure string
CMLRSSServer
Generate CMLRSS feed from CML data
mol, title description link, source
Converted CMLRSS feed of CML data
CDK-Based Services
Common Substructure
Calculates the common substructure between two molecules.
CDKsim Takes two SMILES and evaluates the Tanimoto coefficient (ratio of intersection to union of their fingerprints).
CDKdesc Calculates a variety of molecular and atomic descriptors for QSAR modeling
CDKws Fingerprint generation
CDKsdg Creates a jpeg of the compound’s 2D structure
CDKStruct3D Generates 3D coordinates of a molecule from its SMILE
ToxTree Service The Threshold of
Toxicological Concern (TTC) establishes a level of exposure for all chemicals below which there would be no appreciable risk to human health.
ToxTree implements the Cramer Decision Tree approach to estimate TTC.
We have converted this into a service. Uses SMILES as input. Note the GUI must be
separated from the library to be a service
http://ecb.jrc.it/QSAR/home.php?CONTENU=/QSAR/qsar_tools/qsar_tools_toxtree.php
toxTree
Taverna Workflow for Toxic Hazard Estimation
OSCAR3 Service Oscar3 is a tool for shallow, chemistry-specific
natural language parsing of chemical documents (i.e. journal articles).
It identifies (or attempts to identify): Chemical names: singular nouns, plurals, verbs etc., also
formulae and acronyms. Chemical data: Spectra, melting/boiling point, yield etc. in
experimental sections. Other entities: Things like N(5)-C(3) and so on.
There is a larger effort, SciBorg, in this area http://www.cl.cam.ac.uk/~aac10/escience/sciborg.html
This (like ToxTree) is potentially productively pleasingly parallelized.
It also has potentially very interesting Workflows
http://wwmm.ch.cam.ac.uk/wikis/wwmm/index.php/Oscar3
Use Cases and Workflows
Putting data and clustering together in a distributed environment.
Chemical Informatics as a Grid Problem NIH-Funded experimental screening
NIH DTP and HTS projects are generating a wealth of raw data on small compounds.
Available in PubChem Journal and chemical data sources often have public Web clients
and GUIs. But we need Web Service interfaces, not just Web interfaces. These provide a programming interfaces for building both human
and machine clients. These need to be connected to computing resources for running
clustering, data mining, and molecular modeling applications. Excellent candidates for running on the TeraGrid
We can formulate scientific problems that map to inter-connections of Grid services. This is generally called “Grid workflow” or “Service Orchestration”
Oracle Database (HTS)
Compounds were tested against related assays and showed activity, including
selectivity within target families
Oracle Database (Genomics)
? None of these compounds have been tested in a
microarray assay
Computation
The information in the structures and known activity data is good enough to create
a QSAR model with a confidence of 75%
External Database (Patent)
Some structures with a similarity > 0.75 to these
appear to be covered by a patent held by a competitor
Computation
All the compounds pass the Lipinksi Rule of Five and
toxicity filters
Excel Spreadsheet (Toxicity)
One of the compounds was previously tested for
toxicology and was found to have no liver toxicity
Word Document (Chemistry)
Several of the compounds had been followed up in a
previous project, and solubility problems prevented further
development
Journal Article
A recent journal article reported the effectiveness of some compounds in a related series against a target in the same family
Word Document (Marketing)
A report by a team in Marketing casts doubt on
whether the market for this target is big enough to make development cost-effective
SCIENTIST
“These compounds look promising from their HTS results. Should I commit some
chemistry resources to following them up?”
?
Workflow, Services, and Science Web Services work best as simple stateless
services. No implicit input, output, or interdependency of
methods. Services must be composed into interesting
applications. This is called workflow. A good workflow ...
Is composed of independent services Completely specifies an interesting science
problem.
Some Open Source Grid Workflow Projects UK e-Science Project’s Taverna
Scufl.xml scripting, GUI interface, works with Web Services. Kepler
Works with Web services and the Globus Toolkit. Condor DAGMan
www.cs.wisc.edu/condor Works over the top of Condor’s scheduler. Extended by the GriPhyN Virtual Data System
Java CoGKit’s Karajan XML workflow specification for scripting COG clients. Works with GT 2 and 4.
Community Grids Lab’s HPSearch www.hpsearch.org JavaScript scripting, works with Web services.
Indiana Extreme Lab’s Workflow Composer www.extreme.indiana.edu/xgws/xwf/index.html Jython, BPEL (soon) scripting
Finding compound-protein relationships A protein implicated in tumor growth is
supplied to the docking program (in this case HSP90 taken from the PDB 1Y4 complex)
The workflow employs our local NIH DTP database
service to search 200,000 compounds tested in human
tumor cellular assays for similar structures to the
ligand. Client portlets are used to browse these
structures
Once docking is complete, the user visualizes the high-scoring docked structures in a portlet using the JMOL applet.
Similar structures are filtered for drugability, and are automatically passed to the OpenEye FRED docking program for docking into the target protein.
A 2D structure is supplied for input into the similarity search (in this case, the extracted bound ligand from the PDB IY4 complex)
Correlation of docking results and “biological fingerprints” across the human tumor cell lines can help identify potential mechanisms of action of DTP compounds
HTS data organization & flagging
A tumor cell line is selected. The activity results for all the compounds in the DTP database in the given range are extracted from the PostgreSQL database
The compounds are clustered on chemical structure
similarity, to group similar compounds together
The compounds along with property and cluster information are converted to VOTABLES format and displayed in VOPLOT
OpenEye FILTER is used to calculate biological and chemical properties of the compounds that are related to their potential effectiveness as drugs
Use Case: Which of these hits should I follow up? An HTS experiment has produced 10,000 possible hits out of a
screening set of 2m compounds. A chemist on the project wants to know what the most promising series of compounds for follow-up are, based on: Series selection cluster analysis Structure-activity relationships modal fingerprints/stigmata Chemical and pharmacokinetic properties mitools, chemaxon Compound history gNova / PostgreSQL Patentability BCI Markush handling software Toxicity Synthetic feasibility + requires visualization tools!
A Workflow Scenario: HTS Data Organization and Flagging This workflow demonstrates how screening data can be flagged
and organized for human analysis. The compounds and data values for a particular screen are
retrieved from the NIH DTP database and then are filtered to remove compounds with reactive groups, etc. A tumor cell line is selected. The activity results for all the
compounds in the DTP database in the given range are extracted from the PostgreSQL database
OpenEye FILTER is used to calculate biological and chemical properties of the compounds that are related to their potential effectiveness as drugs
ToxTree is used to flag the potential toxicities of compounds. Divkmeans is used to add a column of cluster numbers. Finally, the results are visualized using VOPlot and the 2D
viewer applet.
Web Services
Example plots of our workflow output using VOPlot and VOTables
NIH DatabaseService
PostgreSQLCHORD
FingerprintGenerator
BCI Makebits
ClusterAnalysis
BCI Divkmeans TableManagement
VoTables
PlotVisualizer
VoPlot
DockingSelector
Script
2D-3D
OpenEye OMEGA
Docking
OpenEye FRED
3D Visualizer
JMOL
Cluster the compounds in the NIH DTP database by chemical structure, then
choose representative compounds from the clusters and dock them into
PDB protein files of interest
SMILES + ID
Fingerprints
PDB DatabaseService
SMILES + ID + Data
ClusterMembership
SMILES + ID + + Cluster # + Data
SMILES + ID
MOL File
PDB Structure +
Box
Docked Complex
Use Case: Are there any good ligands for my target? A chemist is working on a project involving a
particular protein target, and wants to know: Any newly published compounds which might fit the protein
receptor site gNova / PostgreSQL, PubChem search, FRED Docking
Any published 3D structures of the protein or of protein-ligand complexes PDB search
Any interactions of compounds with other proteins gNova / PostgreSQL, PubChem search
Any information published on the protein target Journal text search
Use Case: Who else is working on these structures? A chemist is working on a chemical series for a particular
project and wants to know: If anyone publishes anything using the same or related
compounds ~ PubChem search Any new compounds added to the corporate collection which are
similar or related gNova CHORD / PostgreSQL If any patents are submitted that might overlap the compounds
he is working on ~ BCI Markush handling software Any pharmacological or toxicological results for those or related
compounds gNova CHORD / PostgreSQL, MiToolkit The results for any other projects for which those compounds
were screened gNova CHORD / PostgreSQL, PubChem search
VARUNA – Towards a Grid-based Molecular Modeling Environment
A brief overview of Prof. Mookie Baik’s VARUNA project.
Chemical Informatics in Academic Research? Industrial Research: Target
Oriented Not bound to a specific
molecular system Not bound to a method Not concerned with
generality Aware of Efficiency Aware of Overall Cost Aware of Toxicity Concerned about
Formulations Cares about active
MOLECULES
Academic Research: Concept Oriented Specialized on few
molecular families Method Development is
important Obsessed with generality Does not care much about
efficiency Cost is unimportant Often can’t even assess for
Toxicity Formulation is a minor issue Cares mostly about
REACTIONS, i.e.ways to GET to a molecule
AutoGeFF, Varuna and Workflows Metalloproteins are extremely important in
biochemical processes Understanding their chemistry is difficult To add value to the small molecule DB’s
(PubChem, etc.), we must somehow connect them to PDB’s, BindMOAD, etc.
By extending Varuna’s functionality to handling, storing Metalloproteins, we could provide a connection
Automatic Generator of ForceFields (AutoGeFF) Developing a service that can take ANY
drug-like molecule (from PubChem, for example) metal complexes metalloenzymes (from PDB, for example) unnatural or functionalized amino acids, nucleobases (from in-
house db)for which molecular mechanics force fields are not available andautomatically generate FF’s based on High level Quantum Simulations (using Varuna as a Web
service)for Sophisticated Molecular Mechanics Simulations
First Step: Coding of a specialized Prototype that can reproduce our manually derived novel force fields for Cu-A Alzheimer’s Disease as a Proof-Of-Principles Study.
Automatic Quantum Mechanical Curation of Structure Data Chemical Research logic is often driven by molecular
structure Large-scale, small molecule DB’s (such as PubChem)
have low-resolution structure data Often key properties are not consistently available:
e.g.: Rotation-barriers, Redox Potentials, Polarizabilities, IR frequencies, reactivity towards nucleophiles
QM web-services will provide tools for generating high-resolution data that will curate the results of traditional ChemInfo studies allow for combinatorial computational chemistry access a database of modeling data
Prototype-Project: Controlling the TGF pathway
PDB
1IAS1IASInactive TGF
VARUNA
Experimentsin the Zhang
Lab
Active TGFActive TGFWith inhibitorWith inhibitor
PubChem
in-house Molecules in Varuna
Conceptual Conceptual Understanding of Understanding of TGFTGF
InhibitionInhibition
SimulationsAutoGeFFAutoGeFF
Questions:
- What molecular feature controls inhibitor binding?
- How do mutations impact binding?
Consequences for ChemInfo Design for Academia TWO Strategies are needed: Making traditional ChemInfo tools that are often available in
commercial research available to Academia is in principle straightforward.
New ChemInfo Tools that are CONCEPT centered and include REACTIONS in addition to MOLECULES must be developed.
Our approach: Development of
(a) Quantum Chemical Database(b) Molecular Modeling Database
Harness the power of recent advances in Molecular Modeling (QM, QM/MM, MM, MD) through information management.
Data-depository for Quantum Chemical Data including both Properties & Mechanisms
QM Calculation Workflow
XYZ File ofa Molecule Input File
Generator
Input Param
Varuna
Job SchedulingService
List ofComputers
Job ScriptService
SSHService
Supercomputers
More Information
Contact me: [email protected] Most of this was taken from our CICC project. See
www.chembiogrid.org/wiki. Note we’ve found wikis to be extremely useful and fun to
use for maintaining collaborative web sites. See also www.crisisgrid.org and www.gorerle.com/vlab-wiki
for other examples using Media Wiki. Many elements of our approach are based on Prof.
Peter Murray Rust’s group’s approach. WWMM Wiki: wwmm.ch.cam.ac.uk/wikis/wwmm/index.php
SourceForge Project Site http://sourceforge.net/projects/cicc-grid
Additional Slides
Use Case - CICCWhich of these hits should I follow up? An MLI HTS experiment has produced 10,000 possible hits out
of a screening set of 2m compounds. A chemist at another laboratory wants to know if there are any interesting active series she might want to pursue, based on: Structure-activity relationships Chemical and pharmacokinetic properties Compound history Patentability Toxicity Synthetic feasibility
CICC Web Services I
BCI Clustering Provides Bernard Chemical Information (BCI) clustering packages A module of the workflow for HTS data organization and flagging Status:
Added URL output support to the previous solid prototype (Multi-user durable) Taverna Beanshell Scripting for data format adjusting (e.g. Filtering out the head part listing
column names) To do: Evaluating the URI(URL) based workflow design
ToxTree Estimates toxic hazard by applying a decision tree approach A module of the workflow for HTS data organization and flagging Status: A test prototype producing the level of toxicity in a brief or verbose explanation
against a SMILE structure To do:
Refining the Web service for cluster input and external property support The Taverna Beanshell scripting for data merging not used in some modules
CICC Web Services II
Workflow for HTS data organization and flagging Demonstrates how screening data can be flagged and organized for human
analysis Status: Individual modules except the visualization are in prototype To do:
Defining at least XML schema or DTD for the workflow data (at most the Ontology) Redefining current workflow model to reflect the new feature of Taverna 1.4
supporting complex data structures and the provenance plugin Other Planed Web Services
Open Source Chemistry Analysis Routines (OSCAR) Extracts chemical information from text and produces an XML instance highlighting
the chemical information A module of the PMR workflow Status: OSCAR3 is available and works fine as a Java application To do: Studying XML instances for extracting chemical names
InfoChem’s SPRESI Web Service Provides access to the SPRESI molecule database Status: Perl scripts for accessing SPRESI Web Service To do: Developing a Web service wrapper to utilize InfoChem’s SPRESI Web
Service
BCI Clustering URL Service Methods
Service Method Description Input URLOutput
makebitsURLGenerate
Generate fingerprints from a SMILES structure
SMIstring Fingerprint and program output
divkmURLGenerate
Cluster fingerprints with Divkmeans
SCNstring DKM data and program output
smile2dkmURL Makebits + divkm SMIstring All SMI, DKM and std. outputs
optclusURLGenerate
Generate the best levels in a hierarchy
SMIstring
DKMstring
Best data and program output
rnnclusURLGenerate
Extract individual cluster partitions
SMIstring
DKMstring
New partition and std. output
smile2ClusterPartitionedURL
Generate a new SMILES structure w/ extra col.
SMIstring All intermediate data and output
Workflow for
smile2ClusterPartitionedURL
Workflow for Toxic Hazard in Verbose
Diagram of Workflow2
Input/Output
Web Services
Beanshell Scripting
Informatics
Informatics is the discipline of science which investigates the structure and properties (not specific content) of scientific information, as well as the regularities of scientific information activity, its theory, history, methodology and organization. The purpose of informatics consists in developing optimal methods and means of presentation (recording), collection, analytical-synthetic processing, storage, retrieval and dissemination of scientific information.
A. I. Mikhailov, A. I. Chernyi, R. S. Gilyarevskii (1967) “Informatics -- New Name of the Theory of Scientific Information”
Chemical informatics is …
More usually know as chemoinformatics or cheminformatics
Very differently defined, reflecting its cross-disciplinary nature Librarian Chemist (synthetic, medicinal, theoretical) Biologist / Bioinformatician Molecular modeler Pharmaceutical or Chemical Engineer Computer Scientist / Informatician
More definitions
Computational Chemistry – The application of mathematical and computational methods to particularly to theoretical chemistry
Molecular Modeling – Using 3D graphics and optimization techniques to help understand the nature and action of compounds and proteins
Computer-Aided Drug Design – The discipline of using computational techniques (including chemical informatics) to assist in the discovery and design of drugs.
Traditional areas of application
Pharmaceutical & life science industry particularly in early stage drug design
Databases of available chemicals Electronic publishing
including searchable chemical structure information in journals, etc.
Government and patent databases
The –ics so far (1960’s to present) … How do you represent 2D and 3D chemical structures?
Not just a pretty picture How do you search databases of chemical structures?
Google doesn’t help (much, but it might do soon…) How do you organize large amounts of chemical information? How do you visualize chemical structures & proteins? Can computers predict how chemicals are going to behave
… in the test tube? … in the body?
Current trends & hot topics
The decorporatization of chemical informatics (PubChem, MLI, eScience, open source)
Service-oriented architectures Packaging & processing large volumes of complex
information for human consumption Integration with other –ics (bioinformatics,
genomics, proteomics, systems biology)
Main players (Commercial)
MDL www.mdl.com Tripos, inc. www.tripos.com Accelrys www.accelrys.com Daylight CIS, inc. www.daylight.com
Main players (Academia)
“Pure” Chemoinformatics University of Sheffield, UK (Willett / Gillet)
http://www.shef.ac.uk/uni/academic/I-M/is/research/cirg.html Erlangen, Germany (Gasteiger)
http://www2.chemie.uni-erlangen.de/ Cambridge Unilever Center
http://www-ucc.ch.cam.ac.uk/ Indiana University School of Informatics
http://www.informatics.indiana.edu/ Related (computational chemistry, etc.)
UCSF (Kuntz) http://mdi.ucsf.edu/
University of Texas (Pearlman) http://www.utexas.edu/pharmacy/divisions/pharmaceutics/faculty/pearlman.html
Yale (Jorgensen) http://zarbi.chem.yale.edu/
University of Michigan (Crippen) http://www.umich.edu/~pharmacy/MedChem/faculty/crippen/
“Traditional” Journals
Journal of Chemical Information & Modeling (formerly JCICS) http://pubs.acs.org/journals/jcisd8/index.html
Journal of Computer-Aided Molecular Design http://www.kluweronline.com/issn/0920-654X
Journal of Molecular Graphics and Modeling http://www.elsevier.com/inca/publications/store/5/2/5/0/1/2/
Journal of Computational Chemistry http://www3.interscience.wiley.com/cgi-bin/jhome/33822
Journal of Chemical Theory and Computation http://pubs.acs.org/journals/jctcce/
Journal of Medicinal Chemistry http://pubs.acs.org/journals/jmcmar/
“Informal” publications
Network Science (online) http://www.netsci.org/Science/index.html
Chemical & Engineering News http://pubs.acs.org/cen/
Drug Discovery Today http://www.drugdiscoverytoday.com/
Scientific Computing World http://www.scientific-computing.com/
Bio-IT World http://www.bio-itworld.com/
CINF-L Distribution List
Chemical Information Sources Discussion List
Created by Gary Wiggins at IUB http://www.indiana.edu/~cheminfo/
network.html
Yahoo! Chemoinformatics Discussion List For
Job postings Ideas exchange Questions Industry – Student
connections All students encouraged to
join Open to others
To join, go to http://groups.yahoo.com/group/chemoinf
Or send an email to [email protected]
Open Source / Free Software
Blue Obelisk - http://wiki.cubic.uni-koeln.de/dokuwiki/doku.php InChI - http://www.iupac.org/inchi/ JMOL – http://jmol.sourceforge.net FROWNS - http://frowns.sourceforge.net/ OpenBabel - http://openbabel.sourceforge.net/ CML - http://cml.sourceforge.net/ CDK - http://almost.cubic.uni-koeln.de/cdk/ MMTK - http://starship.python.net/crew/hinsen/MMTK/
Example 23D Visualization & Docking
3D Visualization of interactions between compounds and proteins
“Docking” compounds into proteins computationally
3D Visualization
X-ray crystallography and NMR Spectroscopy can reveal 3D structure of protein and bound compounds
Visualization of these “complexes” of proteins and potential drugs can help scientists understand the mechanism of action of the drug and to improve the design of a drug
Visualization uses computational “ball and stick” model of atoms and bonds, as well as surfaces
Stereoscopic visualization available
Docking algorithms
Require 3D atomic structure for protein, and 3D structure for compound (“ligand”)
May require initial rough positioning for the ligand Will use an optimization method to try and find the
best rotation and translation of the ligand in the protein, for optimal binding affinity
Genetic Algorithms
Create a “population” of possible solutions, encoded as “chromosomes”
Use “fitness function” to score solutions Good solutions are combined together
(“crossover”) and altered (“mutation”) to provide new solutions
The process repeats until the population “converges” on a solution
Traditional Workflow of Molecular Modeling
SupercomputerResearcherResearcherFORTRAN Code,
Scripts,Visualization Code
Hard DriveDirectory Jungle
Chemical Concepts
Experiments
Highly inefficient workflow (no automation)
Knowledge is human bound (grad student leaves and projects dies)
Incorporation with other DB’s is done in Researcher’s head
Varuna – a new environment for molecular modeling
QMDatabase
Supercomputer
ResearcherResearcher
Simulation ServiceFORTRAN Code,
Scripts
Chemical Concepts
Experiments
QM/MMDatabasePubChem, PDB,
NCI, etc.
Chem-GridChem-Grid
ReactionDB
DB ServiceQueries, Clustering,
Curation, etc.
Tools for mining the data
Tripos Benchware HTS Dataminer (formerly SAR Navigator), www.tripos.com