Skip to content
This repository has been archived by the owner on Jan 8, 2023. It is now read-only.

Parent5446/cooper-redhen

Repository files navigation

##Cooper Union RedHen##
The RedHen project is a chemical analyis program developed by Cooper Union faculty, students and interns. It aims to centralize a database of spectra on the World Wide Web, which would be used to identify unknown compounds by their spectra graphs. Users would be allowed to submit a spectra to our RedHen website, which in turn compares it to Cooper Union's database of spectra and identifies the user-submitted spectra. Various kinds of algorithms will analyze the user-submitted sample and scour the database for the best match. Heuristics will be applied in conjuction with linear searches to ensure the best efficiency in your search while maintaining accuracy. Hosted on google.com's cloud servers, RedHen allows spectrum matching to be secure, reliable, fast, and free.

-- Overview --

The database is initially searched using a peak table, a heavyside heuristic, and a high-low table. The first of these is just a list of the highest peaks greater than a certain threshold in the graph. The second is a binary key generated by splitting the graph in half, seeing which side has more integrated data, assigning the appropriate bit, and then splitting that heavier side so the process can be repeated for the number of specified bits. The final heuristic is also a binary key, and it is assigned by giving a 0 or 1 to each section of the graph if the amount of integrated data in that section is greater than or less than the average value. Each of these heuristics votes on its proposed candidates

After the initial search, each of the candidates are compared to the user's input using a linear algorithm. RedHen uses least squares and Professor Bove's algorithm to complete this calculation. The results of this are then returned to the frontend for display to the user.

-- Installation --

Redhen was made to work under the Google App Engine environment. Edit the app name in the app.yaml file to match your app's name and deploy it. Users can then go to your app's URL, upload their spectra and have them compared against the database.

-- File Manifest --

app.yaml - Configuration file for Google App Engine
backend.py - Script for comparing spectra to the database
frontend.py - Script for generating the user interface
index.html - Base template for HTML

-- Troubleshooting --

RedHen is maintained through the Google Code Repository at http://code.google.com/p/cooper-redhen. Filing of bug reports and contact information for the developers can be done and found there.

For the change log see the separate CHANGELOG file.

About

Spectroscopy search engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published