Sword  
  Freelance Projects
MatthewVisyak.com

Phylogenic Calculator

Client: Vasiliy Sim
(A Colleague)
Deadline: September 2004

Project Description:

Phylogenic Calculator Screenshot
Phylogenic Calculator GUI Screenshot

After the completion of the NNM Calculator project, I was rehired to create another program. This program would ultimately replace the faulty 1980’s DOS version that was installed on the machines in the biochemistry lab. This is explained in detail at the end of the project solution section.

Like the NNM Calculator project description, I think an explanation of the problem is warranted to understand the application. This program will take input from a file, containing several strands of RNA listed in a column format. Each of these strands is made up of the standard Nucleotide bases: A (Adenine), G (Guanine), C (Cytosine), U (Uracil), and X (Can be any nucleotide base). The program had to have the ability to choose a certain peak position over each RNA strand. For example the peak 234 would be over the second through the fourth nucleotides in the RNA strand (counting from the left to the right). Once this peak was chosen, the program would take in two strands entered by the user. If the peak position was the one we mentioned above, the strands had to be exactly three nucleotides each. The program would then use the strands entered by the user to match against each entry in the input file at the specified peak position. The program would return any matches it found, along with the percentage of positive matches within the input file. He also requested that the concurrent percentages of each consecutive run would be shown or written to a file. The output had to contain the matches that were found with the corresponding line location from the input file.

Project Solution:

This project offered a problem with dynamic data needs. Since there was a finite amount of peak locations and the client wanted a button interface, I created a button for each of the possible peak locations. This way the user could click on a peak button and not having to worry about valid peak entries. This gave the program enough information to check the strands entered to make sure the user has entered the correct number of nucleotides in each strand. Error detection also successfully identified typos and other common errors, including those found its own input file. A visual history of the first 12 runs of the program was included in a separate panel, however, all the trials were stored in a storage structure during the execution of the program. After the program was closed it would output the stored information to a file before terminating. This gave the user two methods of viewing data. Any runs that resulted in an error would not be included in the history to reduce the clutter in the output. A helpful clear button was added to clear the data fields in the program’s GUI.

Phylogenic Calculator becomes the new biochemistry lab program:

Once I completed this program, I was given a tour of the biochemistry laboratory where Vasiliy worked. He showed me the DOS program in the biochemistry computer lab. This outdated program operated through several command line prompts and a single error in data entry meant you would have to start the process over from the beginning. This program lacked any form of error checking, missing several critical errors within the input files.

I outfitted my program with robust error detection capabilities which checked for valid inputs and along with the correctness of data within the input file. This program had a user friendly aspect: allowing the user to make several runs, writing the data to a file, and also the ability to go back and correct typos without having to enter all the information again. For better or worse, my program had discovered two errors in a biochemistry comp that was written long ago, errors that went unnoticed by the DOS application.

My Phylogenic Calculator program gave clients the edge to perform more accurate research by checking the data. He was amazed at what the older DOS program had missed and mentioned my name to the chair of the biochemistry department, who was actively searching for a computer application developer.

The department chair hired me on the spot for creating tools to be used in his independent genetic engineering research. He also purchased a copy of my Phylogenic Calculator program to replace the current faulty DOS program in the labs.

     
Site Designed and Maintained by Matthew Visyak
2004 - 2011