Skip to:Content
|
Bottom
Cover image for Design and use of relational databases in chemistry
Title:
Design and use of relational databases in chemistry
Personal Author:
Publication Information:
Boca Raton, FL : CRC Press, 2009
Physical Description:
xii, 229 p. : ill. ; 25 cm.
ISBN:
9781420064421

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010195150 QD455.3.E4 O46 2009 Open Access Book Book
Searching...

On Order

Summary

Summary

Optimize Your Chemical Database

Design and Use of Relational Databases in Chemistry helps programmers and users improve their ability to search and manipulate chemical structures and information, especially when using chemical database "cartridges". It illustrates how the organizational, data integrity, and extensibility properties of relational databases are best utilized when working with chemical information.

The author facilitates an understanding of existing relational database schemas and shows how to design new schemas that contain tables of data and chemical structures. By using database extension cartridges, he provides methods to properly store and search chemical structures. He explains how to download and install a fully functioning database using free, open-source chemical extension cartridges within PostgreSQL. The author also discusses how to access a database on a computer network using both new and existing applications.

Through examples of good database design, this book shows you that relational databases are the best way to store, search, and operate on chemical information.


Table of Contents

Prefacep. xi
Acknowledgmentsp. xiii
Biographyp. xv
Chapter 1 Introductionp. 1
Chapter 2 Relational Database Fundamentalsp. 5
2.1 Introductionp. 5
2.2 Tables, Rows, and Columnsp. 5
2.3 External and Internal Representations of Datap. 7
2.4 Advantages over Spreadsheetsp. 8
2.4.1 Size and Speedp. 8
2.4.2 Multiple Usersp. 8
2.5 Relationships among Tablesp. 9
2.5.1 One-to-Many Relationshipsp. 9
2.5.2 One-to-One Relationshipsp. 11
2.5.3 Many-to-Many Relationshipsp. 12
2.6 Entity Relationship Diagramsp. 12
2.7 Uniquenessp. 14
2.8 Sequencesp. 14
2.9 Keysp. 15
2.9.1 Primary Keysp. 15
2.9.2 Foreign Keysp. 15
2.10 Constraintsp. 16
2.11 Indexesp. 16
2.12 Joining Tablesp. 16
2.13 Normal Formsp. 17
2.13.1 First Normal Formp. 17
2.13.2 Second Normal Formp. 18
2.13.3 Third Normal Formp. 19
2.13.4 Summary of Normal Formsp. 20
Referencesp. 20
Chapter 3 Structured Query Language (SQL)p. 21
3.1 Introductionp. 21
3.2 Databases, Schemas, Tables, Rows, and Columnsp. 21
3.3 Createp. 22
3.4 Insertp. 23
3.5 Selectp. 24
3.6 Update and Deletep. 25
3.7 SQL Functionsp. 26
3.7.1 Regular Functionsp. 26
3.7.2 Aggregate Functionsp. 27
3.8 Domains, Triggers, and Viewsp. 28
3.9 Unions, Intersections, and Differencesp. 29
Referencesp. 30
Chapter 4 Relational Database Management Systemsp. 31
4.1 Introductionp. 31
4.2 Standard SQLp. 32
4.3 A Sampling of Differencesp. 32
4.4 Server and Clientp. 33
4.5 Compatibilityp. 35
Referencesp. 35
Chapter 5 Client and Web Applicationsp. 37
5.1 Introductionp. 37
5.2 Command Line Programsp. 37
5.3 Web-Based Applicationsp. 38
5.4 Client Applicationsp. 39
5.5 SQL Interfaces in Various Languagesp. 41
5.5.1 Perlp. 43
5.5.2 Pythonp. 44
5.5.3 PHPp. 44
5.5.4 Javap. 45
Referencesp. 46
Chapter 6 Data Storage, Searching, and Manipulationp. 47
6.1 Introductionp. 47
6.2 General Schema Design Decisionsp. 47
6.3 Sample Schema for Tracking Chemical Samplesp. 49
6.4 Schemas for PubChem Datap. 53
6.4.1 BioAssay Datap. 54
6.4.2 Substancesp. 56
6.4.3 Compoundsp. 58
6.5 Data Constraints and Data Integrityp. 60
6.6 Developing Complex SQLp. 63
6.7 Subselect Statementsp. 66
6.8 Viewsp. 67
Referencesp. 70
Chapter 7 Computer Representations of Molecular Structuresp. 71
7.1 Introductionp. 71
7.2 SMILES Representation of Molecular Structurep. 72
7.3 Extensions to SQL for Chemical Structuresp. 72
7.4 SMARTS Representation of Molecular Searchesp. 74
7.5 SMILES and SMARTS Quirksp. 76
7.5.1 Hydrogen Atomsp. 76
7.5.2 Aromaticityp. 77
7.5.3 Tautomersp. 77
7.5.4 Valencep. 80
7.5.5 Chiralityp. 80
7.5.6 Isotopesp. 81
7.5.7 Salts and Mixturesp. 81
7.5.8 InChI and Canonical SMILESp. 82
7.6 SMILES and Inorganic Structuresp. 82
7.7 Other SMILES Extensionsp. 82
7.8 Input and Output of Molecular Structuresp. 83
7.9 Useful SQL Extensionsp. 85
7.10 SMILES as an SQL Data Typep. 86
7.10.1 Domainsp. 86
7.10.2 Triggersp. 87
7.11 Summaryp. 88
Referencesp. 88
Chapter 8 Molecular Fragments and Fingerprintsp. 91
8.1 Introductionp. 91
8.2 Fragmentsp. 91
8.2.1 Fragment Keysp. 92
8.2.2 MACCS Keys and Other Fragment Keysp. 95
8.3 Fingerprintsp. 95
8.4 Similarity Measuresp. 96
8.5 Computing Fragment-Based Propertiesp. 96
Referencesp. 98
Chapter 9 Reactions and Transformationsp. 99
9.1 Introductionp. 99
9.2 Reaction SMILESp. 99
9.3 Transformationsp. 100
9.3.1 Unimolecular Transformationsp. 101
9.3.2 Multi-Component Transformationsp. 104
9.4 Canonical Reaction SMILESp. 106
Referencesp. 107
Chapter 10 PostgreSQL Extensionsp. 109
10.1 Introductionp. 109
10.2 Composite Data Typesp. 109
10.3 Composite Data Type for Experimental Valuesp. 111
10.4 Array Data Types for Two- and Three-Dimensional Coordinatesp. 115
10.5 Functions in Other Languagesp. 117
10.5.1 Plpgsqlp. 117
10.5.2 Plperl, Plpython, Pltclp. 118
10.5.3 Core Chemical Functionsp. 119
10.5.4 C Language Functionsp. 120
10.6 Object RDBMSp. 121
Referencesp. 121
Chapter 11 Three-Dimensional Molecular Structure Tablesp. 123
11.1 Introductionp. 123
11.2 Using Tables Instead of Filesp. 123
11.3 Molfile and Other Common File Formatsp. 124
11.4 Processing SDF Filesp. 125
11.5 Using Tables Instead of Files in Client Programsp. 131
11.6 File Import, Export, and Conversionsp. 132
11.7 Functions Using Three-Dimensional Atomic Coordinatesp. 133
11.8 Conformationsp. 135
11.9 Other Representations of Three-Dimensional Molecular Structurep. 136
Referencesp. 136
Chapter 12 More on Client and Web Interfaces to RDBMSp. 137
12.1 Introductionp. 137
12.2 Store All Possible Data in the RDBMSp. 139
12.3 Advanced SQL Techniquesp. 140
12.3.1 Placeholders in SQL Statementsp. 141
12.3.2 Bind Values in SQL Statementsp. 142
12.4 Web Applicationsp. 143
12.5 R Programsp. 147
12.5.1 Hierarchical Clusteringp. 147
12.5.2 Linear Modelsp. 148
Referencesp. 153
Chapter 13 Applicationsp. 155
13.1 Introductionp. 155
13.2 Compound Registrationp. 155
13.3 Experimental Chemical and Biological Data Integrationp. 162
13.4 Data from External Sourcesp. 164
13.5 Utilitiesp. 167
13.5.1 molgrepp. 168
13.5.2 molcatp. 168
13.5.3 molviewp. 169
13.5.4 molarbp. 170
13.5.5 molrandomp. 170
13.5.6 molnearp. 171
13.5.7 molsamep. 171
Referencesp. 172
Appendixp. 173
A.1 Introductionp. 173
A.2 Symbols and Bonds from Simplified Molecular Input Line Entry System (SMILES)p. 173
A.3 Normalizing Datap. 175
A.4 SQL Functionsp. 176
A.4.1 Public166keysp. 176
A.4.2 Orsump. 176
A.4.3 Tanimotop. 176
A.4.4 Euclidp. 177
A.4.5 Hammingp. 177
A.4.6 Nbits_setp. 177
A.4.7 Amwp. 177
A.4.8 Tpsap. 181
A.5 Tables Used in Functionsp. 182
A.5.1 Amwp. 183
A.5.2 Tpsap. 183
A.5.3 Public166keysp. 183
A.6 Core Function Implementation for PostgreSQLp. 188
A.6.1 PerlMol/plperlup. 188
A.6.2 FROWNS/plpythonup. 191
A.6.3 OpenBabel/pythonp. 197
A.7 C Language PostgreSQL Functionsp. 203
A.8 Database Utilities Dbutilsp. 205
A.9 Loading Files into Simple Tablesp. 206
A.9.1 Smiloaderp. 207
A.9.2 Sdfloaderp. 208
Referencesp. 210
Indexp. 211
Go to:Top of Page