Background -- About Open Reading Frames
When we translate DNA sequence into protein, it is important to decide which amino acid to start translation and when to stop, this is called an open reading frame
Every region of DNA has six possible reading frames, three in each direction. The reading frame that is used determines which amino acids will be encoded by a gene. Typically only one reading frame is used in translating a gene (in eukaryotes), and this is often the longest open reading frame. Once the open reading frame is known the DNA sequence can be translated into its corresponding amino acid sequence. An open reading frame starts with an atg (Met) in most species and ends with a stop codon (taa, tag or tga).
Here is one example of finding out the longest ORF:
The DNA sequence is: :
atgcccaagctgaatagcgtagaggggttttcatcatttgaggacgatgtataa
The three reading frames in the forward direction are shown with the translated amino acids below each DNA sequence. We use '*' to indicate the stop condons in the protein sequence.
1 atg ccc aag ctg aat agc gta gag ggg ttt tca tca ttt gag gac gat gta taa M P K L N S V E G F S S F E D D V * 2 tgc cca agc tga ata gcg tag agg ggt ttt cat cat ttg agg acg atg tat C P S * I A * R G F H H L R T M Y 3 gcc caa gct gaa tag cgt aga ggg gtt ttc atc att tga gga cga tgt ata A Q A E * R R G V F I I * G R C IHere frame 1 is the longest ORF.
You should use Java Applet. The DNA sequence is read in from a text area or a text field. There is a button in the Applet and it is called "update". After the DNA sequence is read in, the user will press the update button to get the update result of the longest ORF for the given DNA sequence. The genetic table is the same as the one in lab 2 and it can be found here .
This assignment is similar to the one that calculates the hydrophobicity. You can use part of that code if you want. But when you write this program, please make sure:
(1) Your code is readable. I mean, you should put comments when necessary and the blocks of your code should be clear. Points will be deducted if this requirement is not satisfied.
(2) I suggest you use two seperate classes for calculating the ORF and displaying the applet. Otherwise, it will be hard to debug the code when the Applet doesn't display correctly.
(3) Do this assignment step by step. I will discuss more about this in class.