RNA NNM Calculator
Client: Vasiliy Sim
(A colleague)
Deadline: August 2004
Project Description:
 |
| RNA NNM Calculator GUI Screenshot |
When I had my first summer time public art internship, Vasiliy was hanging around the college working on his comp in biochemistry. He approached me, wondering if I could design a custom tool that he could use to assist him with his comp. The program would take care of some redundant and cumbersome calculations. We agreed on a time span of just over two months.
To better explain this project, I will have to discuss a little bit about what the problem entailed. The program would have to deal with standard strands of RNA which contain any of the following nucleotides: A (Adenine), G (Guanine), C (Cytosine), or U (Uracil). These are the basic nucleotides which form a strand of RNA. Each pairing, AU, CG, and so forth in the RNA strand has a specific delta value which is either a positive or negative real number. There were also some other special values that needed to be checked for within the strand. For example, if the strand ended with the AU pairing then a certain extra delta value would have to be included in the delta calculations. Also the pairing between two RNA strands must also obey certain rules to be valid. In other words A usually pairs with U, on the other strand, and not G. The program also had to check for possible errors that could occur on the part of the user. It had to have the functionality to show the calculations for any of the three delta values so these calculations would be verified to confirm the accurateness of the program. He mentioned that it would be helpful to have the program output the results to a text file.
Basically, the program would take the input, which would be two separate RNA strands, check them for validity, and then calculate all three delta values, printing out the final result with the calculations included.
Project Solution:
I decided to write the program in Java because of the pre-existing Java GUI interfaces that I wouldn’t have to build from scratch. The design of the program took on the following steps. The data needed to determine the delta values for the pairing in the RNA strands was static in nature. This told me that I did not need to have the program update some form of database, making the task easier. I had the program read the values from a text file, which could be updated in case the user needed to change the values.
The program looked for the input file before calculating any values. This was being developed for non computer scientists so I had to take extra precautions to make sure that it was easy to use and bullet proof. To aid the user, I included an error message window that indicated the order of steps involved in using the program and also what action caused the error. The NNM Calculator would check both RNA strand fields to see if values were entered correctly and also perform similar checks for the other button operations. Once two strands were entered by the user, they would click the Calculate button. This would perform the math on the RNA strands and provide the user with the option of seeing the calculations, displayed in the center panel, by selecting the delta radio button of choice. Finally the program would output the calculations and delta values in a well formatted, easy to scan, text file for the user.
This task was completed to his satisfaction in early July, one month shy of the proposed deadline. I also took the liberty of writing an executable bat file for the program so it could be loaded on any machine that had the proper Java libraries installed. |