Inspiration

When Schrodinger introduced the concept that electrons existed as waves of probable location, rather than precise location, models of atomic bonding must be reimagined. Previous models used the electronegativities of atoms which make up a structure to determine which atoms had a greater affinity for electrons and therefore pulled electrons towards it. However to combine these ideas, models reimagine individual electrons within the model as clouds, or areas of probable location of such electrons. These ideas may be hard to visualize on your own.

What it does

Using pubChem's database we have created an open ended program which allows one to model the electron clouds around atoms of any organic compound, given the name of the chemical. For example, given a compound made up of 2 elements A, linked to each other, and a more electronegative element B, linked to one of the As, element B would attract more electrons, due to it being more electronegative; therefore, electrons would have a greater possibility to be found near B rather than any of the As and the neighboring A would have a less than normal likelihood of electrons surrounding it. Therefore the cloud of B being larger, also causes A to be smaller. However, there is a distance factor as well. The A element less far away would experience less of the B's pull. Therefore the atom A furthest from atom B has a larger electron cloud than the atom A closest to it.

How we built it

We used pubChemPy to determine the structure and location of atoms, created a mathematical function to model the transfer of electrons using our own knowledge of general/organic chemistry, and then used a visualization package called plotly to represent our model.

Challenges we ran into

As beginner programmers, we had to experiment with many different packages and learning new languages. For example, none of us had worked with html, but we did our best to use it and create an introductory UI input. Additionally, a lot of time was used to try out a package that never made it into the final product.

Accomplishments that we're proud of

The accomplishment that we're the most proud of was successfully learning/using languages and concepts that were somewhat unfamiliar to us. These include html, flask, git, and python.

What we learned

Apart from the experience of using new packages/languages, a big thing that we learned for perhaps the next time we do a hackathon is to do enough research. Lots of time was wasted just from not reading through package documentation or unnecessarily trying to use ineffective packages, and we definitely could have been more efficient. However, overall we had a great time just figuring stuff on our own.

What's next for Interactive Organic Compound Visualizer

We were unable to implement anything more than single bonded atoms. In true organic chemistry, atoms are connected through different types of bonds: in double and triple bonds, the pi orbital is filled, which involves resonant clouds separate from the atoms. Although we had originally planned to implement this in (and we do have some of the framework to do so), we ran out of time, but it would definitely be next on the list if we were to continue working on it.

Built With

Share this project:

Updates