The Fullerene Isomer Database

Preview:

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

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

Edinboro University of Pennsylvania

What is a Fullerene?

Fullerenes and Buckeyballs

C60

:

What is a Fullerene?

What is a Fullerene?

What is a Fullerene?

What is a Fullerene?

An Alternate Representation

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

An Alternate Representation

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

An Alternate Representation

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

An Alternate Representation

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

A Digital Representation of a Fullerene

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.

A Digital Representation

An example...

6

A Digital Representation

An example...

66

A Digital Representation

An example...

566

A Digital Representation

An example...

65656566656656656566566565656566

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.

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

A Digital Representation

Example:

30=86,493,225

12

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

12

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.

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

Spiral Algorithm Implementations

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

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

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

Speedup for C60 vs. # of Processes

Number of processes

pS

Spiral Algorithm Implementations

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:

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

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

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

The Fullerene Isomer Database

Beowulf Research Cluster

DBMS

Run

Scheduler

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

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

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

The Fullerene Isomer Database

Database table structure:

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…

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`) );

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

The Front Ends

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

The Front Ends

The Front Ends

The Front Ends

The Front Ends

Where Next?

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?

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