49
The Fullerene Isomer Database Jeffery L Thomas Prof. Daniel Bennett Dr. Douglas Puharic Edinboro University of Pennsylvania

The Fullerene Isomer Database

Embed Size (px)

DESCRIPTION

The Fullerene Isomer Database is a catalog of the enumerations of the various fullerene isomers, arranged by carbon molecule count. It is searchable across multiple carbon counts by symmetry group(s). currently the database holds data for the fullerene isomers of carbon 20 - 120, as well as the isolated pentagon isomers of carbon 70 - 100.

Citation preview

Page 1: The Fullerene Isomer Database

The Fullerene Isomer DatabaseJeffery L Thomas Prof. Daniel Bennett Dr. Douglas Puharic

Edinboro University of Pennsylvania

Page 2: The Fullerene Isomer Database

What is a Fullerene?

Page 3: The Fullerene Isomer Database

Fullerenes and Buckeyballs

C60

:

Page 4: The Fullerene Isomer Database

What is a Fullerene?

Page 5: The Fullerene Isomer Database

What is a Fullerene?

Page 6: The Fullerene Isomer Database

What is a Fullerene?

Page 7: The Fullerene Isomer Database

What is a Fullerene?

Page 8: The Fullerene Isomer Database

An Alternate Representation

Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis

Page 9: The Fullerene Isomer Database

An Alternate Representation

Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis

Page 10: The Fullerene Isomer Database

An Alternate Representation

Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis

Page 11: The Fullerene Isomer Database

An Alternate Representation

Taken from “An Atlas of Fullerenes” by P.W. Fowler and D.E. Mananopolis

Page 12: The Fullerene Isomer Database

A Digital Representation of a Fullerene

Page 13: The Fullerene Isomer Database

A Digital Representation

The Spiral Algorithm Provides us with a way to “unwind” a fullerene graph into a one-dimensional array of pentagons and hexagons.

Page 14: The Fullerene Isomer Database

A Digital Representation

An example...

6

Page 15: The Fullerene Isomer Database

A Digital Representation

An example...

66

Page 16: The Fullerene Isomer Database

A Digital Representation

An example...

566

Page 17: The Fullerene Isomer Database

A Digital Representation

An example...

65656566656656656566566565656566

Page 18: The Fullerene Isomer Database

A Digital Representation

Chains generated which produce the same isomercan be canonicalized by analyzing them numerically.

1: 65656566656656656566566565656566

And

2: 66565656566566565665665666565656

1 will be cataloged.

2 will be discarded.

Page 19: The Fullerene Isomer Database

A Digital Representation

The spiral can start at any face.

This produces a number of possible chains which can be built given a vertex count, v.

The total number of possible chains is:

Where 22

vf

Note that many of these chains will not produce valid fullerenes.

!

12 12!( 12)!

f f

f

Page 20: The Fullerene Isomer Database

A Digital Representation

Example:

30=86,493,225

12

200=6,107,693,672,000,000,000

12

Page 21: The Fullerene Isomer Database

A Digital Representation

Some of the successful combinations will be duplicates.

Combining the Spiral Algortihm with the 12 pentagon property, we now can:

- build all possible fullerenes (isomers)

- determine a canonical spiral representation for each molecule to catalog.

Page 22: The Fullerene Isomer Database

A Digital Representation

Number of unique isomers by vertex count:

n Isomers

20 1

30 3

40 40

50 271

60 1,812

70 8,149

80 31,924

90 99,918

100 295,913

Page 23: The Fullerene Isomer Database

Spiral Algorithm Implementations

Page 24: The Fullerene Isomer Database

Spiral Algorithm Implementations

FORTRAN implementation published in 1991

Uses brute force to generate all spiral combinations.

Becomes very complex, very fast

do 1 j1 = 1, m-11*jprdo 2 j2 =j1 +jpr, m-10*jprdo 3 j3 =j2 +jpr, m- 9*jprdo 4 j4 =j3 +jpr, m- 8*jprdo 5 j5 =j4 +jpr, m- 7*jprdo 6 j6 =j5 +jpr, m- 6*jprdo 7 j7 =j6 +jpr, m- 5*jprdo 8 j8 =j7 +jpr, m- 4*jprdo 9 j9 =j8 +jpr, m- 3*jprdo 10 j10=j9 +jpr, m- 2*jprdo 11 j11=j10+jpr, m- 1*jprdo 12 j12=j11+jpr, mdo 14 j=1,m

.

.

.14 c ontinue13 c ontinue12 c ontinue11 c ontinue10 c ontinue9 c ontinue8 c ontinue7 c ontinue6 c ontinue5 c ontinue4 c ontinue3 c ontinue2 c ontinue1 c ontinue

Page 25: The Fullerene Isomer Database

Spiral Algorithm Implementations

O(n16)NOTE: THIS IS BAD!!!

Analysis of the brute force implementation shows:

With n=100: 100,000,000,000,000,000,000,000,000,000,000

Page 26: The Fullerene Isomer Database

Translated the code into C++

Using the MPI libraries, parallelized the code, so it can be run on a supercomputer.

Linear speedup, allowing exploration of vertex counts of 100+.

Spiral Algorithm Implementations

Page 27: The Fullerene Isomer Database

Speedup for C60 vs. # of Processes

Number of processes

pS

Spiral Algorithm Implementations

Page 28: The Fullerene Isomer Database

Spiral Algorithm Implementations

N Sequential time Parallel time

50 11 sec 4 sec

60 132 sec 45 sec

70 18 min 6 min

80 107 min 36 min

90 537 min 207 min

100 54 hrs 22.9 hrs

110 Still running… 43.3 hrs

Run times with 1 processor and 4 processors:

Page 29: The Fullerene Isomer Database

The implementation can generate both general fullerene isomers as well as isolated pentagon fullerene isomers.

Also generates information about the symmetry group of each isomer, as well as some chemical properties.

Shown valid for vertex counts less than 380.

Spiral Algorithm Implementations

Page 30: The Fullerene Isomer Database

The Fullerene Isomer Database

Page 31: The Fullerene Isomer Database

We had generated a large amount of data, and needed a way to handle it.

Decided to implement a system which handles the storage, searching, retrieval and manipulation of the data, in addition to automating the process of generating new data.

The Fullerene Isomer Database

Page 32: The Fullerene Isomer Database

Requirements of the system:

- easy access to the data

- search isomers over multiple vertex counts

- obtain the adjacency matrix for the graph of any isomer

- automatically schedule new data to be generated on cluster

- automatically incorporate any new data into the database

The Fullerene Isomer Database

Page 33: The Fullerene Isomer Database

The Fullerene Isomer Database

Beowulf Research Cluster

DBMS

Run

Scheduler

Page 34: The Fullerene Isomer Database

Data Can be easily stored and searched using a database and SQL.

MySQL database created on CS dept. web server.

PHP for web front-end.

MySQL++ for anything else.

The Fullerene Isomer Database

Page 35: The Fullerene Isomer Database

One table per even vertex count greater than or equal to 20.

Two tables per even vertex count greater than 70. One for general isomers, one for isolated pentagon isomers.

Modified our parallel implementation to output data in a form which is easy to parse.

The Fullerene Isomer Database

Page 36: The Fullerene Isomer Database

Wrote a program to convert the generated data into SQL INSERT commands.

Also generates a CREATE TABLE command based on input values.

This SQL was then run using PHPMyAdmin.

The Fullerene Isomer Database

Page 37: The Fullerene Isomer Database

The Fullerene Isomer Database

Database table structure:

Page 38: The Fullerene Isomer Database

1, C2,1,2,3,4,5,7,14,16,17,18,19,20,18,2,0,0,0,0,2, D2,1,2,3,4,5,8,13,16,17,18,19,20, 4,0,0,0,0,3, C1,1,2,3,4,5,12,13,14,16,17,19,20,36,1,0,0,0,0,4, C2,1,2,3,5,7,10,11,14,16,18,19,20,18,2,0,0,0,0,5,D3h,1,2,3,6,10,11,12,14,15,16,18,20,2,6,2,12,0,0,6, Cs,1,2,3,4,5,12,13,15,16,18,19,20,6,1,15,2,0,0,7, C2,1,2,3,5,7,10,12,15,16,18,19,20,18,2,0,0,0,0,8, D2,1,2,3,4,7,10,11,14,17,18,19,20,9,4,0,0,0,0,9, C2,1,2,3,5,10,11,13,14,15,16,17,19,18,2,0,0,0,0,10,D2d,1,2,3,4,7,10,12,15,17,18,19,20,3,4,3,8,0,0,11, C1,1,2,3,4,7,11,12,14,16,17,19,20,36,1,0,0,0,0,12, Cs,1,2,3,4,7,11,12,15,16,18,19,20,4,1,16,2,0,0,13,C2v,1,2,3,4,11,12,13,14,15,16,17,18,4,2,7,4,0,0,14,D2d,1,2,4,7,9,10,12,13,14,16,18,20,1,4,4,8,0,0,15,D6h,1,2,4,8,9,10,12,13,14,15,18,20,3,12,0,0,0,0,

The Fullerene Isomer Database

Becomes…

Page 39: The Fullerene Isomer Database

The Fullerene Isomer Database

CREATE TABLE `C36_IPR0` (

`L` int(32) NOT NULL default '0', `Group` text NOT NULL, `J1` int(32) NOT NULL default '0', `J2` int(32) NOT NULL default '0', `J3` int(32) NOT NULL default '0', `J4` int(32) NOT NULL default '0', `J5` int(32) NOT NULL default '0', `J6` int(32) NOT NULL default '0', `J7` int(32) NOT NULL default '0', `J8` int(32) NOT NULL default '0', `J9` int(32) NOT NULL default '0', `J10` int(32) NOT NULL default '0', `J11` int(32) NOT NULL default '0', `J12` int(32) NOT NULL default '0', `Nmr(1)` int(8) NOT NULL default '0', `Nmr(2)` int(8) NOT NULL default '0', `Nmr(3)` int(8) NOT NULL default '0', `Nmr(4)` int(8) NOT NULL default '0', `Nmr(5)` int(8) NOT NULL default '0', `Nmr(6)` int(8) NOT NULL default '0',

PRIMARY KEY (`L`) );

Page 40: The Fullerene Isomer Database

INSERT INTO `C36` VALUES (1, ' C2', 1, 2, 3, 4, 5, 7, 14, 16, 17, 18, 19, 20, 18, 2, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (2, ' D2', 1, 2, 3, 4, 5, 8, 13, 16, 17, 18, 19, 20, 9, 4, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (3, ' C1', 1, 2, 3, 4, 5, 12, 13, 14, 16, 17, 19, 20, 36, 1, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (4, ' C2', 1, 2, 3, 5, 7, 10, 11, 14, 16, 18, 19, 20, 18, 2, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (5, 'D3h', 1, 2, 3, 6, 10, 11, 12, 14, 15, 16, 18, 20, 2, 6, 2, 12, 0, 0);

INSERT INTO `C36` VALUES (6, ' Cs', 1, 2, 3, 4, 5, 12, 13, 15, 16, 18, 19, 20, 6, 1, 15, 2, 0, 0);

INSERT INTO `C36` VALUES (7, ' C2', 1, 2, 3, 5, 7, 10, 12, 15, 16, 18, 19, 20, 18, 2, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (8, ' D2', 1, 2, 3, 4, 7, 10, 11, 14, 17, 18, 19, 20, 9, 4, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (9, ' C2', 1, 2, 3, 5, 10, 11, 13, 14, 15, 16, 17, 19, 18, 2, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (10, 'D2d', 1, 2, 3, 4, 7, 10, 12, 15, 17, 18, 19, 20, 3, 4, 3, 8, 0, 0);

INSERT INTO `C36` VALUES (11, ' C1', 1, 2, 3, 4, 7, 11, 12, 14, 16, 17, 19, 20, 36, 1, 0, 0, 0, 0);

INSERT INTO `C36` VALUES (12, ' Cs', 1, 2, 3, 4, 7, 11, 12, 15, 16, 18, 19, 20, 4, 1, 16, 2, 0, 0);

The Fullerene Isomer Database

Page 41: The Fullerene Isomer Database

The Front Ends

Page 42: The Fullerene Isomer Database

Web Interface provides easy way to search and download the catalogs.

Took advantage of the built-in MySQL connectivity of PHP.

Ability to download adjacency matrices direct from web site to be added soon

The Front Ends

Page 43: The Fullerene Isomer Database

The Front Ends

Page 44: The Fullerene Isomer Database

The Front Ends

Page 45: The Fullerene Isomer Database

The Front Ends

Page 46: The Fullerene Isomer Database

The Front Ends

Page 47: The Fullerene Isomer Database

Where Next?

Page 48: The Fullerene Isomer Database

This system is designed to enable research.

Plan to use adjacency matrices to study the face embeddings and face consistency.

The big idea: Can we use the properties of a fullerene’s graph to predict chemical properties?

Where next?

Page 49: The Fullerene Isomer Database

Fowler, P.W. Manolopoulos, D.E. An Atlas of Fullerenes. 1991: Dover, New York.

Puharic, Dr. Douglas. The Face Consistency and Embeddability of Fullerenes.

References