Organic chemistry is a grueling, tedious subject. It involves understanding basic reaction mechanisms and connecting various properties to a reaction. It has a repuctation for being a tough class because there's no way around sitting down and researching the products... until now.
What it does
cheMHax lets a user input two chemicals into a simple application, then displays an answer to the chemical reaction. The user can input the molecular formula in whatever format they want, choose the exact isomer they're looking for, and immediately receive an answer. This would be a fantastic supplement to any young chemists' education, but it also has larger scale applications. A lot of pharmaceutical and chemical research is hindered by the costs, time, and energy associated with performing experiments. Once the machine learning part of this system has been tuned enough, it could potentially predict outcomes before chemists could hypothesize them, streamlining the development of lifesaving research.
How we built it
First, we researched various chemical reaction mechanisms and determined a list of guidelines that would help the machine analyze the data and recognize patterns. Then, we took information from the PubChem database, designed a node.js to organize the data and pull more information related to each chemical in the database. We displayed this information with certain markers and characterizations that was uploaded into a different database. We refactored the backend code and designed an api for it. Then, we uploaded the data into a TensorFlow application as well as some guidelines, and let the machine recognize certain patterns that would allow it to predict future reactions so that all known chemical reactions did not need to be hard coded into the application. Finally, we used expo to develop a reactive mobile application that allows for a great user experience.
Challenges we ran into
Chemical databases are archaic systems that are usually under huge paywalls. We could not access any that would allow us to easily and effectively accomplish our tasks; if we could access one, our machine would have been able to do so much more. We also had the time constraint obviously, and could have made our data more robust and accurate if we were able to incorporate all the complexities of physical chemistry that so largely impacts organic molecules. Finally, most of this technology was new to us, and most of it had a large learning curve.
Accomplishments that we're proud of
As stated previously, most of this technology was new to us, and we had to learn and teach one another everything. Jumping from Python to Node.JS specifically was challenging, and dealing with synchronization vs asynchronization was continuously a problem for us. Trying to convert chemical reaction concepts into equations that a machine could learn from was challenging, especially given the limited time and resources we had. Finally, we worked really effectively together as a team! Everyone supported one another and taught one another, and everyone had a great hackathon experience as a result.
What we learned
Everyone in our group learned either a language that was foreign to them or completely new theoretical concepts. From chemistry, to databases, to managing a Tensorflow project, to curating a usable database. In addition, all of us have different technical backgrounds, so we frequently had to explain these new ideas to each other. We all pushed ourselves and one another throughout this hackathon in order to complete our goals.
What's next for cheMHax
The first step to securing the future of cheMHax is making it open source. We are planning to put it on Github and let anyone in the world contribute, and we are planning to have both mobile applications, and to host a web application on our website cheMHax.org (set up on Domain.com). With large pharmaceutical giants pursuing similar software, it is becoming more important every day for normal people to have the opportunities to become educated about what they're putting in their bodies; furthermore, this tool will serve as an excellent supplement for any students studying Organic Chemistry. In addition, this data is knowledge that should be publicly available; there is no inherent benefit to preventing public access to unpatented chemistry data besides making an obscene profit. While designing cheMHax, we were appalled to find that nearly all chemistry data sets were kept behind paywalls, and everything involving reactions is unnaccessible. We aimed to help cure this by making it available to everyone; free chemistry for all!